Amazon AWS vs. Microsoft Azure
Disclaimer: my experiences with Azure have been limited to a few
What Makes a Cloud
For the purposes of this review, I am defining a cloud as on-demand
compute, storage and application resources, available in multiple
regions, charged based on consumption, and able to be provisioned and
managed remotely. I recognize clouds delivering Infrastructure as a
Service (IaaS) are very different from those offering Platform as a
Service (PaaS). This comparison will take an IaaS-centric view, since
complex business applications require more sophisticated building
blocks, including the ability to integrate with the rich variety of
third party tools and open source.
We have selected five areas upon which to compare our clouds:
- Compute - Ability to offer on-demand compute resources to meet different application performance needs.
- Storage - Ability to offer different types of storage, including
storage attached to compute (medium durability, high performance), and
long term storage (high durability, low performance).
- Application - Ability to offer on-demand application building blocks, such as relational databases, load balancers and queues.
- Data center - Ability to offer on-demand infrastructure in multiple regions around the globe.
- Integration - Ability to offer flexible integration, including access through a web-based console, command line and API.
Amazon AWS is the clear winner in our head-to-head comparison.
It provides a highly flexible compute service in EC2, offering the
widest arrange of configurations, support for a broad set of operating
systems, integrating rich image management, and providing full access to
the provisioned instances. Amazon also scores well on storage, offering
the two essential types of storage for building cloud applications:
attached storage (EBS) and long-term storage (S3). AWS also provide a
wide array of data centers in all regions, with an open API that
supports rich integration.
Microsoft scores a distant second in our comparison, in a large part
due to its confusing mix of IaaS and PaaS services. One one hand,
Microsoft offers traditional and pretty strong IaaS services in Windows
Azure Storage and SQL Azure Database. But its compute service is all
PaaS, but yet with support for a Virtual Machine role that ofers a
limited form of IaaS (which still restricts the third party applications
you can install; no wonder Microsoft SaaS applications do not run on
Azure). While you could in theory write an application for Azure using
Java or Ruby, it is clearly a Microsoft Developer Studio and
.NET-centric solution. I’ll confess to really liking one innovation
though: the ability to run your application on a personal cloud on your
development environment, and then push it to the public cloud. But at
its core, it seems Microsoft is attempting to straddle IaaS and PaaS,
and unfortunately for at least compute, delivers neither very well.
With its head start, it is not a surprise that Amazon would
beat Microsoft in a head to head cloud comparison. But it is a personal
surprise to me at the size of the gap. Over the years, I have seen
Microsoft roll like a Sherman tank through numerous markets, from office
suites to databases to the Internet. But it appears as though Microsoft
is working from a different playbook with Azure, driven by what appears
to be a defensive focus on maintaining the hegemony of Windows. Who
would have thought that an online bookseller would be beating the most
significant software company of our time at its own game? But there is
clearly something happening inside Amazon that is driving a pace of
innovation, willingness to take risks, and market aggressiveness that is
leaving companies like Microsoft in a cloud of dust.
Note: I started Windows programming in 1987 on Windows 1.01, and
have delivered six desktop and two web-based Windows products to market
in my career. I'll confess to having become awed by what has been coming
out of Amazon in the last few years - but would be hard to accuse of
being a Microsoft hater. ;)
Joe Kinsella is the VP of Engineering at Sonian. You can find this post, as well as additional content on his blog called High Tech in the Hub. You can also follow Joe on Twitter (@joekinsella) by clicking here.