Will the Amazon Beanstalk Obscure the Azure Skies?
Amazon Web Services (AWS) today announced the beta release of its "Elastic Beanstalk" Platform as a Service (PaaS) offering
. The platform initially is available to Java developers only, but it sounds pretty snazzy: you wrap your code up as a Java WAR file (a Web Application Archive), upload it and deploy it. There are tools developers can integrate into Eclipse to do the upload or you can use the AWS Management Console. Wait a few minutes and then visit your app at http://myapp.elasticbeanstalk.com/ or something similar.
What's most notable about the Beanstalk offering, as far as I can tell, is that Amazon doesn't have a hard distinction between their PaaS and IaaS (Infrastructure as a Service) offerings. Instead of being two separate things, they are simply opposite ends of a spectrum, such that a Beanstalk PaaS instance can be customized slightly or modified to the degree that it becomes much like an IaaS EC2 instance.
So what does this mean for Microsoft's Azure cloud platform? Its claim to fame thus far has been that it's a PaaS platform, with an IaaS option merely being phased in (in the form of the Virtual Machine Role offering, which is now in Beta). That's been the story and that's why, for many customers and applications, Azure has looked like the right choice. Is it all over now? Let's take inventory of some important, relevant facts:
- Microsoft has said all along that they and Amazon would eventually each get into the other's territory. That is, MS knew it would have an IaaS offering and MS knew that Amazon would have a PaaS offering.
- Microsoft is working feverishly to round out its platform with things like RDP access, VPN connections, Extra Small Instances and Azure Drive (making VHD files in Blog Storage available as mountable NTFS drives in Azure Role instances).
- SQL Azure is a Database as a Service (DaaS) offering. Although Amazon offers access to MySQL (via its RDS service), Oracle and SQL Server, these services are essentially hosted services built around on-premise products. That's not the same as a DaaS database that is automatically replicated and tuned. Plus AWS' SQL Server offering includes the Express and Standard Editions only. Moreover, SQL Azure offers automatic publishing of data in OData format and will soon offer cloud-based reporting too.
- Perhaps most important: the fact that Azure treats its PaaS instances as distinct from its IaaS ones makes the architecture especially well suited to spinning up and tearing down machine instances. By having apps able to execute on what is essentially a generic VM, Microsoft assures that developers will build apps that deploy seamlessly and with minimal risk of dependency on environment or software version specifics. Arguably, that removes impediments to availability and smooth operational logistics.
In any case, competition in this sphere is very important and helpful. That's a bit of a platitude, but it's still true. AWS offers virtual servers as a commodity; Azure offers an application execution and data processing environment. Each offering has its place, and if Amazon and Microsoft both stretch from their home bases into the other's territory, that rounds out each offering and keeps both companies honest and innovative.
It should also make each product increasingly economical. That's good news for customers, and for their customers and investors.
Posted by Andrew J. Brust on 01/21/2011 at 1:15 PM