The three main players of business cloud services — Amazon, Google and Microsoft — have an array of products covering all you can possibly need for your online operations. But there are differences not only in pricing but also in how they name and group their services, so let’s compare one next to another and find out what they offer.
We’ll focus on services provided by Amazon Web Services (AWS), Google Cloud Platform (GCP) and Microsoft Azure. We won’t cover all of them, or get into a lot of detail about the infrastructure of cloud computing. However, we’ll survey many of the products on offer and also get familiar with some cloud concepts.
Other Services, and Changes over Time
There are, of course, other cloud services we could be covering here. In recent years, companies like DigitalOcean and Linode have made some advances on the big three. But it’s been a new contender that has radically simplified the deployment of cloud infrastructure and is still pushing the DevOps workflow to the next level — Netlify. Netlify also happens to be the company that coined the concept of the “Jamstack”. (See “Introduction to the Jamstack” and “DevOps by Example” for more information.)
All-in-one, but Simpler: Google Firebase, Netlify, AWS Amplify
Amazon, Google, and Azure (in that order), are still pretty much the only companies that cover all of the spectrum of cloud services. But given how Netlify has simplified the game, they’ve all had to make significant additions to the way in which they present their tools to developers in order to remain competitive.
Google and Amazon introduced Firebase and Amplify respectively, both wrapping a bunch of services from the GCP and AWS to present them in a clear and easy-to-implement way to web and mobile developers. (Strangely, Microsoft just seems to make a conscious effort to leave Azure outdated.)
As I said in my article on “100 Jamstack Tools, APIs & Services to Power Your Sites”:
Google really made a brilliant move with the Firebase family of products by “detaching” them from the GCP, but Amazon went half-way with AWS Amplify. It sure is a dramatic improvement from the regular AWS workflow, especially for novice users, and its documentation hub is superb and way more down-to-earth than the way Amazon usually documents services. But Amplify is still accessed from the same old (horrifically bloated) console. You still need a credit card to just open an account, deployments are still region-specific (no built-in CDN, seriously?), and the workflow isn’t as straightforward when compared to that of Firebase or Netlify.
With an incredibly well-documented framework, an outstanding and fun YouTube channel, and a wide variety of use applications, Google Firebase is way on top of AWS Amplify … but fairly behind Netlify in terms of simplicity.
Azure … Seriously?
Azure seems to be working for some people (particularly the enterprise sector within the US), but as a Reddit search or a TrustPilot inquiry will quickly reveal, opinions are, at best, very divided.
Hard as AWS can be at first, users usually praise how responsive and knowledgeable their support team is. Speaking from my own experience, Azure support — or its complete lack thereof — on the other hand, can be 100% automated and totally non-existent, to the point that solving a problem as simple (and critical) as setting a credit card will become impossible and render the entire suite unusable.
While an indisputable leader in several fronts, Microsoft also has a long history of being late to the party, putting a huge amount of effort into catching up, then only to seemingly lose faith and leave things half way (such as with Zune, Groove, Mobile, Edge, and Skype). And the way things go with Azure, it remains to be seen if that will also be the case there.
Why the Cloud
Iconic companies from both the public and the private sector — such as Netflix, Airbnb, Spotify, Expedia, PBS, and many, many more — rely on cloud services for supporting their online operations. This allows them to better focus on doing what they’re known for, and let many of the technicalities be taken care of by an infrastructure that already exists and is constantly being upgraded. If they had to implement the physical infrastructure they actually need for their operations themselves, they’d need an army of technicians, lots of extra budget and time, and many startups would never get past these technical challenges.
For everyone
But this isn’t limited to big names. Today, we live in a world in which both a huge business, and two youngsters at home with virtually no initial capital, can access world-class infrastructure for storage, computing, management and more, to make the next massive online service, and pay as they go — literally — by the hour.
Flexible (and sometimes intricate) pricing
What you pay will vary a lot depending and how much processing power you demand, how many instances (that is, how many virtual servers) you deploy, and where you deploy them (more on this on the “Locations” section). There will also be significant discounts for bulk usage. In any case, you’ll have these advantages most of the time:
- no upfront costs
- no termination fees
- pay only for what you use
- per minute billing
For precise details, you’ll need to read the pricing fine print of AWS, GCP and Azure.
Products vs Solutions
We’ll use the terms “products” and “services” rather loosely. A solution, however, is a more specific concept that you’ll hear a lot about when dealing with cloud services. Simply put, a solution is a set of preconfigured products oriented to a very specific need, with plentiful documentation, use cases and testimonials that will guide you through the process of adopting the cloud infrastructure.
Some typical “canned” solutions are:
- big data: AWS, GCP, Azure
- ecommerce and retail: AWS, GCP, Azure (e-commerce and retail)
- gaming: AWS, GCP, Azure
- government: AWS (federal, sate and local), GCP (federal, state and local), Azure
- Internet of Things (IoT): AWS, GCP, Azure
- marketing: AWS, GCP (technology and analytics), Azure
Let’s Compare!
Amazon introduced “commoditized” cloud computing services through its first AWS service launched back in 2004, and ever since then they’ve kept innovating and adding features, which has allowed them to maintain the upper hand in this field by building the most extensive array of services and solutions for the cloud. They’re also, in many regards, the most expensive.
Google, and later Microsoft, came into the game and are quickly coming up to par, bringing their own infrastructure and ideas, offering deals, and pulling the prices down.
In the following video, representatives of each company discuss their cloud strategies:
Compute
This is what computers are for, after all: to calculate, to process data — to compute. If you need faster processing for graphics rendering, data analysis or what have you, you can either buy more hardware, or you can get on the cloud.
Sure, if you buy the hardware you own it. It’s an asset. But you’re also paying for all of the idle time when the computers aren’t doing any actual processing, plus all of the maintenance that comes with it, which can go really high if you build a data center.
When you go on the cloud, on the other hand, you just pay for what you use and you can scale to thousands of processing nodes in a few minutes (and blow your credit card while at it, if you’re not careful).
Elastic Compute Cloud (EC2) is Amazon’s flagship for scalable computing on demand, competing with Google’s Compute Engine and Azure’s Virtual Machines and Virtual Machine Scale Sets. Amazon’s service is the most comprehensive, but as mentioned, the pricing for EC2 can get very intricate, and the same goes for Azure’s VMs pricing. Google’s offering is somewhat less flexible, but the pricing is a lot easier to follow.
There’s also the option of renting computing processes for web and mobile apps, which can offer significant savings when used instead of EC2 or Compute Engine if your apps fit in the specs of this service (see AWS Elastic Beanstalk and Google App Engine for more details).
If you want to deploy software containers with Docker, you should look at Amazon’s Elastic Container Service (ECS) and Elastic Container Registry (ECR). Google’s equivalents are Kubernetes Engine and Container Registry. Azure’s also on board with Docker with its Azure Kubernetes Service (AKS), though at the moment they’re not providing a facility for private Docker registries.
Azure, since it’s Microsoft’s, also allows you to deploy Windows client apps with its Remote Desktop clients service.
Storage
Alongside computing, storage is a key pillar to cloud services. In the cloud, you can store with the same ease anything from a bunch of GBs to several PBs (1 petabyte = 1,024 terabytes = 1,048,576 gigabytes). Beware, though: implementing these solutions is not so trivial, as this is not a regular hosting for which you just need a user and password to upload files via FTP. Instead, you’ll need to interact with APIs or third-party programs, and it may take some time before you’re ready to operate your storage entirely in the cloud.
To store objects (that is, pretty much anything), Amazon’s Simple Storage Service (S3) is the service that’s been running the longest, and as such it has extensive documentation, including free webinars, articles and tutorials and very active discussion forums where Amazon developers provide very useful feedback on a regular basis. Of course, Google Cloud Storage and Microsoft Azure Storage provide a service that’s as reliable and robust, but the resources you’ll find don’t come even close those of Amazon. That being said, Google and Microsoft may have an edge on the price, so read the fine print.
service | provider | GB/month | |
---|---|---|---|
Block Storage | w | Rackspace Cloud | $0.12 |
Cloud Files | w | Rackspace Cloud | $0.1 |
Cloud Storage | w | Google Cloud Platform | varies per region, see pricing |
Data Lake Store | w | Microsoft Azure | varies per region, see pricing |
Simple Storage Service (S3) | w | Amazon Web Services | varies per region, see pricing |
Storage | w | Microsoft Azure | varies per region, see pricing |
For archiving, also sometimes called “cold storage” (like when you store objects you don’t plan to access regularly for the most part), you’ll enjoy lower rates but also lower access speeds, which shouldn’t be much of a problem in most cases. The characteristics and prices are very similar among different providers, so most probably you’ll be conditioned by which API you’ve implemented on your back end. For the specs and details, see Amazon Glacier and Glacier Deep Archive, Cloud Storage for data archiving by Google, and Azure Backup. Also check the archiving solutions these providers offer: Data Archiving by AWS and Backup and Archive by Azure.
Aside from storing and archiving, they provide more specific options, such as Amazon CloudFront — targeted for building a content delivery network (CDN) — which is the same as Google’s Cloud CDN and Azure’s Content Delivery Network. But if you have more exotic requirements, make sure you check their sites.
Analytics
Now we’re getting serious, as we enter the powerful place in which we integrate and make full use of computing, storage and delivery, all at once. And the truth is that there are certain things you just can’t perform anywhere else but in the cloud (that is, unless you can afford a huge investment in infrastructure). So let’s talk analytics.
The challenges of big data are dealing with incredibly large data sets (so big you can’t fit them in memory), making sense of them, using them to make predictions, and even helping modeling completely new situations like new products, services, treatments, ways of planning cities, and a large et cetera.
This requires very specific technologies and programming models, one of which is MapReduce, which was developed by Google, so maybe it isn’t surprising to see Google walking forward in the big data arena by offering an array of products — such as BigQuery (managed data warehouse for large-scale data analytics), Dataflow (real-time data processing), Dataproc (managed Spark and Hadoop), Datalab (large-scale data exploration, analysis, and visualization), Pub/Sub (messaging and streaming data), and Cloud Life Sciences (for processing up to petabytes of genomics and biomedical data). Elastic MapReduce (EMR) and HDInsight are Amazon’s and Azure’s take on big data, respectively. For more, check the big data solutions they all offer: GCP, AWS, and Azure.
But you don’t need to fall into the category of big data to be able to make sense of data. Large amounts of structured and even unstructured data can help you identify business opportunities. This is known as business intelligence (BI), and the strategies here can be very diverse and will vary a lot depending on your field. So if your business has the data sets, there may be valuable insights waiting to be mined. In this case, Amazon alone is taking on this niche with QuickSight.
And for all of this, you’ll most likely need to use machine learning (ML), which is a branch of artificial intelligence (AI). Interestingly, Google has the upper hand on this one too with its AI Platform not only for general purpose ML but also for leveraging products they had to build for their own apps and offering interfaces for accessing them oriented to very specific uses of ML, including APIs for Vision AI, Speech-to-Text, Natural Language and Translation. The general purpose alternatives are Machine Learning on AWS and Azure Machine Learning.
Locations
When deploying your services, you may want to choose a data center that’s close to your primary target audience. For example, if you’re doing real estate or retail hosting in the West Coast of the United States, you’ll want to deploy your services right there to minimize the latency and provide a better user experience (UX). Of course, you can still deploy from afar, but the UX will suffer.
Amazon has extensive coverage:
AWS locations. Diagram by Amazon
Azure also has quite wide coverage:
Azure locations. Diagram by Microsoft
Google has a solid coverage in the United States, Europe and Asia, with some coverage in South America but none in Africa.
But beware that deploying at different locations comes at different rates, with the United States and Europe — in that order — being normally the cheapest.
For more details:
Other Products and Services
As mentioned, we’ve only covered some of the main cloud services, but before we finish, let’s have a quick review of some products you might want to keep an eye on.
Networking
You can network in the cloud by doing domain name system (DNS) with Amazon’s Route 53, Cloud DNS or Azure DNS.
Or do load balancing with Amazon’s Elastic Load Balancing (ELB), Cloud Loud Balancing and Azure’s Load Balancer.
And, of course, set your virtual private network (VPN) with Amazon’s Virtual Private Cloud (VPC), Google’s Virtual Private Cloud (VPC) and Azure’s VPN Gateway.
Databases
You can implement SQL solutions with Amazon’s Relational Database Service (RDS, supporting many DBMS), Google’s Cloud SQL (supporting only MySQL at the moment), and with Azure’s SQL Database, Synapse Analytics and SQL Server Stretch Database.
Also newer NoSQL solutions are available with Amazon’s DynamoDB, Google’s Cloud Bigtable and Datastore, and Azure’s Cosmos DB and Table storage.
But who wants a DB when all you need is a cache? If that’s the case, then Amazon’s ElastiCache and Azure’s Cache for Redis might do it.
For more, check the solution that amazon offers: Databases on AWS.
Developers tools, management, security, identity, disaster recovery …
And there’s even more, but let’s call it a day for now!
Other Players
We only got to cover big names here, but the cloud arena is very dynamic, and there are several providers offering solid infrastructure at very competitive prices. Many of them are focusing on the needs of developers rather than companies, and they may be well worth trying, especially if your scaling needs are between small and moderate.
Some alternatives:
- Brightbox: UK-based cloud hosting for teams that insist on 100% uptime.
- Codero: managed, dedicated and cloud hosting.
- DigitalOcean: Cloud computing, designed for developers with competitive prices.
- Equinox Metal: previously Packet, a base metal cloud build for developers.
- IBM Cloud: previously SoftLayer, another option for businesses with widespread locations, backed by IBM.
- Linode: high-performance SSD Linux servers for many infrastructure needs.
- Rackspace Cloud: powered by OpenStack, an open-source technology.
- Vultr: high-performance SSD cloud available in 14 cities worldwide, with competitive prices.
What To Do Next
Amazon, Google and Microsoft, and nearly all of the alternatives also listed, offer starting deals and even free credit for new accounts, meaning that you can start experimenting in the cloud without taking your credit card and with no future obligations.
And don’t get paralyzed! There may be plentiful options, but you can start by focusing on what your needs are. If you need a very specific solution, or certain locations, or if you’re just a humble developer who might be better off with a smaller company, start from there.
Frequently Asked Questions (FAQs) on AWS, Google Cloud, and Azure Comparison
What are the key differences between AWS, Google Cloud, and Azure in terms of pricing?
Pricing models for AWS, Google Cloud, and Azure vary significantly. AWS charges on an hourly basis, while Google Cloud charges on a minute basis, which can be more cost-effective for short-term or irregular usage. Azure, on the other hand, offers more flexible pricing options, including both per-minute and per-hour charges. Additionally, all three platforms offer various discounts and incentives, such as AWS’s reserved instances, Google Cloud’s sustained use discounts, and Azure’s hybrid benefit and reserved instance discounts.
How do AWS, Google Cloud, and Azure compare in terms of data storage capabilities?
All three platforms offer robust data storage options. AWS provides services like Amazon S3 for object storage, Amazon EBS for block storage, and Amazon Glacier for long-term archive storage. Google Cloud offers Google Cloud Storage for object storage, Persistent Disk for block storage, and Nearline and Coldline for archival storage. Azure provides Azure Blob Storage for object storage, Azure Disk Storage for block storage, and Azure Archive Storage for long-term archival storage.
What are the differences in machine learning capabilities between AWS, Google Cloud, and Azure?
AWS, Google Cloud, and Azure all offer comprehensive machine learning capabilities. AWS provides Amazon SageMaker, a fully managed service that enables developers to build, train, and deploy machine learning models. Google Cloud offers Google Cloud AI and Machine Learning Platform, which includes pre-trained models and a service to build, train, and deploy custom models. Azure provides Azure Machine Learning, a cloud-based environment for training, deploying, automating, managing, and tracking ML models.
How do AWS, Google Cloud, and Azure compare in terms of networking capabilities?
AWS, Google Cloud, and Azure all offer robust networking capabilities. AWS provides Amazon VPC for virtual network creation, Amazon Route 53 for DNS services, and AWS Direct Connect for dedicated network connections. Google Cloud offers Google Cloud VPC for virtual network creation, Google Cloud DNS for DNS services, and Google Cloud Interconnect for dedicated network connections. Azure provides Azure Virtual Network for virtual network creation, Azure DNS for DNS services, and Azure ExpressRoute for dedicated network connections.
What are the differences in terms of security between AWS, Google Cloud, and Azure?
All three platforms prioritize security and offer a range of features to protect user data. AWS provides services like AWS Identity and Access Management (IAM), AWS Shield for DDoS protection, and AWS Macie for data privacy. Google Cloud offers Google Cloud IAM, Google Cloud Armor for DDoS protection, and Google Cloud Data Loss Prevention for data privacy. Azure provides Azure Active Directory, Azure DDoS Protection, and Azure Information Protection for data privacy.
How do AWS, Google Cloud, and Azure compare in terms of compute capabilities?
AWS, Google Cloud, and Azure all offer robust compute capabilities. AWS provides services like Amazon EC2 for virtual servers, AWS Lambda for serverless computing, and Amazon ECS for container orchestration. Google Cloud offers Google Compute Engine for virtual servers, Google Cloud Functions for serverless computing, and Google Kubernetes Engine for container orchestration. Azure provides Azure Virtual Machines for virtual servers, Azure Functions for serverless computing, and Azure Kubernetes Service for container orchestration.
What are the differences in terms of database services between AWS, Google Cloud, and Azure?
AWS, Google Cloud, and Azure all offer a variety of database services. AWS provides services like Amazon RDS for relational databases, Amazon DynamoDB for NoSQL databases, and Amazon Redshift for data warehousing. Google Cloud offers Google Cloud SQL for relational databases, Google Cloud Datastore for NoSQL databases, and Google BigQuery for data warehousing. Azure provides Azure SQL Database for relational databases, Azure Cosmos DB for NoSQL databases, and Azure Synapse Analytics for data warehousing.
How do AWS, Google Cloud, and Azure compare in terms of analytics capabilities?
AWS, Google Cloud, and Azure all offer robust analytics capabilities. AWS provides services like Amazon Athena for query services, Amazon QuickSight for business intelligence, and AWS Glue for ETL services. Google Cloud offers Google BigQuery for query services, Google Data Studio for business intelligence, and Google Cloud Dataflow for ETL services. Azure provides Azure Data Lake Analytics for query services, Power BI for business intelligence, and Azure Data Factory for ETL services.
What are the differences in terms of developer tools between AWS, Google Cloud, and Azure?
AWS, Google Cloud, and Azure all offer a variety of developer tools. AWS provides services like AWS CodeStar for project management, AWS CodeCommit for source control, and AWS CodeBuild for build services. Google Cloud offers Google Cloud Source Repositories for source control, Google Cloud Build for build services, and Google Cloud Deployment Manager for deployment services. Azure provides Azure DevOps for project management, source control, and build services, and Azure Resource Manager for deployment services.
How do AWS, Google Cloud, and Azure compare in terms of IoT capabilities?
AWS, Google Cloud, and Azure all offer robust IoT capabilities. AWS provides services like AWS IoT Core for device connectivity, AWS IoT Analytics for data analysis, and AWS IoT Device Defender for security. Google Cloud offers Google Cloud IoT Core for device connectivity, Google Cloud IoT Edge for edge computing, and Google Cloud IoT Security for security. Azure provides Azure IoT Hub for device connectivity, Azure IoT Edge for edge computing, and Azure Security Center for IoT for security.
Lucero is a programmer and entrepreneur with a feel for Python, data science and DevOps. Raised in Buenos Aires, Argentina, he's a musician who loves languages (those you use to talk to people) and dancing.