As expected, Amazon has finally stepped into the PaaS world. I have long been arguing in this space that PaaS is the future of Cloud Services and many in the Clouderati and some pundits were waiting for Amazon to go up the stack to PaaS. Even in a recent post on Amazon’s Android App Store strategy, I talked about Amazon’s impending foray into PaaS.
Unlike startups, enterprises are a different kind of beast and Amazon will need a strong presence on all three layers of the cloud, IaaS, PaaS and SaaS. Even though I expect them to go deep on PaaS in the near future, I don’t envision them being a SaaS player. It is not easy to become a multiple app SaaS provider targeting the enterprise market. Instead they can take an app store approach to SaaS (an opinion shared by fellow Clouderati James Urquhart). In future, they could establish an app store for web applications (like Chrome web store) as well as business applications suitable for enterprises. By doing this, they will not only have a SaaS channel but also have a direct relationship with those developers and vendors, which can further help their AWS business.
Well, it is official now. Amazon just announced their plans to move up the stack on their way to cloud domination. Their path to platform is called Amazon Elastic Beanstalk, a way for developers to deploy their app on the cloud and not worry about the nitty gritty details underneath it.
According to Amazon,
AWS Elastic Beanstalk is an even easier way for you to quickly deploy and manage applications in the AWS cloud. You simply upload your application, and Elastic Beanstalk automatically handles the deployment details of capacity provisioning, load balancing, auto-scaling, and application health monitoring. At the same time, with Elastic Beanstalk, you retain full control over the AWS resources powering your application and can access the underlying resources at any time. Elastic Beanstalk leverages AWS services such as Amazon EC2, Amazon S3, Amazon Simple Notification Service, Elastic Load Balancing, and Auto-Scaling to deliver the same highly reliable, scalable, and cost-effective infrastructure that hundreds of thousands of businesses depend on today. AWS Elastic Beanstalk is easy to begin and impossible to outgrow.
Unlike the other PaaS players like Heroku, Engine Yard, etc., Amazon is taking a different approach to platform services. Platforms like Heroku completely abstract the nuts and bolts underneath the platform services and let the developers push their app much like how they usually push into a git repository. The platform takes care of everything else. However, such platforms are focussed on one particular language and with quite a bit of restrictions imposed on the developers. Google App Engine is a perfect example of how developers are restricted on what they can and can’t do.
Instead, Amazon is taking a more general approach to platforms and they have launched an application container called AWS Elastic Beanstalk which can form the basis of any development platform. This approach not only helps the application developers not think about the nitty gritty underneath the platform but also offers platform developers more control over the technology stack. For example, according to Amazon’s programming model guidelines,
The default Elastic Beanstalk container lets you run Java applications in a Tomcat environment. Your application can make use of Servlets and JavaServer pages and you can mix the two of them as you would like. You can also use all of the usual Java EE classes and APIs as you would like.
Even though Amazon has been talking up Java development with this announcement, they have positioned themselves to move to stacks based on any language in a moment’s notice. Don’t be surprised if Jeff Barr spins out more late night blog posts announcing support for other languages. They are going to compete hard on the PaaS space not just against other startups in the space but, also, against Microsoft and Salesforce.com. 2011 is going to be hot in the PaaS world.
Outwardly, Amazon’s foray into PaaS space may appear to not bode well for many PaaS startups, especially the ones who run their platform on top of AWS. However, I wouldn’t write them off so fast. They can easily differentiate themselves from Amazon platform and lure the developers with additional value added services. For example, Heroku offers something called Add-Ons which developers can tap to use additional third party services as a part of their applications. Heroku add-ons can be used with just a single click, a feature not available in a platform like the one Amazon has released today. It is important to remember that the developer community is diverse with diverse needs and one platform services provider cannot satisfy all their needs. However, it will be interesting to see how these PaaS startups respond to this move by Amazon.
It will also be interesting to see how Microsoft and Salesforce.com react to this move by Amazon. So far, Microsoft employees have been trying to downplay Amazon competition by saying that both are in different market segments and there is no direct competition (a baloney, imho). This move puts Amazon directly in Microsoft’s territory and the competition between them heats up big time. With Heroku acquisition, Salesforce.com has indicated their willingness to approach PaaS in a more open way. This move by Amazon is bound to accelerate their strategy to capture the market before it is too late. There are two other players who are positioning themselves to capture the enterprise PaaS market, VMware and Redhat. It will be interesting to see how they react to Amazon’s move too.
In short, 2011 is going to be an exciting year for PaaS and it is truly going to change the game. This will add tremendous pressure on pure infrastructure players and we will have to see how they reposition themselves to an increasingly PaaS based world.
PS: This is a quick analysis I made immediately after Amazon released the news. My opinions will get fine tuned over the coming days and weeks and it will be reflected in my posts in the future.
What is really important is Amazon have the concept of an Elastic Beanstalk Container. When you create your application you choose your Solution Stack. Currently there are only 2 stacks:
64bit Amazon Linux running Tomcat 6
32bit Amazon Linux running Tomcat 6
Imagine if you could build and register your own Solution Stacks in the same way that you can build and register amazon machine images and take existing solution stacks and modify them. It will solve the problems with early PaaS products of lack of flexibility to tailor the components as often applications have all sorts of custom requirements (caching, third-party tools, version requirements etc). Hope amazon plan this in the future….
CumuLogic is also in Java PaaS space and we differentiate highly from beanstalk by offering choice of containers and other infrastructure components (open source as well as commerical -stay tuned on details). We enable Cloud / Service Providers to offer enterprises such functionality on any cloud that enterprises prefer to deploy on including Private Cloud options.
Thanks Rajesh. Looking forward to our call in Feb.