AWS, Azure or Google: Do the differences between cloud providers really matter?
Limited Time Offer!
For Less Than the Cost of a Starbucks Coffee, Access All DevOpsSchool Videos on YouTube Unlimitedly.
Master DevOps, SRE, DevSecOps Skills!
Source:-
When evaluating public cloud providers, it is easy to get hung up on the differences. AWS, Microsoft Azure, and Google Cloud each have their own terminology, pricing, service catalog, and purchasing variations. But do these differences ultimately matter?
Compute options
Though we are able to align comparable products across AWS, Azure, and Google Cloud, there are of course differences between these offerings. In fact, with the number of products and services available today (weâve counted 176 from AWS alone), comparing each is beyond the scope of this article.
For our purposes, we can compare what is still the core product for cloud service providers: compute. Compute products make up about two thirds of most companiesâ cloud bills, so the similarities and differences here will account for the core of most usersâ cloud experiences.
Hereâs a brief comparison of the compute option features across cloud providers:
Of course, if you plan to make heavy use of a particular service, such as Function-as-a-Service/serverless, youâll want to do a detailed comparison of those offerings on their own.
Pricing
That covers functionality. How do the prices compare? One way to do this is by selecting a particular resource type, finding comparable versions across the cloud providers, and comparing prices. Hereâs an example of a few instancesâ costs as of this writing (all are Linux OS):
For more accurate results, pull up each cloud providerâs price list. Of course, not all instance types will be as easy to compare across providers â especially once you get outside the core compute offerings into options that are more variable, more configurable, and perhaps even charged differently (in fact, AWS and Google actually charge per second).Â
Note that AWS and Azure list distinct prices for instance types with the Windows OS, while Google Cloud adds a per-core license charge, on top of the base instance cost.
The table above represents the default On Demand pricing options. However, each provider offers a variety of methods to reduce these base costs, which weâll look at in the Purchasing Options section.
Terminology
At first glance, it may seem like the cloud providers each have a unique spread of offerings. But many of these products and services are quite similar once you get the names aligned. Here are a few examples:
Obviously, this is not a sign of substantive differences in offerings â and just goes to show that the providers are often more similar than it might appear at first glance.
Purchasing options
Comparisons of the myriad purchasing options are worth several articles on their own, so Iâll keep it high level here. These are the most commonly used â and discussed â options to lower costs from the listed On Demand prices for AWS, Microsoft Azure, and Google Cloud.
Reservations
Each of the major cloud providers offers a way for customers to purchase compute capacity in advance in exchange for a discount: AWS Reserved Instances, Azure Reserved Virtual Machine Instances, and Google Committed Use discounts. There are a few interesting variations, for example, AWS offers an option to purchase âConvertible Reserved Instancesâ, which allow reservations to be exchanged across families, operating systems, and instance sizes. On the other hand, Azure offers similar flexibility in their core Reserved VM option. Google Cloudâs program is somewhat more flexible regarding resources, as customers must only select a number of vCPUs and memory, rather than a specific instance size and type.Â
What about if you change your mind? AWS users have the option to resell their reservations on a marketplace if they decide theyâre no longer needed, while Azure users will pay a penalty to cancel, and Google users cannot cancel.
Spot and preemptible instances
Another discounting mechanism is the idea of spot instances in AWS, low-priority VMs in Azure, and preemptible VMs, as theyâre called on Google. These options allow users to purchase unused capacity for a steep discount. The cost of this discount is that these instances can be interrupted (or perhaps Azure puts it best with their âevictedâ term) in favor of higher priority demand â i.e. someone who paid more. For this reason, this pricing structure is best used for fault-tolerant applications and short-lived processes, such as financial modeling, rendering, and testing. While there are variations in the exact mechanisms for purchasing and using these instance types across clouds, they have similar discount amounts and use cases.
Sustained use discounts
Google Cloud Platform offers another cost-saving option that doesnât have a direct equivalent in AWS or Azure: Sustained Use Discounts. This is an automatic, built-in discount for compute capacity, giving you a larger percentage off the more you run the instance. Be aware that the GCP prices listed can be somewhat misleading, as a sustained use discount is already built in, assuming full-month usage â but it is nice to see the cloud provider looking after its customers and requiring no extra cost or work for this discount. Â
Contracts
A last sort of âpurchasing optionâ is related to contract agreements. With all three major cloud providers, enterprise contracts are available. Typically, these are aimed at enterprise customers, and encourage large companies to commit to specific levels of usage and spend in exchange for an across-the-board discount â for example, AWS EDPs, Azure Enterprise Agreements. As these are not published options and will depend on the size of your infrastructure, your relationship with the cloud provider, etc., itâs hard to say what impact this will have on your bill and how it will compare between clouds.Â
The ‘it’ factor
Thereâs also just the pure perception of the differences between cloud providers.
For instance, some may perceive Azure as a bit stodgy, while Google Cloud seems slick but perhaps less performant than AWS. Some appreciate AWS and Azureâs enterprise support more and find Google Cloud lacking here, but this is changing as Google onboards more large customers and focuses on enterprise compatibility.
There are also perceptions regarding ease of use, but actually, we find these to be most affected by the platform youâre used to using. Ultimately, whatever youâre most familiar with is going to be the easiest â and any can be learned.
Do the differences really matter?
On some of the factors we went through above, the cloud providers do have variations. But on many variables, the providers and their offerings are so similar as to be equivalent. If thereâs a particular area thatâs especially important to your business (such as serverless, or integration with Microsoft applications), you may find that it becomes the deciding factor.
The fact of the matter is, youâre likely to be using multiple clouds soon, if youâre not already â so you will have access to the advantages of each provider. Additionally, applications and data are now more portable than ever due to containers.
So, prepare yourself and your environment for a multi-cloud reality. Build your applications to avoid vendor lock-in. Use cloud-agnostic tools where possible to take advantage of the benefits of abstraction layers.Â
Even if youâre only considering one cloud at the moment, these choices will benefit you in the long run. And remember: if your company is telling you to use a specific cloud provider, or an obscure requirement drives you to one in particular â donât worry. The differences donât matter that much.