Due to the increased agility and reduced costs offered by moving applications from data centers to the cloud, the infrastructure as a service (IAAS) market has really taken off. Gartner even estimated that the market was worth $16.5 billion in 2015 alone. And the lion’s share of that turnover was won by two cloud providers. Microsoft Azure and Amazon AWS.
With Amazon AWS being around since 2006, it had a four-year head start over its competitor. In this time, Amazon AWS has matured to have over x10 computer capacity than its 14 closet rivals put together. However, Azure is growing, and growing fast. In the 6 years since it was established, Microsoft has invested $15 billion in its cloud network, establishing data centers all over the world.
So, let’s find the answer to the question which is on the tips of everyone’s tongues. ‘AWS vs Azure. Which cloud provider comes out on top?’
Unsurprisingly, for many price is one of the main factors to consider when choosing a cloud provider.
The first thing to know is that due to the hyper-competitiveness of the cloud market, prices are on a downwards trend.
However, due to the huge variety of services on offer, an in-depth price comparison between with regards to AWS vs Azure is near impossible. Therefore, I recommend you check out both Microsoft Azure’s Pricing calculator and Amazon AWS’s Pricing calculator.
Yet, we can make a broad comparison of AWS and Azure’s basic pricing structures.
When it comes to AWS vs Azure, both offer enticing free tiers.
With AWS’s 12-month free tier, you’re provided such services as an Amazon EC2 t2.micro instance which you can run over 700 free and paid software products for up to 750 hours per month.
AWS also offers some non-expiring services, the highlights being up to 25GB storage in its Amazon DynamoDB and a whole range of CloudWatch metrics, alarms and requests. For a full list of expiring and non-expiring services, click here.
As for Azure, all the offerings under its free tier have no expiration. Therefore, you can enjoy such features as App Services (which include 1GB of disk space, 500 active mobile devices per day and 10 Logic Apps Definitions) for as long as you want. Furthermore, upon signing-up, Azure will give you $200 to build up your cloud. But you must spend the funds in the first 30 days. If you want a full rundown of everything included in Azure’s free tier, click here.
The biggest takeaway regarding AWS vs Azure free tier is that AWS gives you access to an EC2 Instance usage which you have full control over, while Azure’s App Services allow you to raise computers only for running your apps.
Subsequently, it’s a close call between AWS vs Azure when it comes to free services. AWS give you more control, while Azure's free tier doesn’t expire. However, if you’re looking to run a cloud with any real capacity, you’re going to have to part with some cash.
Azure charges for usage by the minute, whereas AWS rounds up to the hour. While on the surface AWS might seem more expensive, this cloud provider also has some pretty flexible pricing options.
As opposed to Azure, AWS offers more than just a pay-as-you-go pricing structure. Firstly, AWS offers Reserved Instances which allow you to reserve instances for either a 1 or 3-year term, and save up to 75% along the way. This is a good option for users who require a steady state usage for their applications.
AWS also offers Spot Instances. Spot Instances allow you to bid on spare Amazon EC2 computing capacity, giving you the opportunity to save up to 90% off the On-Demand price.
#2 Cloud Computing Instances
The number and capacity of instances are undoubtedly one of the main comparison points in the battle of AWS vs Azure.
As it stands, AWS offers 54 instances types to Azure's 52. Also, AWS has a massive 67,137 image choices, compared to Azure's 2,843.
When it comes to the number of OS supported, AWS comes out ahead again with 11 OS against Azure's 9. However, it's really a tossup between the two, as both support a whole host of open source and Windows operating systems.
Also, if you’re looking for CPU capacity, AWS is for you. The max CPUs for an AWS EC2 instance is 128, whereas it’s 32 for an Azure VM instance. Therefore, if you need your instance to pack a punch to support compute-intensive processes such as graphic apps and complex algorithms, you should go for AWS.
However, when talking about memory, Azure takes the cake. The max RAM capacity for a VM is 488GB compared to 244GB for an EC2. Subsequently, if you have an obscene amount of data to store and you want to access it quickly on-demand, go with Azure.
To be honest, when it comes to compute-capacity, both are heavy hitters, and there's little difference between the two. After all, who seriously needs more than 2,843 image choices or 244GB of RAM.
Central to any organisation looking to achieve an agile software development environment is continuous deployment. Therefore, you need to be confident your cloud provider will give you the boost you need to get your products to market before your competition.
As you have probably guessed by now, the competition between AWS vs Azure is pretty tight here as well. You can deploy using both MSDeploy or Powershell for Azure and AWS, and you can also deploy to an autoscaling group and from Visual Studio with both cloud providers. However, in this round of AWS vs Azure, Azure comes out on top.
Azure offers a staging deployment slot, ensuring all instances of the slot are 'warmed up' before swapping the deployment slot into production. This not only eliminates any downtime when you deploy your app, but also no requests are dropped when you swap operations. All in all, Azure makes setting up a continuous delivery environment as easy as pie.
Other points to consider in the battle between AWS vs Azure is how many databases each supports, how easy it is to back up your data and if any data warehousing services are offered.
AWS supports 6 Relational Databases, while Azure only supports 2. One of the noticeable exceptions in regards to Azure is Oracle. However, this doesn’t mean you can't run an Oracle server on Azure, you just have to set up a VM and manage it yourself - a situation which most would choose to avoid. In regards to NoSQL engines, both support 2, and there's little to choose between them.
When it comes to backing up your data and managing your SQL Server as a Service, Azure is the easier option. Of course, AWS also allows you to perform these functions, it's just that Azure's interface is more intuitive and less of a hassle to set up.
Cut long story short, if you just want an SQL Server in the cloud and you don’t want to worry about managing it, my money’s on Azure. However, go for AWS if you're looking for a variety of Relational Databases with a higher degree of control.
In regards NoSQL offerings, Azure's Document DB does look better on paper. Yet in reality, AWS's DynamoDB offers better support across different languages, integration with SDKs and tooling.
When you're in the cloud you're working remotely. Therefore, when things go wrong, you need to know fast, so you can resolve the issue.
Both AWS and Azure have custom dashboards which allow to quickly and easily monitor the metrics and analytics essential for measuring the performance of your app.
Both AWS Cloudwatch and Azure Portal also give you notifications and alerts when there any app issues, as well as tracking your CPU usage. Yet when it comes to centralized logging/reports and error reports, there is a clear winner between AWS vs Azure.
AWS’s Cloudwatch displays logging information for all services in one central and easily accessible location. But with Azure Portal, you will have to poke around your subscription and manually check out your resources' metrics to identify any issues.
#6 Support and Reputation Among Customers
Specs aside, a good indication of who wins the battle of AWS vs Azure is the level of support each cloud offers, and the provider’s reputation among its customers.
When it comes to whitepapers and webinars, AWS certainly has the edge. On average, AWS produces 12 webinars and 5 whitepapers per month, while Azure’s offerings are few and far between. In fact, upon doing a little research I found that Microsoft has only produced 1 webinar this year so far! However, I’m going to give credit where credit’s due. Their weekly podcast Azure Fridays on Channel 9 is great! They have a whole host of developers coming onto the show, explaining the ins-and-outs of the service in a fun and engaging way.
As for reputation, AWS has become widely known for giving its customers the freedom to pick, choose and build their cloud services. Microsoft Azure has taken a different approach. Rather than having a huge array of features, it focuses on making the products it does have as simple and easy to navigate as possible. So, if I was going to use a car analogy, AWS feels like building a car from scratch, while Azure is like building a kit car.
A final thought. Over its years of operation, AWS has built up a great reputation with its customers for its huge range of features and services. However, Azure is becoming a big hit with existing Microsoft users, as it links well with key on-premise systems such as Windows Server, System Center and Active Directory.
AWS vs Azure - Which Cloud is for You?
So, now we’ve deep dived into what each cloud has to offer, let’s have a quick overview of how they stack up:
As you can see, there’s not a whole lot to choose between AWS vs Azure, yet AWS does come out narrowly ahead. However, this does not mean I recommend all users flock to AWS. The cloud provider you choose really does depend on your use case scenario.
If you’re looking for a cloud provider with a huge array of features so you can build your VM yourself, a proven track record of market success and a flexible pricing structure which lets you wheel and deal on cost, I say go with AWS.
However, if your organisation is already familiar, invested and satisfied with other Microsoft products, has a strong focus on continuous deployment and just wants to get their cloud up and running without getting into the nuts and bolts, the consensus says go with Azure.
So there you have it. A run-down of AWS vs Azure. Now all you need to do is choose which one is the best fit for your organisation.