Compiling a cloud services comparison is a daunting task in the rapidly-evolving cloud computing landscape. Not only are there thousands of cloud services and dozens of cloud service providers, each provider frequently changes or upgrades their service portfolio.
Therefore, we've chosen to limit our cloud services comparison to the top three IaaS providers providing a service in the Western Hemisphere—Amazon AWS, Microsoft Azure, and Google Cloud Platform—because not only are these the IaaS providers most businesses are familiar with, they're also the providers whose services most businesses want to compare.
The purpose of our cloud services comparison
The purpose of our cloud services comparison is to provide an illustration of the vast range of services available and the names given to them. As we compare cloud providers and cloud services, it'll become evident that there's very little distinguishing one cloud service provider from another except for the names given to services. Where significant differences exist, these are highlighted.
With regards to a cloud provider comparison for pricing, prices often change quicker than the services themselves. We recommend a review of the pricing pages of each provider´s website in order to compile an up-to-date pricing comparison for the services required—notwithstanding that advertised prices are most often subject to regional variations and discounts for off-peak, sustained, and committed use.
Top three cloud provider comparison of cloud compute services
To illustrate how vast the range of services is, we start our cloud services comparison with the cloud compute services offered by the top three cloud service providers. Within this category we find Virtual Machines (Instances/VMs) configured for General Purpose, Memory Optimization, Compute Optimization (including Accelerated Computing), and Storage Optimization. In addition to VMs, our comparison also encompasses Containers and Serverless Computing.
General Purpose Virtual Machines
General Purpose Virtual Machines provide balanced CPU-to-memory ratios and are ideal for testing and development, small to medium databases, and low to medium traffic web servers. This category of Virtual Machine includes “Burstable VMs” that run workloads using a fraction of the maximum available CPU capacity and bank excess capacity to cope with temporary increases in demand.
With some exceptions (i.e. Burstable VMs), all AWS and Azure General Purpose VMs have 4GiBs of memory per vCPU. Google Cloud's VMs also provide 4GiBs of memory per vCPU (even though memory sizes are quoted in GBs) plus—with Google Cloud—the option exists to create customizable VMs if the predefined sizes are not suitable for specific workloads.
Memory Optimized Virtual Machines
Memory Optimized Virtual Machines deliver high memory-to-CPU ratios suitable for relational database servers, medium to large caches, and in-memory analytics. As well as “regular” Memory Optimized VMs providing up to 8GiBs of storage per vCPU, all three providers in our cloud service comparison offer super-Memory Optimized VMs for large enterprises—providing up to 30GiBs of storage per vCPU.
Microsoft Azure also offers Memory Optimized VMs with “Constrained vCPUs.” These allow you to constrain the vCPU count to one half or one quarter of the original VM size in order to reduce the cost of software licensing, while maintaining the same memory, storage, and I/O bandwidth for database workloads such as SQL Server or Oracle. You can replicate this feature on Google with custom VM types.
Compute Optimized Virtual Machines
Compute Optimized Virtual Machines have a high CPU-to-memory ratio and are good for medium traffic web servers, network appliances, batch processes, and application servers. Typical use cases include:
- Scientific modeling
- Distributed analytics
- Machine/deep learning inference
- Ad serving
- Highly scalable multiplayer gaming
- Video encoding
In addition to "standard Compute Optimized Virtual Machines, all three providers in our cloud services comparison offer VMs configured for Accelerated Computing. Azure also offers what it calls High Performance Compute VMs, but these replicate the capabilities of higher-standard Compute Optimized Virtual Machines offered by AWS and Google Cloud.
Storage Optimized Virtual Machines
Storage Optimized Virtual Machines provide high disk throughput and I/O, and are ideal for Big Data, SQL, and NoSQL databases. AWS and Azure are fairly similar in their ranges of Storage Optimized VMs—respectively offering 7.625GiB and 8GiB of memory per vCPU. Google doesn’t offer a designated Storage Optimized VM option, but instead allows you to add one of the following to an existing VM:
- Zonal Standard (HDD) Persistent Disks, which are the slowest but cheapest, and better suited to data processing workloads that primarily use sequential I/Os
- Regional Standard Persistent Disks are the same as above but with synchronous replication across two zones in a region
- Zonal Balanced Persistent Disks are suitable for most general purpose applications at a price point between that of standard and SSD persistent disks.
- Regional Balanced Persistent Disks are the same as above but with synchronous replication across two zones in a region
- Zonal SSD Persistent Disks are faster and more suitable for enterprise applications and high-performance database workloads
- Regional SSD Persistent Disks are suitable for workloads that may not have application-level replication
- Local SSD Disks (available with SCSI or NVMe protocols) have much higher throughput and lower latency
Google’s approach gives more choice over how VMs are configured for storage, but there are tradeoffs. For example, Local SSD storage isn't automatically replicated and all data on the Local SSD may be lost if the Virtual Machine is terminated for any reason. You can add up to 24 Local SSD Drives with 375GiB of storage to each VM for a total of 9TiB of storage per VM.
When should you compare cloud providers for container services?
Containers are one of the most rapidly evolving areas of the cloud computing landscape. In early 2019, we anonymized and analyzed our customers' spend on AWS and identified a six-fold increase in spend on containers!
Whereas a few years ago, you could compare container services and find differences between what AWS, Azure, and Google Cloud offered, those differences have all but vanished. All three support VM-based and Kubernetes-based containers. All three offer container orchestrators, container registries, and tools to containerize and migrate existing applications as microservices.
Consequently, most cloud provider comparisons of container services conclude by suggesting customers use the container services being offered by the provider they're already deploying VMs with. However, if your organization is deploying containers at scale, it can be beneficial to compare cloud providers by price after taking committed use or committed spend discounts into account.
For a breakdown of container services offered by AWS, Azure, and GCP, see our in-depth article here: Comparing Cloud Container Services Across AWS, Azure, and GCP
Serverless Computing/Function-as-a-Service (FaaS) eliminates the need to provision, manage, or scale resources by allowing developers to upload code that performs a short-lived function when it's triggered by an event. Since customers only pay for the milliseconds when the function is executed, serverless computing can significantly reduce costs.
AWS' Lambda service leads the way in serverless computing due to supporting every programming language with its Runtime API, integrating with dozens of AWS services natively, or with other monitoring, visibility, and security tools via AWS Lambda Extensions. Presently, AWS is the only provider in our cloud services comparison to offer Provisioned Concurrency in order to keep functions initialized and hyper-ready to respond to an event.
|Comparison of Cloud Compute Services||AWS||Azure|
|Burstable VM Types||t4g||B||f1/g1|
|General Purpose VM types (latest generation)||m6g||Dv4/Dsv4||n2d-standard|
|Regular Memory Optimized VM types||r6g||Ev4/Esv4||n2d-highmem|
|Super Memory Optimized VM types||x1/z1d||Mv2||m1-ultramem|
|Compute Optimized VM types||c6g||Fsv2||c2-standard|
|High Performance Compute VM types||p3/g4/f1||HBv2/HC||clusters|
|Storage Optimized VM types||h1/i3/d2||Lsv2||n/a|
|Container services||ECS||ACI||Compute Engine|
|Kubernetes services||EKS||AKS||Kubernetes Engine|
|Serverless containers||Fargate||ACI||Cloud Run|
|Serverless computing||Lambda||Functions||Cloud Functions|
In this article, you can see step-by-step instructions for how to optimize and manage AWS Lambda functions across the three areas of excellence for cloud management: cloud operations, cloud financial management, and cloud security and compliance.
Comparison of cloud storage services
When it comes to a comparison of cloud storage services, cloud customers have historically chosen to use the storage facility offered by the service provider through which they provision Virtual Machines. Businesses now have more options available to them, particularly with data that's infrequently accessed.
Undoubtedly AWS' Simple Storage Service (S3) is the best known of all cloud storage services. However, understanding the different storage classes, different prices and different levels of fault tolerance can be complicated. Microsoft and Google have equally reliable and robust services.
You can see a detailed comparison of AWS, Azure, and GCP storage options and discounts in this article here: AWS vs Azure vs GCP: Discounts, Commitments, and Reservations
An explanation of cloud storage classes
In order to conduct a like-for-like comparison of cloud storage services, it's necessary to understand what the different cloud storage classes are. It's also important to be aware of other cloud storage services provided by AWS, Azure, and Google to avoid confusion when looking at the options. Here’s a quick breakdown, with the names given to each service featured in the table below.
- Block storage volumes are the units of storage attached to a Virtual Machine. They can be either locally or network attached and are treated as an independent disc drive.
- Object storage volumes store most types of data, which can be replicated across different regions and zones for durability and accessed via simple web services interfaces.
- File storage systems facilitate file shares in the cloud that allow servers and applications to access stored data through shared file systems.
- Infrequent Access storage is used for storing backup data and disaster recovery data you might need in a hurry but are unlikely to access on a frequent basis.
- Archive storage is most often used for storing data for compliance purposes. This class of cloud storage is intended for long-term data that can tolerate retrieval latency.
- Hybrid storage solutions are systems for moving inactive data to the cloud while maintaining business-critical and sensitive data on-premises to reduce physical storage requirements.
- Physical bulk data transport solutions are for physically moving large volumes of data from on-premises data centers to the cloud service providers´ data centers.
When calculating the cost of any cloud storage service, remember to include the costs of PUT, POST, COPY, and GET requests, and to account for minimum capacity charges or minimum duration charges. For example, AWS has a minimum 128KB capacity charge for its two Infrequent Access classes and a ninety-day minimum charge for its Glacier Archive Storage class.
|Comparison of Cloud Storage Services||AWS||Azure|
|Block storage||EBS||Azure Disks||HDD/SSD|
|Object storage||S3||Azure Blob||Standard|
|File storage||EFS||Azure Files||Filestore|
|Infrequent access storage 1||Standard-IA||Cool Blob||Nearline|
|Infrequent access storage 2||One Zone-IA||n/a||Coldline|
|Archive storage||Glacier||Azure Archive||Archive|
|Physical bulk data transport solution||Snow Family||Import/Export||Transfer App|
Comparison of cloud regions and availability zones
The number and locations of cloud regions and availability zones is an important consideration when selecting a cloud service provider—not only because the more extensive the network of data centers is, the less likelihood there is of latency, but also because extensive data center networks increase the options for replication and redundancy, and improve disaster tolerance in case of outages.
It was mentioned earlier in our cloud services comparison that cloud service prices are often subject to regional variations, and this is certainly true for latency-tolerant services such as Archive Storage—with prices differing by as much as 50% depending on where archive data is stored. However, possibly the most important reason for comparing network size is that the greater the number of regions and zones, the more likely it is a zone local to your business will support a full range of services.
Businesses operating in U.S. zones are likely oblivious to how limited some services are outside “primary” zones—and we're not talking about the outermost reaches of South-East Asia. For example, AWS' data centers in Ohio and Northern California don't offer the same range of services as the data centers in Northern Virginia or Oregon, and this may have implications for where an organization deploys resources or which services it uses.
Each of the providers in our cloud services comparison publishes a webpage of services available per region, and these are well worth reviewing. You can access the AWS webpage here, the Azure webpage here, and the Google webpage here. Each webpage is sortable by continent (Americas, Europe, or Asia Pacific).
|Comparison of Cloud Regions by Provider||AWS||Azure|
|Americas excluding U.S.A.||2||3||2|
Other factors to consider when you compare cloud services
Inasmuch as compute services and storage services—and their local availability—will be the primary considerations for most businesses when they compare cloud services and cloud service providers, some businesses may have other motives for conducting a cloud services comparison in order to take factors such as analytics, networking, databases, and DevOps tools into account.
Although a cloud provider comparison is undoubtedly a daunting task, the effort put into it can be rewarding in terms of cost reduction and enhanced performance. It's certainly a worthwhile exercise for businesses operating in a multi-cloud environment, who have the option of selecting some services from one provider and different services from other providers—subject to having the necessary mechanisms in place to manage the multi-cloud environment effectively.
For an even more in-depth comparison of AWS, Azure, and GCP services, we recommend you download our eBook: Comparing Services for the Big Three Cloud Providers