The popularity of cloud configurations usage instead of self-hosted infrastructures is growing fast during the past years. Choosing to move to the cloud, companies get an existing physical infrastructure and from this point they do not need to think about updates, maintaining and other related things. This is a huge positive, which allows concentrating on developing your applications.
There are three key players in this area: Microsoft Azure, Amazon Web Services (AWS) and Google Cloud Platform (GCP). All of them invest heavily in their services and work intensively to provide more powerful and unique services for the end customers. Anyway, choosing between your existing infrastructure and moving to the cloud is not an easy or quick decision, and even if you choose the second option, there is still the question of choosing a proper cloud infrastructure. Discussions around selecting the best platform do not end. Mostly, the choice depends on your business needs and, of course, your opinion and inner convictions.
Nevertheless, it is always a good idea to take a look at different solutions to keep abreast of new changes and improvements, which can potentially optimize your products. That is why, in this article, we will talk about services, provided by these three most used cloud platforms and compare them in a general manner. No matter whether you have worked with only one of them, have not worked with any, or you are just looking through them – it is always useful to look around, know alternatives, pros, and cons of each of them.
Let us make a concise introduction for each platform before we jumpstart the comparison, to make a general impression of them.
Microsoft Azure Basics
Microsoft Azure is an open, flexible, reliable cloud computing platform. It provides a wide variety of services, including AI services, computing, networking, Windows, Linux, and container compatibility and much other goodness with a friendly user interface on top of that all. It was initially released in early 2010 and since then it has rapidly grown and became one of the industry leaders.
Amazon Web Services Basics
Amazon Web Services (AWS) is a cloud services platform, offering a great variety of cloud-based products. It is also an older platform compared to GCP or Microsoft Azure because it was commercially launched in 2006. Today, AWS provides a broad set of services, such as computing power, networking, databases, and other functionality created to help your businesses grow.
Google Cloud Platform Basics
Google Cloud Platform is a bundle of cloud computing services powered by Google. All these services run on the same infrastructure that Google uses internally for its products. It was launched in November 2011 for wide official use (in a preview mode it was available since 2008). Since that time Google has added many new services and become one of the top public cloud vendors.
When you choose something, it is sanely to highlight important elements, which will factor into your decision, such as required services, budget, support, etc. and compare them. Such comparison ensures that your decision will fit all your needs and lead your business to success. So far as this is a general overview, we selected common categories, which will be reviewed hereafter.
One of the key aspects influencing the choice is the price. Generally, the price is roughly comparable, which is caused by a competitive struggle between the providers. Due to the variety of services, pricing models and temporal discounts, it is not easy to make a fair comparison. All of the three propose free tiers (“introduction” and always-free one with strict usage) and credits, allowing customers to try provided services before starting to pay. Below is showed a small comparison table for the platforms.
|Free 12 months access|
|Always free products|
|Reserved Virtual Machine Instances|
When you are faced with a choice of selecting the right platform for the real project, unlike of general overview, comparing would be more correct and accurate, because you can pick your requirements and compare them one by one. We will show a more general comparison of these platforms’ compute possibilities below in the table.
|Virtual servers||Virtual Machines (Windows or Linux servers)||Amazon Elastic Compute Cloud (Amazon EC2)||Compute Engine|
|Processors in VM|
|Maximum Processors in VM||384 vCPU (SAP HANA on Azure Large Instances for CentOS or Ubuntu Linux) or 128 vCPU for all other||224 vCPU (High memory instances)||160 vCPU (Memory-optimized machine type)|
|Minimum Processors in VM||1 vCPU||1 vCPU||1 vCPU|
|Maximum Memory in VM||8192 GiB (SAP HANA on Azure Large Instances for CentOS or Ubuntu Linux) or 3892 GiB for all other||3904 GiB (Memory-optimized X1e instances for memory intensive enterprise applications)||3844 GB (Memory-optimized machine type)|
|Minimum Memory in VM||1 GiB||0.5 GiB||0.60 GB|
|Supported CPU Platform|| Intel Xeon E5-2673 v3 2.4GHz (Haswell)|
Intel Xeon E5-2673 v4 2.3GHz (Broadwell)
Intel Xeon E-2176G 3.7GHz
Intel Xeon Platinum 8168 (SkyLake) 2.7 GHz
Intel Xeon Platinum 8168
AMD EPYC 7551
Intel Xeon E7-8890 v3 2.5GHz (Haswell)
| Custom built AWS Graviton Processor|
2.5 GHz Intel Xeon Platinum 8175
3.0 GHz Intel Xeon Platinum
2.5 GHz AMD EPYC 7000
2.3 GHz and 2.7 GHz Intel Xeon E5-2686 v4 (Broadwell)
2.4 GHz Intel Xeon E5-2676 v3 (Haswell)
2.9 GHz Intel Xeon E5-2666 v3
3.1 GHz Xeon Platinum 8000 series (Skylake-SP)
Intel Xeon E7-8880 v3 (Haswell)
Intel Xeon Platinum 8176M (Skylake)
Intel Xeon Scalable up to 4.0 GHz
| Intel Xeon Scalable Processor (Skylake)|
Intel Xeon E7 (Broadwell E7)
Intel Xeon E5 v4 (Broadwell E5)
Intel Xeon E5 v3 (Haswell)
Intel Xeon E5 v2 (Ivy Bridge)
Intel Xeon E5 (Sandy Bridge)
|Operating system supported||CentOS, Ubuntu, SUSE Enterprise Linux Server (SLES), Windows, Windows Server, Oracle Linux, Debian, Red Hat Enterprise Linux (RHEL), Container Linux||Amazon Linux, Ubuntu, Windows Server, Red Hat Enterprise Linux (RHEL), SUSE Linux Enterprise Server, Fedora, Debian, CentOS, Gentoo Linux, Oracle Linux, FreeBSD||CentOS, CoreOS, Debian, Red Hat Enterprise Linux (RHEL), SUSE Enterprise Linux Server (SLES), Ubuntu, Windows Server|
|Application scaling||Azure Autoscale, Virtual Machine Scale Sets||AWS Auto Scaling||Instance Groups|
*Please, note that in memory comparison row, the values for the GCP are in GB and for Azure and AWS in gibibyte (GiB); 1GiB ≈ 1.074GB. Official Microsoft Azure site indicates that the maximum memory in VMs depends on regions and selected operating system.
** Supported platforms are valid at the moment of writing the article and show the available set of platforms from the official sites; for some of the plans, there are no mentions of CPU platforms.
*** Supported operating systems are valid at the moment of writing the article and show the available set of them from the official sites.
Where the data is physically stored is crucial for customers. The main point to consider is the latency on your user experiences, because, high latency can push many users away from the use. One of the factors, which can optimize latency, is a distance between the user’s internet service provider and the virtual machine instance.
Availability Zones also protects your applications and data from datacenter failures. They are unique physical locations within a region and each zone is made up of one or more data centers equipped with independent power, cooling, and networking. You can choose where to locate your applications to meet your latency, availability and durability requirements.
The table below shows which regions (with geographical location in alphabetical order) are supported by these three cloud providers.
*Azure also has Azure Government regions in Virginia, Iowa, Arizona, and Texas. Azure Government delivers a dedicated cloud empowering government agencies and their partners to transform mission-critical workloads to the cloud.
**Amazon also has cloud region in the USA consigned to host sensitive data, regulated workloads, and address the severe U.S. government security and compliance requirements. It is only accessible to vetted U.S. entities and root account holders, who must confirm they are U.S. persons to get access to these regions.
List of the supported database types is also an important detail when you choose a cloud instance for your application. Obviously, each of the clouds has its nuances and you will need carefully review all the provided possibilities by them based on your needs. In the table below we showed, in outline, which of the databases are supported to provide an overall picture of the possibilities.
|NoSQL (Indexed)||Azure Cosmos DB||DynamoDB|| Cloud Datastore|
|NoSQL (Key-value)||Table Storage||DynamoDB||Cloud Datastore|
|MS SQL support||Azure SQL Database||Amazon RDS||Available only SQL Server|
|SQL Server||SQL Server on Virtual Machines||Amazon RDS||SQL Server|
|MySQL support||Azure Database for MySQL||Amazon RDS|
|PostgreSQL support||Azure Database for PostgreSQL||Amazon RDS|
|MariaDB support||Azure Database for MariaDB||Amazon RDS||Through Virtual Machine|
|Oracle BYOL||Through Virtual Machine images published by Oracle in the Azure Marketplace||Amazon RDS||–|
|Data warehouse||SQL Data Warehouse||Amazon Redshift||Google BigQuery|
|Database migration||Azure Database Migration Service||AWS Database Migration Service||Google Cloud Data Transfer|
|Cache||Azure Cache for Redis||Amazon ElastiCache||Google Cloud CDN|
Storage is one of the main features of cloud services and for some applications can be the major dependency. The table below shows the basis of services by cloud storage.
|Archive Storage||Azure Archive Storage|
Azure Cool Storage
Amazon S3 Glacier
|Nearline & Coldline|
|Hybrid Storage||StorSimple||AWS Storage Gateway||Egnyte|
|Backup||Azure Backup||Object (Amazon S3 and Amazon Glacier),|
file (Amazon Elastic File Service)
and block (Amazon Elastic Block Storage)
|Bulk data transfer||Azure Import/Export service|
Azure Data Box Disk
|AWS Import/Export Disk|
Security has always been the crucial feature, that is why in the table below is shown the basic services overview is introduced.
|Authentication and Authorization|| Azure Active Directory|
Role-based access control (RBAC)
| AWS Identity and Access Management (IAM)|
| Cloud Identity & Access Management (Cloud IAM)|
Cloud Identity-Aware Proxy (Cloud IAP)
|Data Encryption|| Azure Storage|
| AWS Key|
|Firewall||Azure Firewal||AWS WAF – Web Application Firewall||-**|
|Cloud Services with Protection||Azure DDoS Protection||AWS Shield||Cloud Armor|
*Google Cloud Storage actually does not have similar service as Azure and AWS have. It always encrypts data on the server side and you only can add an additional encryption level on the top of it with your encryption key. There are a lot of restrictions for using this customer-supplied key, for example, not all services support this feature, they are not available for all countries, and so on. The major restriction is that you cannot set a default customer-supplied encryption key for a bucket, only for a specific object.
**This feature is only available as firewall rules, which allows or denies traffic to and from your virtual machine instances based on a specified configuration.
Each enterprise has its own needs and there is no one-size-fits-all service for each of them and their applications. To make a clear decision you need to conduct comprehensive research or even some platform testing (if you have time and resources for that), relying on all dependencies and limits which you have. Only after that, you can find a balanced compromise solution. This article was created to provide a general comparison and understanding of services, to identify weak points at the initial stage of selection and to provide a starting point in detailed services research. We would also like to note that there is a multi-cloud approach, which involves the use of different cloud providers within different parts of operations or for various use cases.
As we all know, being ahead of the latest technology is a key for staying on the top, that is why all of these companies continuously upgrading and increasing the number of provided services. You should always keep in mind this fact, when comparing these providers, because, when you choose one service, no guarantees that next time it will remain the best choice. Summarizing, below is shown the market share of the leading cloud providers for the 3rd quarter of 2018, provided by Synergy Research Group.
Cloud infrastructure services market share(Iaas, PaaS, Hosted Private Cloud)
Worldwide Market Share – Q3
- Rest of Market
As a software development company, we have a huge experience in hosting solutions via cloud platforms. One of our biggest solutions for recruitment and job search is hosted on the Azure platform and used a set of various Azure functionality such as Azure search, Redis Cache for Azure, Azure Jobs, media storages, and so forth. Based on our expertise, we can say that Azure is a stable, flexible cloud platform, which provides a lot of great functionality and supports people, who want to migrate to Azure or want to know about it a little bit more.
We also employed AWS for a large number of our projects written on different programming languages and for different spheres of usage, from Startups & Innovation to Media & Entertainment. For some of them, we used it because of our client’s desire, for another because it is a mature, reliable platform, trusted by many users.
As for the Google Cloud Platform, we have experience in the successful adoption of Google Cloud Messaging platform for cleaning agency startup.
In any case, if you have an idea you can rely on us the implementation and we will find the best solution to serve your needs!