Geeky Duck

Guideline for choosing Amazon AWS, Microsoft Azure or Google Cloud Platform

Since the Cloud Computing has become popular over time, I have received quite a lot of questions in my inbox regarding the guideline for choosing a cloud hosting/platform. I hope most of you will find your answers here after reading this comparison.

Apparently, all the cloud hosting services out there are actually expensive if we compare the computing power with a dedicated server. However, it’s still a good move to use cloud hosting if you are ready to scale in the near future or handling unexpected traffic spike.

Overview

Microsoft Azure

Amazon Web Services (AWS)

Google Cloud Platform (GCP)

Founded Year

2010

2006

2011

Available Regions

36 Regions

18 Regions, 53 Zones

15 regions, 44 zones

Pricing

High

Highest

Lower Compared with AWS and Azure

Flexibility

High

High

Lower Compared with AWS and Azure

Obviously, Amazon AWS is already in the game of cloud since 2006. Google and Microsoft Azure come after 2010 but keep in mind that Older doesn’t mean better. Amazon AWS is current having the highest price compare with Google Cloud. (For choosing similar server, OS and specification)

Compute Power

Microsoft Azure

Amazon Web Services (AWS)

Google Cloud Platform (GCP)

Virtual Server

Virtual Machines

EC2

Compute Engine

Auto Scale

App Service AutoScaling

Autoscalling

Autoscalling

Virtual Server Disc

Page blobs, premium storage

Elastic block storage (EBS)

Persistent Disk

Job

Batch

Backend Processing Logic

Worker role, Functions, Logic Apps, Web Jobs

Lambda

Cloud Functions

Microservices

Service Fabric

Cloud Functions

Web Applications

Web Apps, Cloud Services

Elastic Beanstalk

App Engine

API Runtime

API Apps

Disaster Recovery

Site Reovery

Pros: Best region coverage, Started embracing Lunux, SSDs are available, first cloud microservices.

Cons: Less ease of use compared with the other two based on the general feedback from the internet communities.

Pros: IaaS Leader, wide region coverage, SSDs are available.

Cons: expensive, (get discount with reserved instance and paid up-front),

Pros: SSDs available, cost effective Premptible VMs, easy to understand and use.

Cons: only 5 regions avaialbe

Overall, AWS is the clear winner but make sure you have a deep pocket if you need the biggest instance.

Storage and Content Delivery

Microsoft Azure

Amazon Web Services (AWS)

Google Cloud Platform (GCP)

Object Storage

Blob Storage

S3

Cloud Storage

Shared File Storage

File Storage

Elastic file system

Archiving and Backup

Backup (software), Cool Blob Storage (storage)

Glacier & S3 (storage)

Cloud Storage Nearline (storage)

Data Transport

Import/Export

Import/Export Snowball

Content Delivery

CDN

Cloudfront

Cloud CDN

Pros: Blob storage similar to S3, Cool or Hot storage with different pricing, Cool storage is cheaper but with higher read/write cost, latency is the same, file sharing enabled,  Import/Export available for bulk data

Cons: Sanpshot of blob for versioning but not automated,

Pros: Flexible and cost effective storage, auto object versioning, possible to create file sharing, low latency.

Cons: expensive, (get discount with reserved instance and paid up-front),

Pros: automatic object versioning.

Cons:  no dedicated hybrid storage solutions and physical bulk data import/export is only available through third parties

Overall, AWS and Azure are clearly win in terms of storage and content delivery.

AWS and Google’s support for automatic versioning is a great feature that is currently missing from Azure.

If you use the common programming patterns for atomic updates and consistency, such as etags and the if-match family of headers, then you should be aware that AWS does not support them, though Google and Azure do

WARNING: Storage has never been cheaper with headline storage costs looking ridiculously cheep, but pricing can quickly get complicated and unpredictable especially if you plan to move large volumes of data. For object storage all three providers charge per GB of data stored plus a request charge (depending on the nature of the request) plus an egress charge per GB. Storage and egress charges will vary depending on the amount of data involved.

Database

Microsoft Azure

Amazon Web Services (AWS)

Google Cloud Platform (GCP)

Relational Database

SQL database

RDS

Cloud SQL

NOSQL Database

DocumentDB

Dnynamo DB

Cloud Datastore

Data Warehouse

SQL Data Warehouse

Redshift

BigQuery

Table Storage

Table Storage

SimpleDB

Cloud Bigtable

Caching

Azure Redis Cache

ElasticCache

Memcache (App Engine)

Database Migration

SQL Database Migration Wizard

Database Migration Service

Pros: fully featured cloud database offering active geo-replication, fully automatic backups with point-in-time restore. Pros: RDS offers a range of managed databases, RDS takes care of provisioning, patching and day to day maintenance, Pros: automatic object versioning, .

Cons: somewhat limited range of database images.

All three providers boast impressive relational, no-sql and petabyte scale data warehouse offerings. RDS supports an impressive range of managed relational stores while Azure SQL Database is probably the most advanced managed relational database available today. Google has limited range of database images.

Analytic and Big Data

Microsoft Azure

Amazon Web Services (AWS)

Google Cloud Platform (GCP)

Big Data Processing

HDInsight

Elastic MapReduce (EMR)

Cloud Dataproc

Analytic

Stream Analytics, Data Lake Analytics, Data Lake Store

Kinesis Analytics

Cloud Dataflow

Visualization

Power BI

QuickSight

Cloud Datalab

Machine Learning

Machine Learning

Machine Learning

Cloud Machine Learning, Prediction API

Intelligent API

Cognitive Services (Language, Speech, Vision, Knowledge)

Translate, Speech, Vision

Data Discovery

Data Catalog

Pros: Predictive analytics is possible through Machine Learning, support large scale data ingestion, simple pricing model that is based on the number and type of nodes running, Azure Machine Learning is a fully managed data science platform that is used to build and deploy powerful predictive and statistical models Pros: Predictive analytics is possible through Machine Learning, support large scale data ingestion. Pros: Cloud Dataproc is Google’s fully managed Hadoop and Spark offering.

Machine Learning as a fully managed platform for training and hosting Tensorflow models

AWS certainly has all the bases covered with a solid set of products that will meet most needs. Minor omissions include pre-trained machine learning models and managed lab notebooks but otherwise AWS scores highly across the board.

Azure offers a comprehensive and impressive suite of managed analytical products. They support open source big data solutions alongside new serverless analytical products such as Data Lake. Azure is very strong in the machine learning space, offering pre-trained models through to custom R models running over big data, and is the only provider to offer the capability for organisations to track and document their data assets.

Google provide their own twist to cloud analytics with their range of services. With Dataproc and Dataflow, Google have a strong core to their proposition. Tensorflow has been getting a lot of attention recently and there will be many who will be keen to see Machine Learning come out of preview. Google has a strong rich set of pre-trained APIs but lacks BI dashboards and visualisations.

Application Services

Microsoft Azure

Amazon Web Services (AWS)

Google Cloud Platform (GCP)

Email Address

Simple Email Service

Email Service (App Engine)

Messaging

Queue Storage

Service Bus Queues

S.B. Topics

S.B Relay

Simple Queue Service

Simple Notification Service

Cloud Pub/Sub

Task Queue (App Engine)

Workflow

Logic Apps

Simple Workflow Service

App testing

Xamarin Test Cloud (front end)

Azure DevTest Labs (back-end)

Device Farm (front end)

Cloud Test Lab (front & back-end)

API Management

API Manager

API Gateway

Cloud Endpoints

Application Streaming

RemoteApp

App Stream

Media Transcoding

Encoding

ElasticTranscoder

Pros: Push notification available via Notification Hubs Pros: There are no charges for using Mobile Hub, only the underlying AWS services that are consumed. Google’s mobile offering is based on Firebase. Firebase is a dedicated platform for building mobile and IoT solutions. It comes with a set of tailored mobile backend services and client SDKs for Andriod, iOS, JavaScript and C++.

AWS and Azure have a more coherent message with their products clearly integrated into their respective platforms, whereas Google Firebase feels like a distinctly separate product.

Conclusion

After comparing the three cloud platforms in terms of maturity, flexibility, cost effecttiveness and scalability AWS Still the winner after all. It takes time to learn about how to best use AWS, and many times requires organizations to pay for experts to help them, either from AWS or a third-party consultancy. Fortunatetly, AWS has great consultation service and it’s always available when you need to implement large scale web application. AWS is constantly innovating, which is a good for the industry, but it’s difficult for customers to keep up with all the changes sometime. Despite all these challenges, AWS has emerged as the “safe choice” for using the cloud, Gartner says.

Unlike AWS, Azure does not use the concept of Availability Zones even though Azure is available over 36 regions . While Microsoft has a broad and growing international data center footprint, backing up workloads across regions is slightly more difficult in Azure versus AWS.

It’s also more difficult to find experts, consultants and third-party platforms that run on Azure. In the latest Gartner IaaS Magic Quadrant, the research firm called Azure “good enough” for most enterprise workloads.

Google has the longest way to go among the three providers in terms of reaching out and interacting with enterprise clients. This is Microsoft’s strength, and it’s taken AWS almost a decade to build relationships and convince enterprises that it is a trusted partner.