Today, we’ll take a look at the latest AWS vs Azure vs Google Cloud market share comparison, including the Q4 2020 earnings the ‘big three’ cloud providers have reported. 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 February 2021.
AWS vs. Azure vs. Google Cloud Earnings
To level-set this comparison, first know that – unsurprisingly – the cloud market as a whole is bigger than ever. Gartner has predicted worldwide public cloud spend to grow 18% in 2021, with 70% of organizations using cloud to increase cloud spending in the wake of COVID-19.
So within that market, let’s take a look at the AWS vs Azure vs Google Cloud market share breakdown and what each cloud provider’s reports shared.
First, the big news, of course: Jeff Bezos is trading his CEO role for Executive Chair of the Amazon Board, while current CEO of AWS Andy Jassy will step up to the Amazon CEO role. No AWS CEO has yet been announced, but many bets are on Matt Garman, currently the Vice President of AWS Sales and Marketing, or else Peter DeSantis, AWS’s Vice President of Global Infrastructure.
Next, the bigger news: Amazon revenue.
Amazon reportedAmazon Web Services (AWS) revenue of $12.7 billion for Q4 2020, compared to $9.95 billion for Q4 2019. AWS revenue grew 28% in the quarter.
Amazon as a whole had their first quarter over the $100 billion mark, at $125.56 billion. That’s an increase of 44% year-over-year, and beating predictions of $119.7 billion. Earnings per share were $14.09, compared to a $7.23 forecast.
Amazon as a whole benefitted from an astronomical online holiday shopping season due to COVID-19, and also from Prime Day being held in the fourth quarter. And AWS? It made up 10% of Amazon’s sales for the quarter – and 52% 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 28% 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 (see Geekwire graph), and dominate the market (as we’ll see below). AWS added more revenue quarter-over-quarter and year-over-year than any quarter in its history. Dave Fildes, Director of Investor Relations, mentioned on the call that “If you account for this COVID anomaly this year of [AWS re:Invent] being virtual and free, AWS year-over-year revenue growth, if you look at it, actually accelerated adjusting for that from the third quarter to the fourth quarter,” an interesting tidbit both from the perspective of gaining a glimpse into what re:Invent actually does for the company, and that AWS revenue is accelerating.
While Amazon specifies AWS revenue, Microsoft only reports on Azure’s growth rate. That number is 50% revenue growth over the previous quarter. This time last year, growth was reported at 62%. 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 23% to $14.6 billion. The operating group also includes server products and cloud services (26% 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.
Nonetheless, Microsoft’s cloud business is clearly generating success for the company. Intelligent Cloud delivered the highest operating income of all segments this quarter at $6.4 billion, which is 36% of total consolidated operating income.
In more exciting news for public cloud followers, Alphabet has broken out Google Cloud revenue for the first time. Thus we learned that while Google Cloud revenue has increased over the last three years, so too have their operating losses. CFO Ruth Porat notes that these operating losses “reflect that we have meaningfully built out our organization, ahead of revenue.”
This quarter, Google Cloud reported revenue of $3.83 billion, an increase of 47% year-over-year. Operating losses were $1.24 billion compared to losses of $1.19 billion one year previously. For the full fiscal year 2020, Google Cloud’s revenue was $13 billion, with $5.6 billion operating losses.
Note that the Google Cloud unit includes not only Google Cloud Platform but also Google Workspace (formerly G Suite).
One highlight was that deals over $250 million tripled during 2020, and several billion-dollar deals were closed during the year.
We’ll add Alibaba Cloud to this list for the first time as the cloud computing division is profitable as of this quarter. The cloud computing arm of the Chinese retail giant earned $2.47 billion this quarter, an increase of 50% year-over-year.
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.
As of February 2021, Canalys reports that the worldwide cloud market grew 32% this quarter to $39.9 billion. For the full year of 2020, cloud infrastructure spending grew 33% to $142 billion. AWS has 31% of the market, followed by Azure at 20%, Google at 7%, Alibaba Cloud close behind.
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. 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. With that said, all players are pushing growth and innovation and driving public cloud adoption across the board.
AWS credits are a way to save on your Amazon Web Services (AWS) bill. Credits are applied to AWS cloud bills to help cover costs that are associated with eligible services and are applied until they are exhausted or expire. Essentially, credits are a coupon-code like mechanism used by Amazon on your bill. If you want to see how to redeem your AWS promotional credits, look here.
So how do you get these credits? There are a number of ways – here are 11 that we have either used ourselves or that have been successfully used by our customers.
With AWS Activate, companies can build or scale with up to $100,000 in AWS promotional credits. AWS Activate is ideal for startups because they get access to resources as quickly as possible, and AWS provides them with a low cost, easy-to-use infrastructure to help them grow.
This is a big help for startups, knowing they are getting their money’s worth with these credits lets them focus on one thing – growth. If you are looking to get started on AWS definitely check this out.
AWS Activate offers two packages designed for startups, AWS Activate Founders (for startups without funding) and the AWS Activate Portfolio (for startups associated with an AWS Activate Provider).
AWS Activate Founders
Offered as part of the AWS Activate program, AWS Activate Founders is designed as a package for bootstrapped and self-funded startups that haven’t raised any venture capital, seed, or angel funding. If your organization isn’t affiliated with any accelerators or incubators then you are eligible to apply. This package provides credits, resources, as well as dedicated technical and business support to help startups build, test, and deploy on AWS.
After applying and getting approved, startups will receive up to $1,000 in Activate Credits and $350 in Developer Support Credits. The $1,000 credit is valid for two years and the $350 credit is valid for one year, this way you can get started building and experimenting with AWS.
AWS Activate Portfolio
The AWS Activate Portfolio package differs from the other package offered in the Activate program because these startups are affiliated with an AWS Activate Provider, meaning some kind of seed/VC firm, accelerator, incubator, or other startup-enabling institutions.
This package offers startups up to $100,000 in AWS Activate Credits – different portfolio offers will have different benefits. With the portfolio, you can either receive AWS Activate Credits that cover AWS services, or AWS Activate Business Support credits that cover technical support.
Publish an Alexa Skill
For all you developers, each Alexa skill that you publish, you can apply to receive a $100 AWS promotional credit. Take advantage of these credits to get all your skills potential!
Attending AWS webinars, events, and conferences can get you AWS credits. In order to be awarded the credits, you’ll have to provide proof that you actually attended. Make sure to keep an eye on their events page, as new stuff is being added all the time.
In an effort to educate the next generation of cloud professionals, AWS has made AWS Educate available to institutions, educators, and students. It provides institutions with the resources educators and students need for training resources, cloud-related learning, and content for courses. Students have the opportunity to receive credits by getting hands-on experience with AWS tech, training, content and career pathways.
At member institutions, educators earn $200 in AWS credits compared to non-member institutions they earn $75. Students receive an AWS Educate starter account with up to $100 in credits at a member institution and $30 at a non-member institution. To make this even more appealing, AWS will award students and staff with more credits if you sign up as a member institution.
During these times of virtual learning, AWS is also providing free resources such as webinars and workshops to help users continue to develop cloud skills.
AWS for Nonprofits & NGOs
Amazon offers three different programs for nonprofits; AWS Nonprofit Credit Program, AWS Imagine Grant Program and AWS Cloud Credit for Research. These programs are designed to help organizations of all sizes to overcome barriers to technology adoption, by enhancing the scale, performance, and capabilities of mission operations.
AWS Credit Program for Nonprofits
Through TechSoup Global, eligible nonprofit organizations can request one grant of $2,000 AWS credits once per fiscal year.
AWS Cloud Credits for Research
AWS Cloud Credits for Research evaluates academic research from researchers at accredited institutions around the world. Researchers that apply for this program take an initiative to build a cloud-hosted service, software, or tools and/or want to migrate a research process or open data to the cloud. The credit amount awarded will vary depending on the cost model and usage requirements documented in the research proposal.
AWS Imagine Grant Program
This program is a public grant that’s open to registered 501(c) nonprofit organizations that are using technology to solve the world’s most critical problems. The AWS Imagine Grant Program is offered as a way to have organizations prioritize technology as a mission-critical component of their projects.
Grants are given once, annually for up to to $100,000 in AWS Promotional Credit.
AWS focuses on education technology startups’ long term success with their AWS EdStart program. AWS is looking to provide businesses with the resources they need to get started as quickly and easily on AWS to ensure they have every opportunity to prosper. After applying and getting approved, businesses will receive their credit validation. The credit amount awarded is based on the business’s needs.
AWS Free Tier
As always, the AWS Free Tier is a great option to get access to AWS products for no cost. Customers can use the product for free up to specified limits for one year from the date the account was created.
This includes 750 hours of Amazon EC2 Linux t2.micro instance usage, 5 GB of Amazon S3 standard storage, 750 hours of Amazon RDS Single-AZ db.t2.micro Instances, one million AWS Lambda requests and you can build and host most Alexa skills for free.
You only have access to promotional credits for a limited time, so make sure you take advantage of all these opportunities if you can! Whether you are just getting started with AWS or have been using it for a while, there are plenty of credits and resources available to make AWS an affordable option for you.
Lately, many of our AWS customers (especially those purchasing through the AWS marketplace) have mentioned that they are using an AWS EDP, which stands for Amazon Web Services Enterprise Discount Program. Essentially, this is AWS’s way to provide enterprises a discount off its services based on a volume (consumption) commitment. In the most recent Flexera State of the Cloud Report, 37% of respondents using AWS reported using an EDP.
How does an AWS EDP work?
A simple example of how an AWS EDP or “AWS Enterprise Agreement” might work is as follows: for the next 3 years, you commit to spend $5MM on AWS services, and receive a 13% discount. Even if you don’t spend $5MM you would still owe them $5MM, and of course if you go over you would get billed for the overage. Of course, the terms and amounts are all up to negotiation with AWS.
AWS’s website does not provide a lot of information about these agreements, which is perhaps to be expected considering they will customize the terms for any given customer. Here’s what they say: “Customers also have the option to enroll in an Enterprise Agreement with AWS. Enterprise Agreements give customers the option to tailor agreements that best suit their needs. For additional information on Enterprise Agreements please contact your sales representative.”
There are a few things you should consider about the EDP contract terms you agree upon with AWS. For example, the agreement may be limited to certain accounts, services, and/or regions.
You’ll see big numbers in the news, such as Apple’s $30 million monthly on AWS or Pinterest’s $750 million multi-year deal – but even if you’re not a tech giant or a unicorn startup, an Amazon EDP can still be on the table and a way to get an across-the-board discount.
What Other Agreements Compare to an AWS EDP?
Going back to my days at IBM, we used to generally refer to discount contracts as Enterprise License Agreements (ELAs). An ELA is a software site license that is sold to large enterprises. It typically allows for unlimited use of single or multiple software products throughout the organization, although there were often some restrictions and limitations. During my time at IBM, these were sold upfront for a set dollar amount and term, generally 3 to 5 years and usually had a cap on usage, so at some point overages could kick in – which would help with the renegotiation, of course.
Other terms used with a similar concept include Site License, Enterprise Agreement (this is a common Microsoft term – EA), Volume Purchase Agreement (VPA) and All You Can Eat (AYCE). What all of these have in common is that the vendor gets a large revenue/spend commit, and the enterprise gets discounting and flexibility.
How Else can you Get an AWS Discount?
AWS provides enterprises with multiple ways to consume its services based on their business needs and get volume discounts. Traditional on-demand instances allow you to pay for capacity by the hour without any long-term commitments or upfront payments. AWS Savings Plans are a way to save by committing to use at a micro scale: you commit to a certain amount of spend per hour, and in return get a discount on the VMs you’re already running. The less flexible reserved instances are another option for applications with steady-state or predictable usage and can provide up to a 75% discount compared to on-demand pricing. Especially for smaller organizations, there are a number of ways to get AWS credits to ease the burden. And of course they promote scale groups, spot instances, and other optimization efforts to reduce spend and waste but those are more cost control opportunities then they are discounts. Plus, you can always wait for better pricing.
Should You Use an AWS EDP?
Whether you participate in this program is somewhat predicated on your existing partner relationship and amount of spend with AWS, but you can always reach out to your AWS representative. Before committing to an AWS EDP, ensure that you are confident your organization will consume the amount of resources you are committing to. Keep in mind that this can also include the AWS Marketplace. The third party solutions you can buy on the AWS Marketplace also count toward your AWS EDP, and leverage that discount structure — so before completing a third-party transaction, make sure you check the Marketplace to see if the cloud solution you buy is listed there.
There are a few different AWS IP address types that AWS instances can be associated with: Public, Private or Elastic. IP addresses will be either an IPv4 or IPv6 address. Here’s a little more about these types.
A public IP is an address that can be reached from the internet. You can use a public address for communication between the internet and your AWS instances. The best use case for Public IP addresses is for small projects where a dynamic IP can be used without much overhead. AWS has over a million public IP addresses and is constantly adding new ones.
Public IP and Elastic IP addresses are similar in the sense that they are both public and allow instances to communicate with the internet. However, they differ because of the way they are associated with EC2 instances. Public IP addresses are assigned to your instances automatically from Amazon’s pool of public IPv4 addresses once they are launched and remain assigned to the instance until the instance is stopped. If an instance is stopped, a new public IP address will be assigned once the instance is started.
Now let’s look at Elastic IP addresses..
Elastic IP Addresses
An Elastic IP address is static and designed for dynamic cloud computing. An Elastic IP address is allocated to your AWS account rather than with a specific instance. When you associate an Elastic IP address with an instance, it remains allocated to your account and specific instance until it is disassociated from either.
Elastic IP addresses are most commonly used to help with fault-tolerant instances or software. For example, if you have an EC2 instance that has an Elastic IP address and that instance is stopped or terminated, you can remap the address and re-associate it with another instance in your account. You can also re-attach the same IP address to the same EC2 instance when it is restarted, allowing IP-based connections to work seamlessly – and making it possible to start and stop instances to save money while not in use, without losing the IP address.
When it comes to pricing, you can use one Elastic IP address while your instance is running at no charge. But, if you have any additional Elastic IP addresses associated with the instance, or have an EIP reserved and do not use it, you will be charged a small hourly rate of $0.01/hr.
A private address in AWS is an IP address that is not reachable over the internet. You would use private addresses for communication between instances in the same Virtual Private Cloud (VPC). Private IP addresses remain associated with the instance when it is stopped or rebooted, it will only disassociate once the instance is terminated.
When launched, an instance can be assigned a private IP address or EC2 will automatically assign an IP address to the instance within the address range of the subnet. If you don’t specify a primary private IP address, AWS selects an available IP address in the subnet range for you. An additional private IP address, known as secondary private IP address, can also be assigned.
Multiple IP Addresses
While you can give your instance multiple private IPv4 and IPv6 IP addresses, it’s important to note that the number of interfaces and private IP addresses you can specify for an instance depends on the instance type. Multiple IP addresses can be assigned and unassigned to network interfaces that are attached to instances that are stopped or running.
Once you launch an instance, you can assign a secondary private IP address to it. If the instance has already been launched, then you can assign a secondary private IP address to a network interface. A secondary private IPv4 address that’s assigned to a network interface can be reassigned to an additional one as long as you explicitly allow it.
A few use cases where it could be useful to assign multiple IP addresses to an instance in your VPC are:
If you want to host multiple websites on a single server by using multiple SSL certificates and associate every certificate with a specific IP address.
Operate network appliances that have multiple IP addresses for each network interface.
To redirect traffic to a standby instance in case your instance fails – this is done by reassigning a secondary IP address to the standby instance.
Move private IP addresses between instances or interfaces
Additional Aspects of IP Addresses to Know
Amazon Virtual Private Cloud (VPC)
Every EC2 instance in a VPC has a private IP address, users can also opt to have a public IP address. This is a virtual network that is dedicated to your AWS account. VPC offers the ability to have an isolated network that’s dedicated to you, that you can control.
A subnet is a range of IP addresses in your VPC. You can currently create 200 subnets per VPC. if an instance is in a public subnet, it can have either a private, public or elastic IP address. However, if an instance is in a private subnet, it will only have a private IP address with the option of an elastic IP address.
Elastic Network Interface (ENI)
An ENI is a virtual interface that can be created, configured and attached to an instance within a VPC. An ENI can include a public IP address, a primary private IP address, an optional elastic IP address, one or more secondary private IP addresses, and more.
If you’re powering off servers using ParkMyCloud, then you’ll want to use an Elastic IP if you need to connect from the outside world. Otherwise, use a private IP for connections from within your AWS VPC. If you’re going to use Public IPs, make sure you’re careful when restarting the servers as the public IP address will change once an instance has been stopped and started again.
It sounds obvious when you first say it: you can scale AWS ASGs (Auto Scaling Groups) down to zero. This can be a cost-savings measure: zero servers means zero cost. But most people do not do this!
Wait – Why Would You Want to?
Maybe you’ve heard the DevOps saying: servers should be cattle, not pets. This outlook would say that you should have no single server that is indispensable – a special “pet”. Instead, servers should be completely replaceable and important only in herd format, like cattle. One way to adhere to this framework is by creating all servers in groups.
Some of our customers follow this principle: they use Auto Scaling Groups for everything. When they create a new app, they create a new ASG – even if it has a server size of one. This can remove challenges to scale up in the future. However, this leaves these users with built-in wasted spend.
Here’s a common scenario: a production environment is built with Auto Scaling Groups of EC2 instances and RDS databases. A developer or QA specialist copies production to their testing or staging environment, and soon enough, there are three or four environments of ASGs with huge servers and databases mimicking production, all running, and costing money, when no one is using them.
By setting an on/off schedule on your Auto Scaling Groups, you can scale them down to a min/max/desired number of instances as “0” overnight, on weekends, or whenever else these groups are not needed.
In essence, this is just like parking a single EC2 instance when not in use. Even for an EC2 instance, users are unlikely to go into the AWS console at the end of a workday to turn off their non-production servers overnight. For ASGs, it’s even less likely. For a single right-click to stop an EC2 instance, an AWS ASG requires you to go to ASG settings, edit, modify the min/max/desired number of instances – and then remember to do the opposite when you need to turn them back on.
How You Can “Scale to Zero” in Practice
One ParkMyCloud customer, Workfront, is using this daily to keep costs in check. Here’s how Rob Weaver described it in a recent interview with Corey Quinn:
Scaling environments are a perfect example. If we left scaling up the entire time – 24/7 – it would cost as much as a production instance. It’s a full set of databases, application servers, everything. For that one, we’ve got it set so the QA engineers push a button [in ParkMyCloud], they start it up. For a certain amount of time before it shuts back down.
In other cases, we’ve got people who go in and use the [ParkMyCloud] UI, push the little toggle that says “turn this on”, choose how long to turn it on, and they’re done.
How else does Workfront apply ParkMyCloud’s automation to reduce costs for a 5X ROI? Find out here.
Another Fun Fact About AWS ASGs
One gripe some users have about Auto Scaling Groups is that they terminate resources when scaling down (one could argue that those users are pro-pet, anti-cattle, but I digress). If your needs require servers in AWS ASGs to be temporarily stopped instead of terminated, ParkMyCloud can do that too, with the “Suspend ASG Processes” option when parking a scale group. This will suspend the automation of an ASG and stop the servers without terminating them, and reverse this process when the ASG is being “unparked”.
Try both scaling to zero and suspending ASGs – start a free trial of ParkMyCloud to try it out.
It’s time to start thinking about AWS re:Invent 2020! Since 2012, AWS re:Invent has been one of the biggest cloud conferences every year – last year they drew over 60,000 attendees from around the world. Like many other big events, such as Google Cloud Next and Microsoft Ignite, re:Invent is going to look a little different this year. Over the course of three weeks (November 30 – December 18), AWS will be showing keynotes, launches and sessions – the best part is that it’s free to attend this year.
Every year there’s an unofficial listing of AWS and Vendor parties that are going on at re:Invent, while they obviously won’t be happening in person this year, we can expect there to be some watch parties and online events to look out for. Follow @reInventParties on twitter or check out their website to stay up to date on all the events.
Although planning your schedule will look different this year, here are a few things to keep in mind:
Make a schedule – block out some time on your calendar in advance to allocate enough time for the event. The session catalog will be available on November 10. Once that’s live, we recommend putting sessions and keynotes into your calendar for a clean visual of your day, and reminders. With 3 weeks’ worth of events, it will certainly take some time to determine which sessions you are most interested in, though during registration, AWS does allow you to select up to 3 tracks (from a long list) to focus on. We’ll keep this article updated once there is more information about the schedule and whether some of the tools like this one from Carlos E Silva will be available to help navigate the scheduler.
Take advantage of the online resources – since the event is virtual this year – and free – you aren’t as limited to what you can attend/do, so make sure you optimize this unique experience.
Attend a watch party – virtual watch parties allow you to connect with individuals around the world, helping to supplement what would be the in-person mingling at the actual event. If friends or coworkers are tuning in, create a channel to chat about sessions and announcements. Also, make sure to follow the #reinvent2020 and #reinvent hashtags on Twitter to follow along. Earlier this year for the online AWS Summit there were watch parties so we can expect the same for their biggest event of the year.
Look for swag and other offers from sponsors – just because you can’t visit sponsors booths doesn’t mean you can’t get swag or see a product/service. Most sponsors will likely have an online swag/prize giveaway as a creative way to get the audience involved to make up for the loss of time at the conference hall. If there are any vendors you’re interested in, sign up for their mailing lists now or make a Twitter list to keep an eye out for fun (Millenium Falcon lego set) and useful (free product license) offers.
Get engaged now – of course, AWS isn’t waiting for late November to offer new product intros, case studies, and best practice guides. Check out the upcoming Tech Talks now.
What Will Sponsor “Booths” Look Like This Year?
On that note, AWS is offering sponsor booths for past sponsors, and their materials offer a glimpse into the as-yet-unclear format of the conference, with mentions of virtual meeting rooms and attendee chats. It remains to be seen how much participation we’ll see overall in these. They seem to have a few special events in mind, which we’ll share here once there’s more information.
Look Forward to the Announcements
Last year at re:Invent, AWS announced the launch of a bunch of services and additional services that were in preview – lookout for the announcements this year! Although this isn’t your typical re:Invent experience, this virtual platform will be able to engage individuals like never before. AWS is anticipating more than 250,000 attendees during AWS re:Invent 2020.