Amazon AWS vs. Microsoft Azure Part 1

In today’s cloud computing services market, the biggest and the best providers are slugging it out for higher market share and revenue. Being a utility service, the service quality is what matters In this two part series, we would check out the two of the biggest names in cloud computing arena, the established leader and pioneer, Amazon and the relatively new entrant, Microsoft; who, by virtue of their huge installed base, are gaining market share every day.

Amazon was the pioneer in the cloud computing space, launching Amazon Web Services (AWS) as early as 2002. Since then, AWS has come a long way and today they are a much more stable/mature service, offering multitude of offerings. They started out as an Infrastructure as a Service (IaaS) offering, which now a days is seen extending since their offerings in RDBMS space, which more or less functions as a Platform as a Service (PaaS) service. Amazon’s innovative pricing ideas, with wonderful support to the developer community (by way of providing free tier etc) were one of the major factors in popularizing the platform with developers.

On the other hand, Microsoft introduced Azure in 2008, and has since developed into a noticeable competitor to AWS, at least in certain market segments. By definition, Azure is a PaaS offering, wherein the customer need not worry about the intricacies of the platform management. Azure started off as a PaaS, however, Microsoft has recently announced VM role service, which allows uploading the entire VM (Virtual Hard Disk (VHD) created using Hyper-V) to the platform. Currently it is in beta, and works with Windows Server 2008 R2, though support for more Windows Server version is expected to come in.

With IaaS, one of the major talking points is the freedom enjoyed by the developer; however that freedom comes at the price of the manual effort that goes in setting up and maintaining the virtual machine on the cloud. On the other hand, PaaS offerings limit the freedom available with tweaking of the OS, but allow the user/developer to be free of the maintenance hassles.

In terms of general diversity of services offered, AWS takes lead by virtue of its offerings on both Microsoft technologies and Non-Microsoft technologies world. For example, AWS offers RDBMS on cloud in the form of Oracle and SQL Server both (in addition to mySQL and others); similarly AWS allows both Windows and Linux server platforms. Whereas Azure only offers Microsoft family of products, SQL Server and Windows Server respectively.

The integration with other services is a major boost for Azure. Being a Microsoft product, and given the huge stack of MS products available in almost every business area, Azure integrates very well with most of them, and that too with little effort.

AWS on the other hand, doesn’t really come very close on this front. They just act as an IaaS provider, and leave the rest to the developer of the application. Though the developer can still achieve the same level of integration, the effort in achieving that is quite high as compared to the effort that needs to be put in for Azure.

Though Azure has opened up quite a bit to the rest of the technology world, their primary focus has been Microsoft technologies. They support languages like ruby and php. However, the packaging has to be through Visual Studio and then only the deployment can happen. This dependence on the MS tools is a barrier to many.

The market has segmented itself in a way that applications that truly are on MS technologies align with Azure. All others go to AWS by default. However, with emergence of certain other specialized providers, e.g. heroku for rails, the market share of AWS has taken a bit of hit.