In the cloud world, it is obvious that AWS, Microsoft Azure and Google Cloud are the top cloud computing vendors.
Amazon's biggest strength is its dominance of the public cloud market. As per Gartner’s report last year, AWS has been the market share leader in cloud IaaS for over 10 years. One of the reasons behind this is its huge range of services. Quoting Gartner, “It is the most mature, enterprise-ready provider, with the deepest capabilities for governing many users and resources. One of the challenges for enterprises using AWS is managing cost effectively while running a high volume of workloads on the service.
Though entered late in the cloud world, the pace it is growing is commendable. It’s on-premises software that they repurposed for the cloud like – Windows Server, Office, SQL Server, Sharepoint, Dynamics Active Directory, .Net, and others gave it a major hike. Azure is tightly integrated with other applications of Microsoft software and enterprises using Microsoft already finds it easier to move to Azure. Besides, the discounts for existing enterprise customers is a plus any day. However, the vendor definitely has issues with technical support, documentation, training etc.
Google has a strong offering in containers since Google developed the Kubernetes standard that AWS and Azure now offer. Google Cloud Platform or GCP excels in high compute offerings like Big Data, analytics, and machine learning. It also offers considerable scale and load balancing. The challenge with GCP is its less number of features and services available as compared to its competitors AWS and Azure. While they are expanding, the other two are already ahead in the race.
Elastic Compute Cloud: This one is Amazon's flagship compute service. It is a web service that provides secure, resizable compute capacity in the cloud. EC2 offers support for both Windows and Linux. AWS also offers a free tier for EC2 that includes 750 hours per month of t2.micro instances for up to twelve months.
Container services: Amazon's container services support Docker, Kubernetes, and its own Fargate service that automates server and cluster management when using containers. It also offers a virtual private cloud option that is known as Lightsail.
Virtual Machines: It is Microsoft's primary compute service and supports Linux, Windows Server, SQL Server, Oracle, IBM, and SAP. Like AWS, it has an extremely large catalog of available instances, including GPU and high-performance computing options, as well as instances optimized for artificial intelligence and machine learning. It also has a free tier with 750 hours per month of Windows or Linux B1S virtual machines for a year.
Azure Container Service is based on Kubernetes, and Container Services uses Docker Hub and Azure Container Registry for management. It has a Batch service, and Cloud Services for scalable Web applications is similar to AWS Elastic Beanstalk. It also has a unique offering called Service Fabric that is specifically designed for applications with microservices architecture.
Compute Engine: Google's range of compute services is somewhat is less than the other two. Its primary service is called Compute Engine, which boasts both custom and predefined machine types, per-second billing, Linux and Windows support, automatic discounts and carbon-neutral infrastructure that uses half the energy of typical data centers. It offers a free tier that includes one f1-micro instance per month for up to 12 months.
Focus on Kubernetes: Google also offers a Kubernetes Engine for organizations interested in deploying containers. As Google has been hugely involved in the Kubernetes project, it gets some valued added based on experience.
AWS offers a long list of storage services including, Simple Storage Service (S3) for object storage, Elastic Block Storage (EBS) for persistent block storage for use with EC2, and Elastic File System (EFS) for file storage. Few unique storage products of AWS are Storage Gateway, which enables a hybrid storage environment, and Snowball, which is a physical hardware device that organizations can use to transfer petabytes of data in situations where Internet transfer isn't practical.
Amazon has a SQL-compatible database called Aurora, Relational Database Service (RDS), DynamoDB NoSQL database, ElastiCache in-memory data store, Redshift data warehouse, Neptune graph database and a Database Migration Service. Amazon doesn't offer a backup service but it does have Glacier, which is designed for long-term archival storage at very low rates. Also, Amazon’s Storage Gateway can be used to easily set up backup and archive processes.
Microsoft Azure's basic storage services include Blob Storage for REST-based object storage of unstructured data, Queue Storage for large-volume workloads, File Storage and Disk Storage. It also has a Data Lake Store, which is useful for big data applications.
Azure's database options are pretty extensive. It has three SQL-based options: SQL Database, Database for MySQL and Database for PostgreSQL. It also has a Data Warehouse service, as well as Cosmos DB and Table Storage for NoSQL. Redis Cache is its in-memory service and the Server Stretch Database is its hybrid storage service designed specifically for organizations that use Microsoft SQL Server in their own data centers. Also, Azure offers an actual Backup service, Site Recovery service and Archive Storage.
GCP has a smaller menu of storage services available. Cloud Storage is its unified object storage service, and it also has a Persistent Disk option.
When it comes to databases, GCP has the SQL-based Cloud SQL and a relational database called Cloud Spanner that is designed for critical workloads. It also has two NoSQL options: Cloud Bigtable and Cloud Datastore. It does not have backup and archive services.
Hope this gives you a fair idea. Stay tuned to this space for more updates around AWS, Azure and GCP.