Compiling a cloud services comparison is a daunting task in the rapidly-evolving cloud environment. There are thousands of cloud services, hundreds of cloud service providers, and dozens of Infrastructure-as-a-Service (IaaS) providers offering pay-as-you-go pricing models—each one frequently changing and upgrading their portfolios.
We have 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 are also the IaaS 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 progress through the cloud services comparison, it will become evident there is very little distinguishing one cloud service provider from another except the names given to services. Where significant differences exist, these are highlighted.
With regard to a cloud services pricing comparison, 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.
Comparison of Cloud Compute Services
To illustrate how vast the range of services is, we start our cloud services comparison with a comparison of cloud compute services. Within this category we find Virtual Machines (Instances/VMs) configured for General Purpose, Memory Optimization, Compute Optimization, and Storage Optimization. In addition to Virtual Machines, 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 save excess capacity to cope with temporary increases in demand.
Both AWS´ and Azure´s General Purpose VMs have 4GiBs of storage per vCPU, whereas Google´s standard General Purpose VMs have 3.75 GBs of storage per vCPU. As 1 Gibibyte (GiB) is the equivalent of 1.0737 Gigabyte (GB), AWS and Azure offer better storage ratios. However, with Google Cloud you have the option of creating custom VM types to meet your specific requirements.
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 is 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 Modelling.
- Distributed Analytics.
- Machine/Deep learning Inference.
- Ad Serving.
- Highly Scalable Multiplayer Gaming.
- Video Encoding.
There are different sub-classes of High-Performance Compute VMs within the Compute Optimized category depending on whether you are running high-graphics, AI or deep learning workloads, or need to support memory intensive computational workloads. It is important to note not every High-Performance Compute service is available in every region at the present time.
Storage Optimized Virtual Machines
Storage Optimized Virtual Machines provide high disk throughput and IO, 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:
- Standard Persistent Discs, which are the slowest but cheapest.
- Regional Persistent Discs, which are equally as slow but with better redundancy.
- Standard SSD Discs, which are faster and necessary for high rates of random IOPS.
- Regional SSD Discs, suitable for workloads that may not have application-level replication.
- Local SSD Discs, which have much higher throughput and lower latency.
Google’s approach probably gives more choice over how VMs are configured for storage, but there are a few tradeoffs. For example, local SSD storage is not automatically replicated and all data on the local SSD may be lost if the Virtual Machine terminated for any reason. You can add up to eight Local SSD Drives with 375GB of storage space to each Virtual Machine for a total of 3TB of storage per VM.
A Comparison of Container Services on AWS, Azure and Google
Containers is one of the most rapidly evolving areas of the rapidly-evolving cloud—so much so that Gartner has predicted “by 2020, more than 50 percent of global organizations will be running containerized applications in production, up from less than 20 percent today.” All three cloud service providers offer some form of container service, but there are some differences in their level of service.
For example, AWS is considered to be more secure, reliable, and scalable, but difficult to use for new developers unfamiliar with container services and Kubernetes. Azure is more intuitive for Windows developers—but does not support hybrid containers—whereas Google is usually first-to-market with new features and the least expensive of the three once discounts are taken into account.
Serverless Computing/Function-as-a-Service (FaaS) is cloud computing´s “New Kid of the Block.” It eliminates the necessity to provision, manage, or scale resources by allowing developers to upload code that performs a short-lived function when it is triggered by an event. As businesses only pay for the milliseconds when the function is executed, serverless computing can significantly reduce costs.
AWS leads the way in serverless computing, although Azure is catching up quickly. Google lags some way behind and is the most expensive of the three cloud service providers once the free tier of two million requests/400,000 GB of compute seconds per month is surpassed. Google also restricts projects to fewer than twenty triggers, and these have to be primed via its Cloud Pub/Sub service.
Comparison of Cloud Storage Services
When it comes to a comparison of cloud storage services, businesses have historically chosen to use the storage facility offered by the service provider through which they provision Virtual Machines. Now the management of multi-cloud environments has become less complicated, businesses have more options available to them—particularly with regard to data that is 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, and—especially with regard to frequently accessed data—just about beats AWS for price.
An Explanation of Cloud Storage Classes
In order to conduct a like-for-like comparison of cloud storage services, it is necessary to understand what the different cloud storage classes are. It is 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 Archive Storage class.
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 cases 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, 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. Central Zones are likely oblivious to how limited some services are outside “primary” zones—and we are not talking about the outermost reaches of South-East Asia. For example, AWS´ data centers in Ohio and Northern California do not support Amazon Elastic Container Services for Kubernetes (EKS). If you want to use these services, you will have to run them via Northern Virginia or Oregon—which may also have implications for other cloud services you wish to take advantage of.
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) and Microsoft also conveniently allows you to expand/collapse different service ranges.
Other Factors to Consider in a Cloud Services Comparison
Inasmuch as compute services and storage services—and their local availability—will be the primary considerations for most businesses when comparing 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 compiling a cloud services comparison is undoubtedly a daunting task, the effort put into it can be rewarding in terms of cost reduction and enhanced performance. It is 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.