Q3 2020 earnings are in for the ‘big three’ cloud providers and you know what that means – it’s time for an AWS vs Azure vs Google Cloud market share comparison. Let’s take a look at all three providers side-by-side to see where they stand.
Note: several previous versions of this article have been published. It has been updated for November 2020.
AWS vs. Azure vs. Google Cloud Earnings
To get a sense of the AWS vs Azure vs Google Cloud market share breakdown, let’s take a look at what each cloud provider’s reports shared.
Amazon reported Amazon Web Services (AWS) revenue of $11.6 billion for Q3 2020, compared to $8.9 billion for Q3 2019. AWS revenue grew 29% in the quarter.
Across the business, Amazon’s quarterly sales increased to $96.1 billion, up 37% and beating predictions of $92.7 billion. The net income of $6.3 billion was the highest in a single quarter yet for the giant, driven by online shopping during COVID-19 – though note that the company is careful to note the $2 billion in costs related to COVID-19 this quarter, as well as $4 billion last quarter and $4 billion for Q4. And AWS? It made up 12.1% of Amazon’s revenue for the quarter – and 57% of its operating income.
AWS only continues to grow, and bolster the retail giant time after time.
One thing to keep in mind: you’ll see a couple of headlines pointing out that revenue growth is down and/or highlighting the fact that it’s flattening out, quoting that 29% number and comparing it to previous quarters’ growth rates, which peaked at 81% in 2015. However, that metric is of questionable value as AWS continues to increase revenue at this enormous scale, dominating the market (as we’ll see below).
AWS announced customer wins for the quarter including payments technology company Global Payments, biotechnology company Moderna, restaurant chain Jack in the Box, visual effects company Weta Digital, household appliance manufacturer Arçelik, and more.
While Amazon specifies AWS revenue, Microsoft only reports on Azure’s growth rate. That number is 48% revenue growth over the previous quarter. This time last year, growth was reported at 51%. As mentioned above, comparing growth rates to growth rates is interesting, but not necessarily as useful a metric as actual revenue numbers – which we don’t have for Azure alone.
Here are the revenue numbers Microsoft does report. Azure is under the “Intelligent Cloud” business, which grew 20% to $13 billion. The operating group also includes server products and cloud services (22% growth).
The lack of specificity around Azure frustrates many pundits as it simply can’t be compared directly to AWS, and inevitably raises eyebrows about how Azure is really doing. Of course, it also assumes that IaaS is the only piece of “cloud” that’s important, but then, that’s how AWS has grown to dominate the market. EVP and CFO Amy Hood highlighted demand for cloud offerings as a key driver to Microsoft’s current and future revenue. Office Commercial and consumer products are both growing – unsurprising in the work-from-home era. Additionally, Microsoft Teams has reached 115 million daily active users, up from 75 million in April.
However, overall, Microsoft exceeded analyst expectations in the second full quarter of the COVID-19 pandemic, with overall revenue coming in at $37.2 billion vs. $35.7 billion expected.
This quarter, Google Cloud, which includes Google Compute Engine and G Suite, generated $3.44 billion in revenue – a growth of 45% year-over-year.
Overall, Alphabet’s revenue increased 14% year-over-year to $14.17 billion. Ruth Porat, Alphabet’s CFO, reported that Google Cloud Platform’s growth rate was meaningfully above cloud overall. Headcount growth is planned to focus on Google Cloud in the next quarter.
Next quarter, Alphabet will break out Google Cloud as a separate reporting segment to show the scale of investments. They will also disclose full-year Google Cloud results back through 2018.
Cloud Computing Market Share Breakdown – AWS vs. Azure vs. Google Cloud
When we originally published this blog in 2018, we included a market share breakdown from analyst Canalys, which reported AWS in the lead owning about a third of the market, Microsoft in second with about 15 percent, and Google sitting around 5 percent.
In 2019, they reported an overall growth in the cloud infrastructure market of 42%. By provider, AWS had the biggest sales gain with a $2.3 billion YOY increase, but Canalys reported Azure and Google Cloud with bigger percentage increases.
It seems clear that in the case of AWS vs Azure vs Google Cloud market share – AWS still has a substantial lead, and their market share remains steady.
Bezos has said, “AWS had the unusual advantage of a seven-year head start before facing like-minded competition. As a result, the AWS services are by far the most evolved and most functionality-rich.”
Our anecdotal experience talking to cloud customers often finds that true, and it says something that Microsoft isn’t breaking down their cloud numbers just yet, while Google admits they’re behind but leans in.
AWS remains far in the lead for now. With that said, it will be interesting to see how the actual market share numbers play out over the coming years.
Among the many ways to purchase and consume Azure resources are Azure low priority VMs and Spot VMs. These virtual machines are compute instances allocated from spare capacity, offered at a highly discounted rate compared to “on demand” VMs. This means they can be a great option for cost savings – for the right workloads. And we love cost savings! Here’s what you need to know about these purchasing options.
How Interruptible VMs Work
The great part about both of these options is the price. Depending on the options selected, you can get a discount of up to 90% compared to the pay-as-you-go price. However, this is in exchange for the possibility that these VMs will be “evicted” when Azure needs the capacity, which makes them suitable for fault-tolerant applications such as batch processing, rendering, testing, some dev/test workloads, containerized applications, etc.
Azure Low Priority VMs
There are two key things to know about Low Priority VMs. The first is that they are only available through Azure Batch, Azure’s tool for running large-scale parallel and high-performance computing jobs through a pool of compute nodes (VMs). Through Azure Batch, you can run jobs and tasks across compute pools called “batch pools”. Since batch jobs consist of discrete tasks run using multiple VMs, they are a good fit to take advantage of low priority VMs.
Note that prior to February 2020, Low Priority VMs were available in Azure Scale Sets, but that option has been discontinued, with Spot VMs now available in Azure Scale Sets instead.
The second highlight is that Low Priority VM pricing is at a fixed discount of 60-80% compared to pay-as-you-go.
Azure Spot VMs
As of May 2020, Azure offers Spot instances/VMs in addition to Low Priority VMs. Like Low Priority, the Spot option allows you to purchase spare capacity at a deeply discounted price in exchange for the possibility that your VM may be evicted. You can choose whether or not to have a cap on the price you’re willing to pay for Spot VMs. Unlike Low Priority, you can use the Azure Spot option for single VMs and scale sets. VM scale sets scale up to meet demand, and when used with Spot VMs, will only allocate when capacity is available.
Your Spot VMs can be evicted when Azure needs the capacity, or when the price goes above your maximum price. You can choose to get a 30-second eviction notice and attempt to redeploy.
The other key difference is that Azure Spot pricing is variable, and based on the capacity for size or SKU in an Azure region. Prices change slowly to provide stabilization. The price will never go above pay-as-you-go rates.
When it comes to eviction, you have two policy options to choose between:
Stop/Deallocate (default) – when evicted, the VM is deallocated, but you keep (and pay for) underlying disks. This is ideal for cases where the state is stored on disks.
Delete – when evicted, the VM and underlying disks are deleted.
While similar in idea, there are a few key differences between these two purchasing options:
Single VMs, VM scale sets
Variable pricing; ability to set maximum price
Preempted when Azure needs the capacity. Tasks on preempted node VMs are requeued and run again.
Evicted when Azure needs the capacity or if the price exceeds your maximum. If evicted for price and afterward the price goes below your maximum, the VM will not be automatically restarted.
Azure Extra Capacity Options vs. AWS Spot Instances
So are low priority VMs the same as AWS Spot Instances? In some ways, yes: both options allow you to purchase excess capacity at a discounted rate.
However, there are a few key differences between these options:
Fixed vs. variable pricing – AWS spot instances have variable pricing while Azure low priority VMs have a fixed price as listed on the website
Integration & flexibility – AWS’s offering is better integrated into their general environment, while Azure offers limited options for low priority VMs (for example, you can’t launch a single instance) with limited integration to other Azure services.
Visibility – AWS has broad availability of spot instances as well as a Spot Instance Advisor to help users predict availability and interruptibility. On the other hand, Azure has lower visibility into the available capacity, so it’s hard to predict if/when your workloads will run.
Should You Use Azure Low Priority VMs?
If you have fault-tolerant batch processing jobs, then yes, low priority VMs are worth a try to see if they work well for you. If you’ve used these VMs, we’re curious to hear your feedback. Have you had issues with availability? Does the lack of integrations cause any problems for you? Are you happy with the cost savings you’re getting? Let us know in the comments below.
If you’re looking to tune up your Microsoft Azure knowledge, contemplating a cloud computing career, or want to show value to a potential employer, there’s never been a better time than now to seize the opportunity to learn with a few free Azure training resources.
Whether you’re relatively new to Azure or you’re a pro, there’s always more to learn. Microsoft has been releasing more and more free online resources for all learning paths, experience levels, and learning types to help you do just that, and of course there’s a third-party ecosystem built around it as well. That’s why we compiled a list of our favoriteMicrosoft Azure training resources on how to learn Azure for free:
1. Microsoft Azure’s Own Training Resources
The most obvious resource for free Azure training is Microsoft itself. Microsoft does a great job of providing ample free educational material with virtual courses, hands-on training, and documentation for users with a range of experience:
Microsoft Learn Courses provide information on Azure Virtual Machines and virtual networks, PaaS, automation and management, cloud migration, and more.
Get hands-on and learn on the go with an Azure free account. It’s free to sign up and $200 credit is yours to spend in the first 30 days. That’s a month of free exploration to “test and deploy enterprise apps, create custom mobile experiences, and gain insight from your data.” On top of that, you’ll also get 12 months to use some popular services for free.
For those who enjoy some light reading, there’s Microsoft Azure Documentation. Jump in and start learning with quickstarts, samples, and tutorials.
2. Favorite YouTube Channels
If you prefer to actually see steps needed to deploy a particular application or how a new feature works, then videos can make all the difference for visual learners. Some of the most popular channels for Azure free training include:
Microsoft Azure (173K subscribers) offers demos, technical insights, and training videos.
Cloud Ranger Network (24.7K subscribers) accompanies a popular blog on all things Microsoft Azure, making it a great resource for supplemented learning with both video and text.
Azure DevOps (21.8K subscribers) deserves a nod as a great niche channel for developers looking to make use of Azure’s developers services.
If you want to go beyond videos and start digging in, hands-on, check out these great collections on GitHub. To learn Azure, check out both theofficialandunofficialAzure GitHub. It will help you save a lot of time and effort.
Bloggers offer new insights, ideas, and the latest on all things cloud computing – if you know where to look. CloudRanger.net is solely-focused on Microsoft Azure, along with the previously mentioned YouTube channel. Microsoft has its own Azure blog, of course. But for a more well-rounded blog with additional content on AWS and Google Cloud Platform, check out Cloud Academy.
Udemy offers several free Azure-focused courses. These freebies range from beginner-level overviews to service-specific outlines, as well as certification preparation.
Pluralsight is a Microsoft partner that provides an incredible number of Azure courses for free. Pluralsight offers over 200+ courses, 40+ Skill IQs, and 8 Role IQs; aiming to prepare students for specific Azure certification exams.
Founded by Harvard University and MIT, EDx is a massive online course provider. Take advantage of free online university-level courses and be on your way to earning professional certifications. Azure course topics include databases, security, cosmos DB, and more.
While many meetups are being held virtually right now, they are still a great way to get involved in your local community. Typically, tech meetups have talks delivered by group members and other experts, and with small communities, there’s plenty of opportunities to ask questions, request specific topics, and generally have a more personalized experience than mass-produced online content. Search Azure, Cloud, or Microsoft on meetup.com to see what’s available near you (or, since they’re currently virtual, look further afield).
Take Advantage of These Free Azure Training Resources
Cloud-based application development is growing at a rapid pace and having Azure skills and experience can help you achieve many goals – free Azure online training is both abundant and rewarding. We picked our top 9 resources for their reliability, quality, and range of information. Whether you’re new to Azure or consider yourself an expert, these resources will get you on the right foot.
Microsoft Azure recently announced an addition designed to help with Azure chargeback: cost allocation, now in preview in Azure Cost Management + Billing. We’re always glad to see cloud providers making an effort to improve their native cost management capabilities for customers, so here’s a quick look at this update.
Chargeback for Cost Accountability
Cost allocation for cloud services is an ongoing challenge. Depending on organizational structure and decisions about billing and budgets, every organization will handle it a bit differently. In some cases, separating by Azure subscription can make this easier, but in others, your organization may have shared costs such as networking or databases that need to be divided by business unit or customer. However, it is an obstacle that must be addressed in order for organizations to gain visibility, address inefficiencies, and climb up the cloud spend optimization curve to actually take action to reduce and optimize costs.
Many IT organizations address this via an Azure chargeback setup, in which the IT department provisions and delivers services, and each department or group submits internal payment back to IT based on usage. Thus, it becomes an exercise in determining how to tag and define “usage”.
In some cases, showback can be used as an alternative or stepping stone toward chargeback. The content and dollar amounts are the same – but without the accountability driven by chargeback. For this reason, it can be difficult to motivate teams to reduce costs with a showback. We have heard teams using variation on showback – ”shameback”. IT can take the costs they’re showing back and gamify savings, coupled with a public shame/reward mechanism, to drive cost-saving behavior.
What Azure Added with the Preview Cost Allocation Capabilities
The cost allocation capabilities are currently in preview for Enterprise Agreement (EA) and Microsoft Customer Agreement (MCA) accounts. It allows users to identify the costs that need to be split by subscription, resource group, or tag. Then, you can choose to move them, and allocate in any of the following ways: distribute evenly, distribute proportional to total costs, distribute proportional to either network, compute, or storage costs, or choose a custom distribution percentage.
Cost allocation does not affect your Azure invoice, and costs must stay within the original billing account. So, Azure did not actually add chargeback, but they did add visualization and reporting tools to facilitate chargeback processes within your organization, outside of Azure.
Improvements in the Right Direction – or Too Little, Too Late?
Azure and AWS are slowly iterating and improving on their cost visibility, reporting, and management capabilities – but for many customers, it’s too little, too late. The lack of visibility and reporting within the cloud providers’ native offerings is what has led to many of the third-party platforms in the market. We suspect there is still a way to go before customers’ billing and reporting needs are fully met by the CSPs themselves.
And of course, for organizations with a multi-cloud presence, the cloud costs generally need to be managed separately or via a third-party tool. There are some movements within the CSPs to at least acknowledge that their customers are using multiple providers, particularly on the part of Google Cloud. Azure Cost Management has done so in part as well, with the AWS connector addition to the platform, but it’s unclear whether the 1% charge of managed AWS spend is worth the price – especially when you may be able to pay a similar amount for specialized tools that have more features.
To understand how Azure SQL pricing works, we’ll first talk about how the Azure SQL service is offered. Expanding from one limited offering to a set of services, Azure SQL is a family of managed products built upon the familiar SQL Server database engine, useful for migrating SQL workloads, modernizing existing applications, and more.
Running Azure SQL database
When Azure SQL Database first launched in 2010, its only offering was a single pricing option. But, now the Azure SQL portfolio has a more complex service model, with many possible combinations of deployment options, including compute models and service tiers. It has grown from “Azure SQL” to a multi-faceted service. It offers three deployment models, two service tiers, and two compute options.
To run Azure SQL databases, you’ll first need to choose your deployment option. This is how you’ll structure the SQL server and its databases. Then, you’ll need to choose your purchase model to pay for your service. Select your service tier for the level of compute power you want. And, your compute tier to be able to either compute 24/7 or on-demand basis.
Azure SQL Deployment Models
Azure SQL deployment options differ primarily in their cost and the amount of control they give you over the underlying platform. Deployment options determine how to structure the “SQL Server” and its databases. The three options available are:
Azure SQL Database is a general-purpose relational database, provided as a managed service.
Azure SQL Managed Instance – this option modernizes existing SQL Server applications at scale with the managed instance as a service.
SQL Server on Azure VMs for lifting-and-shifting the SQL Server workload provides full control over the SQL Server instance
Azure SQL Pricing Models
Depending on the deployment model you’ve chosen for Azure SQL database. There are two purchasing models available:
Here are some examples of how the various pricing options play out:
To better understand the related storage costs and compare different storage options, calculate Azure SQL costs for your specific scenario using Azure’s pricing calculator.
Azure SQL Service Tiers
There are two service tiers used by Azure SQL Database and Azure SQL Managed Instance, each with a different architectural model. These service tiers include:
A General Purpose tier for common workloads
A Business Critical tier for high throughput OLTP applications requiring low latency and high resilience
And, Azure SQL Database offers an additional service tier called:
A Hyperscale tier for very large OLTP systems with faster auto-scaling, backup and restore support.
Azure SQL Compute Tiers
Under the Azure SQL Database deployment option, under the vCore pricing model with General Purpose storage, you’ll find two options for your compute resources, these include:
Provisioned: Azure SQL provides Azure resources that run your database with a fixed amount of compute resources for a fixed hourly price.
Serverless: the database is provisioned as a serverless component with auto-scaling compute and billing for use per second
Optimizing Costs on Azure SQL
The choice to mix and match Azure SQL deployment options depends on your application and migration requirements. If you are still not sure which Azure SQL deployment option is right for your workloads, here are some tips from Microsoft on how to choose.
Now, to monitor and control your storage expenses and optimize usage in your SQL databases, yes, you can useAzure Cost Management. However, even though cloud efficiency is a core tenant of the Microsoft Azure Cost Management tool, optimization is not its strongest suit.
Another way to save money on Azure SQL Database and SQL Managed Instance is by committing to a reservation for compute resources compared to pay-as-you-go prices. With reserved capacity, you make a commitment for SQL Database and/or SQL Managed Instance use for a period of one or three years to get a significant discount on the compute costs. Or, In the provisioned compute tier of the vCore-based purchasing model, you can exchange your existing licenses for discounted rates on Azure SQL Database and Azure SQL Managed Instance by using Azure Hybrid Benefit.
ParkMyCloud continues to add ways to optimize cloud environments no matter what cloud service you use. Azure SQL database types are just the latest cloud resources you can manage in the ParkMyCloud platform. Scheduling and parking recommendations will be available soon on these resources so you can optimize your costs more efficiently and automatically.
If you’re new to ParkMyCloud, you can get started with a free trial.
In July, Microsoft introduced the Azure Well-Architected Framework best practices – a guide for building and delivering solutions built with Azure’s best practices. If you’ve ever seen the AWS Well-Architected Framework, Azure’s will look… familiar. It strikes many similarities with the Google Cloud Architecture Framework as well, which was released in May. This is perhaps a sign that despite the frequently argued differences between the cloud providers (and people love to compare – by far the most-read post on this blog is this one on AWS vs. Azure vs. Google Cloud market share), they are more similar than different. Is this a bad thing? We would argue, no.
There are many aspects of a well-designed architecture and these frameworks to discuss. Given ParkMyCloud’s focus on cost here, we’ll examine the cost optimization principles in Azure’s framework and how they compare to AWS and Google’s.
Architecture Guidelines at a High Level
The three cloud providers each provide architecture frameworks with similar sets of principles. AWS and Azure use the “pillar” metaphor, and in fact, the pillars are almost identically named:
While at first it is somewhat amusing to note these similarities (did Azure just ctrl+c?), it is reassuring that between the major cloud providers, all can agree what components comprise the best architecture. Better yet, they are providing ever-improving resources, training, assessments and support for their users to learn and apply these best practices.
Who Should Use the Azure Well-Architected Framework – and How to Get Started
Speaking of users – which ones are these architecture frameworks for? In their announcement, Azure noted the shifting of responsibility of security, operations, and cost management from centralized teams toward the workload owner. While the truth of this statement will depend on the organization, we have recognized this shift as well.
So while Azure’s framework is aimed largely at new Azure users and/or new applications, we would recommend every Azure user skim the table of contents and take the well-architected review assessment. The assessment takes the form of a multiple-choice “quiz”. At the end of the assessment, you are given a score and results on a scale from 1 to 100. You are also linked to next steps with detailed articles for each question where there is room for improvement. This assessment is worth the time (and won’t take much of it), giving you a straightforward action plan.
The architecture resources provided by Google Cloud are much briefer than AWS and Azure’s frameworks, and they combine performance and cost optimization into one principle, so it’s not surprising several topics are missing – including any discussion of governance or ownership of cost. AWS focuses on this the most, particularly with the new section on cloud financial management, but Azure certainly also discusses organizational structure, governance, centralization, tagging, and policies. We appreciate the stages of cost optimization Azure uses, from design, to provisioning, to monitoring, to optimizing.
All three cloud providers have similar recommendations in cost optimization regarding scalable design, using tagging for cost governance and visibility, using the most efficient resource cost models, and rightsizing.
Azure puts it this way: cost is important, but you should seek to achieve balance between all the pillars. Shoring up any of the other pillars will almost always increase costs. Invest in security first, then performance, then reliability. Operational excellence can increase or decrease costs. Cost optimization will always be important for any organization in public cloud, but it does not stand alone.