Choosing a public cloud service provider (CSP) has become a complex decision. Today, it’s no longer a question of which option you should work with, but rather, how to achieve optimal performance and distribute risk across multiple vendors—while containing cloud compute and storage costs at the same time.
In a recent Virtustream/Forrester survey of more than 700 cloud decision makers, 86% of respondents said that their enterprises are deploying workloads across more than one CSP. We learn from the same survey that the prime motivation for adopting a multi-cloud strategy is to improve performance, followed by cost savings and faster delivery times. Today, the three leading CSPs are Amazon Web Services (AWS), Microsoft Azure, and Google Cloud Platform (GCP), with respective market shares of 62%, 20%, and 12%.
In this post, the first in a two-part series, we will compare and contrast what AWS, Azure, and GCP offer in terms of storage, compute, and management tools. In the following post, we will discuss big data and analytics, serverless, machine learning, and more. Armed with this information, it should be easier for you to map out your multi-cloud strategy.
Enterprises typically look to CSPs for three levels of service: Infrastructure as a Service (IaaS, i.e., outsourcing of self-service compute-storage capacity); Platform as a Service (PaaS, i.e., complete environments for developing, deploying, and managing web apps); and secure, performant hosting of Software as a Service (SaaS) apps.
Keeping these levels in mind, we have chosen to compare:
Note: We won’t be comparing pricing since it is quite difficult to achieve apples-to-apples comparisons without a very detailed use case. Once you have determined your organisation’s CSP requirements, you can use the CSP price calculators to check if there are significant cost differences: AWS, Azure, GCP.
The CSPs offer a wide range of object, block, and file storage services for both primary and secondary storage use cases. You will find that object storage is well suited to handling massive quantities of unstructured data (images, videos, and so on), while block storage provides better performance for structured transactional data. Storage tiers offer varying levels of accessibility and latency to cost-effectively meet the needs of both active (hot) and inactive (cold) data.
In terms of differentiators, Azure takes the lead in managed DR and backup services. When it comes to managing hybrid architectures, AWS and Azure have built-in services, while GCP relies on partners.
|Object storage||Amazon Simple Storage Services (Amazon S3):The very first AWS public service||Blob Storage||Google Cloud Storage|
|VM disk storage||Amazon Elastic Block Store (Amazon EBS)||Azure Managed Disks||Persistent Disk (both HDD and SSD)|
|File storage||Amazon Elastic File System (Amazon EFS)||Azure Files||Cloud Filestore|
|Disaster recovery||Provides a set of cloud-based disaster recovery services||Site Recovery (DRaaS)||Does not provide out-of-the-box DR or backup services|
|Backup||Amazon S3 is often used for secondary backup storage||Backup (built into the Azure platform)|
|Archive storage||● S3 One Zone-Infrequent Access(introduced April 2018)● Amazon Glacier, with data querying capabilities||Azure Long-Term Storage:● Cool Blob Storage (slightly lower availability than Hot)|
● Archive Storage (offline blob storage)
|Archival Cloud Storage:● Nearline (low frequency)|
● Coldline (lowest frequency)
|Bulk data transfer||● AWS Import/Export Disk:Shipping disk drives|
● AWS Snowball(device-based)
Exabyte-scale data transfer via ruggedized shipping container
|● Azure Import/Export service:Shipping disk drives|
● Azure Data Box Disk service (in preview)
|Storage Transfer Service|
|Hybrid support||AWS Storage Gateway: Provides a managed virtual tape infrastructure across hybrid environments||StorSimple: Enterprise-grade hybrid cloud storage||Relies on partners such as Egnyte|
The CSPs offer a range of predefined instance types that define, for each virtual server launched, the type of CPU (or GPU) processor, the number of vCPU or vGPU cores, RAM, and local temporary storage. The instance type determines compute and I/O speeds and other performance parameters, allowing you to optimise price/performance according to different workload requirements. It should be noted that GCP, in addition to its predefined VM types, also offers Custom Machine Types.
The CSPs offer pay-as-you-go PaaS options that automatically handle the deployment, scaling, and balancing of web applications and services developed in leading frameworks such as Java, Node.js, PHP, Python, Ruby, and more.
AWS offers auto scaling at no additional charge, based on scaling plans that you define for all the relevant resources used by the application. Azure offers auto scaling per app, or as part of platforms that manage groups of apps or groups of virtual machines. GCP offers auto scaling only within the context of its Managed Instance Groups platform.
Both AWS and Azure offer services that let you create a virtual private server in a few clicks, but GCP does not yet offer this capability.
|Virtual servers||Amazon Elastic Compute Cloud(Amazon EC2)||Virtual Machines(Windows or Linux servers)||Compute Engine|
|PaaS||Elastic Beanstalk||Azure Cloud Services||Google App Engine|
|Scaling||AWS Auto Scaling||● Azure Autoscale(per app or for a group of apps as part of an Azure App Serviceplan)● Virtual Machine Scale Sets (for hyperscale, high-availability apps)||Through managed instance groups|
|Virtual private server support||Lightsail||Virtual machine (VM) image||N/A|
As you may have already experienced, managing and orchestrating cloud resources across multiple business units and complex infrastructures can be a daunting challenge. All three CSPs offer platforms and services to streamline and provide visibility into the organisation, configuration, provisioning, deployment, and monitoring of cloud resources. These offerings range from predefined deployment templates and catalogs of approved services to centralised access control. However, AWS and Azure seem to have invested more heavily in this area than GCP, and AWS even offers outsourced managed services (AWS Managed Services).
|AWS Systems Manager: Visibility & automation across groups of resources||Azure Operational Insights: Operational data analysis, SaaS||N/A|
|Cloud deployment templates||AWS CloudFormation:Text files for modeling & provisioning cloud resources||Azure Resource Manager: Deploy & control access to categorized resources; includes templates (Azure Building Blocks)||● Resource Manager: Group, organize, & control access to resources; track & manage projects● Cloud Deployment Manager:|
|Logging & monitoring||● Amazon CloudWatch: Real-time visibility into apps & infrastructure● AWS CloudTrail: Logging & monitoring of AWS accounts||Azure Monitor,including Log Analytics(data collection & proactive insights) and Application Insights(Application Performance Management platform)||Google StackDriver, including monitoring, logging, error reporting, tracing, & debugging|
|Server automation||● AWS OpsWorks: Managed instances of Chef & Puppet● AWS Service Catalog: Catalog of IT services approved for AWS||● Azure Resource Manager (see above)● Azure Automation|
● VM extensions: Post-deployment configuration & automation
And the Winner Is…
In today’s multi-cloud world, you shouldn’t be seeking to identify a single “winner,” but rather how to optimally distribute workloads across multiple CSPs. As you map out your multi-cloud strategy, bear in mind that in the key categories of storage, compute, and management tools, AWS and Azure offer a more complete and mature stack than GCP. In general, AWS’ services and products are the most comprehensive, but they can also be challenging to navigate and manage. Also consider that if your company is already using Microsoft’s development tools, Windows servers, and Office productivity applications, you will find it very easy to integrate with Azure.
In the second part of this blog series, we will compare how the CSPs support next-generation technologies such as containers, serverless, analytics, and machine learning. We will also look at higher level issues, such as user friendliness, security, and partnership ecosystems, and provide some final thoughts on how to choose the right CSP(s) for your organisation’s needs.