AWS, Azure and GCP Compute Service Comparison

August 19, 2022 | 10 min Read

Introduction

alter-text
Comparison and Analysis

When we try to decide which platform to use in our projects, we must know that we have to make a lot of efforts and to deploy a project we need computing power. Most companies prefer physical centers, but these require investment in hardware, software, facilities and having trained personnel for all the maintenance of the Data Center.

And in these cases is where all types of cloud technologies come in, which has made available world-class computing power services to all types of users, from world-renowned companies to students taking their first steps in development, everyone can access first-class infrastructure at low cost.

In this sense, there are 3 companies that dominate the world of Cloud Computing: Microsoft Azure, Google Cloud Platform and Amazon Web Service, each with a wide range of products that offer a variety of functions.

COMPARATIVE (General Service at a Glance)

alter-text
Comparative at a Glance

Amazon Web Service (AWS)

With a multitude of tools that continues to grow exponentially, Amazon’s capabilities are unmatched. However, its cost structure can be confusing at first, and its singular focus on public cloud rather than hybrid cloud or private cloud means that interaction with your data center is not AWS’ top priority.

alter-text
Amazon Web Service

Microsoft Azure

It’s a close competitor to AWS with fantastic cloud infrastructure. If you’re an enterprise customer, Azure is what you need; few companies have the enterprise experience (and Windows support) as Microsoft. Azure knows that you probably still have a data center, and the Azure platform works hard to interact with data centers; hybrid cloud is one of Azure’s strengths.

alter-text
Microsoft Azure

Google Cloud Plataform (GCP)

A well-funded startup, Google entered the cloud market later and doesn’t have the enterprise focus that helps to attract corporate customers. But its technical expertise is deep, and its industry-leading artificial intelligence and data analytics tools are significant advantages.

alter-text
Google Compute Engine

Computing families in terms of Memory and CPU

AWS Compute

Among AWS’ best of breed services is EC2 (Elastic Compute Cloud) this computing service is a web service that provides secure, self-scalable compute capacity in the cloud.

EC2 offers a full range of options, including many instance types for Windows and Linux Operating Systems, base instances, GPU instances, high-performance computing, auto-scaling and more. AWS also offers a free tier for EC2 that includes 750 hours per month for a maximum of 12 months.

Container services: Within the compute category, Amazon’s various container services are rising in popularity, as well as virtualization options such as Docker, Kubernetes and its own service, such as Fargate, which automates server and cluster management when using containers. AWS also offers a virtual private cloud service known as Lightsail, Batch for batch computing jobs, Elastic Beanstalk for running and scaling web applications, as well as some other services.

Microsoft Computing

In this field Microsoft introduces Virtual Machines, where Microsoft’s primary computing service is known simply as virtual machines. It has support for Linux, Windows Server, SQL Server, Oracle, IBM and SAP, as well as enhanced security, hybrid cloud capabilities and integrated support for Microsoft software. Like AWS, it has an extremely large catalog of available instances, including GPU and high-performance computing options, as well as instances optimized for AI and Machine Learning. It also has a free tier with 750 hours per month of Windows or Linux B15 virtual machines for one year.

As its competitor it has many additional services. Azure’s version of auto-scaling is known as Virtual Machine Scale Sets, and you have two container services.

  • Azure Container Service: based on Kubernetes and Container Services, uses Docker Hub.
  • Azure Container Registry: for management, it has a Batch service and cloud services for scalable web applications similar to AWS Elastic Beanstalk. It also has a unique offering called Service Fabric that is specifically designed for applications with microservices architecture.

Google Cloud Platform Computing

Compute Engine: in comparison, Google’s portfolio of computing services is somewhat shorter than that of its competitors. Its main service is called Compute Engine, which features custom and predefined machine types, per-second billing, Linux and Windows support, automatic discounting, and carbon-neutral infrastructure that uses half the energy of typical data centers. It offers a free level that includes one f1-micro instance per month for a maximum of 12 months.

Focus on Kubernetes: Google also offers a Kubernetes engine for organizations interested in deploying containers. Like all leading cloud providers, it is configured to offer containers and microservices, and it is worth noting that Google has been heavily involved in the Kubernetes project, giving it additional expertise in this area.

Next we’ll look at compute services for all three providers:

Computing costs

One of the great benefits of Cloud service providers like AWS is their competitive and flexible pricing strategies.

At the beginning, people used to pay per monthly usage, but things are changing and moving towards the trend of charging per second and per computational power. In this section we will break down the costs for each of the cloud providers.

AWS Pricing

With AWS there is no need to buy expensive solutions that later only charge us a lot of money, with AWS we only need to adjust our virtual machine and the AWS cloud will adapt according to the requirements we need, so that we pay only for what we use.

Amazon may be ideal for placing large databases in the cloud but when it comes to uploading applications, the Microsoft Azure cloud is better equipped.

These AWS pricing details are useful because cloud levels vary widely between Google and Azure, and it’s good to compare them with the requirements we need for our project.

We also have the Total Cost of Ownership (TCO) which is important when building a business case and getting a better estimate of what is needed to meet our needs.

Microsoft Pricing

Same as AWS, Microsoft has many compelling elements, depending on the needs of the project, however its costs are more aggressive than GCP and AWS.

This aggressive way of marking costs is in order to lead Cloud monopolies, such as the segment of moving applications to the cloud where it competes aggressively for this market share.

For Azure, the total cost of ownership calculator asks the following questions:

Do you want to reduce the total cost of ownership of your on-premises infrastructure?

What are the estimated cost savings of migrating application workloads to Microsoft Azure?

Google Cloud Platform Pricing

Finally, the search engine giant’s business division, which seeks to position itself head-to-head with its closest competitors, while emphasizing its billing only for the exact cost of use in computing power.

Costing tools

In all three cloud services, all provide us with a calculator to calculate the total cost of the services required from each cloud provider which are:

Cost comparison

There are other money-saving options for Windows and Linux virtual machines. Each provider has a way to reduce the cost of a virtual machine by some compromise of running the virtual machine for a given period of time.

With Google Cloud Platform, a usage commitment discount provides a discount of up to 70% off the pay-as-you-go price with a one- or three-year usage commitment discount.

Both AWS and Azure have a similar option called reserved instances. A reserved instance applies a discount to the price of the virtual machine with a one- or three-year service commitment.

Azure, AWS and GCP have another class of virtual machines that provide a big discount, up to 90% in some cases, but with a disadvantage. They can be shut down at any time when the provider needs capacity for premium services. This is an excellent option for stateless, fault-tolerant applications that can be interrupted and resumed once the resource comes back online or in development test environments that don’t need the availability of a production environment.

In GCP, they are known as priority VM instances.

In AWS and Azure, they are called reserved instances.

General CPU performance

alter-text
General CPU Performance

GCP produces the highest score on a single core, while AWS scales with Graviton2 on multiple cores.

CoreMark on a single core served as an effective indicator for raw performance. Here, GCP led the way, achieving the highest CoreMark score by 10% over the best performing compute-optimized machines on AWS and Azure.

As a metric less indicative of raw performance than single performance, 16-core CoreMark highlighted each machine’s ability to scale to multiple cores. Amazon’s Graviton2 led the way here.

The AWS Graviton2 processor, running on ARM, enabled the high-performance m6g.4xlarge machine to achieve better multi-CPU scaling than the other machines, AWS’s m6g.4xlarge achieved 308 852 iterations per second, while the GCP and Azure machines produced scores 5% and 7% lower, respectively.

AWS CPU performance

alter-text
AWS CPU Performance

While machines with Intel processors outperformed the others in single-core CPU performance, with the notable exception of the c5a series running AMD EPYC 7002 processors, AWS machines with Graviton2 processors consistently outperformed all other AWS machines with 16 cores (and indeed all other machines in the field). These machines are also the cheapest AWS machines.

CPU performance of GCP

alter-text
CPU Performance of GCP

The GCP compute-optimized machine (standard c2) demonstrated the best raw CPU performance among the GCP machines. Beyond the standard c2 machine, there was minimal variation in the single-core benchmark among the tested machines, because the N2 machines have the same processors and differ only in their vCPU-to-memory ratios.

The same is true for the N2D machines. In the 16-core benchmark, the N2D machines with AMD EPYC 7002 processors and the c2-standard-16 machines led all other GCP machines.

Azure CPU Performance

alter-text
Azure CPU Performance

Similar to the single-core benchmark on AWS, Azure machines with AMD processors performed on par with Azure machines with Intel processors. Consistent with AWS and GCP, Azure machines with AMD processors outperformed Azure machines with Intel processors in the 16-core benchmark.

In particular, the memory-optimized Standard_M16ms machine and the storage-optimized Standard_L16s_v2 machine were the worst performers among Azure machines on both metrics.

Autoscaling on virtual machines

AWS offers automatic scaling at no additional charge, based on the scaling plans you define for all relevant resources used by the application.

Azure offers automatic scaling on a per-application basis or as part of platforms that manage application pools or pools of virtual machines.

GCP offers automatic scaling only within the context of its managed instance group platform.

Both AWS and Azure offer services (such as AWS Elastic Beanstalk) that allow you to create a virtual private server with a few clicks, but GCP does not yet offer this capability.

Special functionalities per cloud provider

When choosing a cloud service, it is critical to consider the key features and special services that each has.

AWS has had a first mover advantage for a long time; however, Azure and GCP have been grabbing considerable amounts of market share to bring all three to the top, occupying at least 60% of the market combined. Popular technology companies back all three services. Amazon, Microsoft and Google are tech giants in the IT industry.

A basic and fundamental service in the cloud is compute or processing power. Any of the “big three” offer different types of instances, whether Windows or Linux-based, with GPUs or large, high-performance configurations.

All already have their Kubernetes and Serverless managed service. AWS highlights Kubernetes Engine for its level of maturity.

For the same reason, Lambda does in the second, and because it also allows you to use a larger number of languages (Java, Go, PowerShell, Node.js, C#, Python and Ruby).

Some of the more notable compute services that have recently been added are AWS Outposts, which allows you to use Amazon’s on-prem cloud technology, and GKE On-Prem, which allows you to use Kubernetes Engine in your datacenter.