The competition for leadership in the public cloud computing is fierce three-way race: AWS vs. Azure vs. Google. Clearly, for infrastructure as a service (IaaS) and platform as a service (PaaS), Amazon Web Services (AWS), Microsoft Azure and Google Cloud Platform (GCP) hold a commanding position among the many cloud companies.
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 organization’s CSP requirements, you can use the CSP price calculators to check if there are significant cost differences: AWS, Azure, GCP. And we’ve written more about AWS EBS pricing here.
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) ● AWS SnowMobile: 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 optimize 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 Service plan) ● 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 organization, configuration, provisioning, deployment, and monitoring of cloud resources. These offerings range from predefined deployment templates and catalogs of approved services to centralized 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).
|Server manage- ment 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: Template- driven deployment|
|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||N/A|