Conversations concerning PaaS trended upwards this week on the heels of the AWS Elastic Beanstalk (Beta) announcement. If you missed it, Elastic Beanstalk represents the first foray into PaaS by the historically IaaS-centric cloud provider. The new service provides an application-centric front to the EC2 cloud by automating application deployment and providing application services such as scaling, monitoring, version management, and more. Essentially, the model put forth is one where users bring the application they want to run and Elastic Beanstalk produces the infrastructure and runtime services necessary to make that happen.
The fact that AWS has interest in moving up the stack is not at all surprising. I imagine their motivations are many, but two obvious ones come to mind. While a relatively young venture, the history of AWS paints a picture of a company that is not keen to rest on its laurels. Their pace of innovation in the public IaaS cloud services market has thus far continued to separate them from most other providers in this burgeoning segment. Elastic Beanstalk seems to hint to an AWS realization that further differentiation will force them to expand beyond the IaaS layer and into the PaaS layer.
The other reason I think AWS is intent on addressing PaaS may be a bit glib, but: ‘Why not?’ They already built a very robust IaaS layer of raw infrastructure and supporting services. They have a healthy ecosystem of vendors that provide potential targets for PaaS-style deployments on their IaaS cloud. The building blocks are there, so it almost seems that they are duty bound to make a run at it. Further, other providers are already doing it, or no doubt, planning to do it. Some are even using EC2 infrastructure and services to support their solution. AWS cannot sit idly by and watch others build higher levels of value on top of their offspring right?
Okay, that is enough of the admittedly amateur analysis of the motivations behind Elastic Beanstalk. Discussing the reasons that prompted the move is interesting, but there are two issues to ponder that are more relevant and interesting:
– Just how dedicated will AWS be to Elastic Beanstalk?
– What does this mean for application platform providers?
As I said earlier, by all accounts AWS is fervent in its dedication to innovation in the public IaaS cloud space. Will we see the same pace of innovation when it comes to Elastic Beanstalk? The answer to that will determine, among other things, whether we see a timely expansion of programming languages and platforms beyond the initial support for Java on Tomcat. Anecdotal evidence from users I talked with, and those that I heard on an Elastic Beanstalk webinar, points to the fact that there is significant interest beyond both Java and Tomcat as a host for Java. Is this the normal reaction to new offerings (users always want one more thing after all), or is it a clear sign that users want more fast?
If, as I tend to believe, it is the latter, AWS may find itself in the position of having to move quicker than even they want in order to attract the critical mass necessary to warrant continued investment in Elastic Beanstalk. They may find that quickly attracting this critical mass is a bit harder in the PaaS layer than the IaaS layer because of higher fragmentation and less commoditization at the application platform level. In any case, the relationship between the expansion of capability and rate of adoption will be interesting to watch with this new AWS offering.
The second big issue that Elastic Beanstalk raises in my mind is more long-term, less specific to Elastic Beanstalk, and more general to the rise of PaaS that the solution could help to usher in. Growing adoption of PaaS-style deployment models may have a significant effect on the providers of application platforms. Let’s consider an example. Say you are using Elastic Beanstalk to deploy an application and you can choose from either platform X or platform Y. Both platforms cost the same per hour to run. The PaaS solution (Elastic Beanstalk in this case) automates application deployment, provides application services, and otherwise shields you from having to perform administrative duties on the application platform. Which platform do you choose and why? Does it matter?
As fellow IBMer, Savio Rodrigues, points out about some Java focused vendors, application platform providers that historically pushed their platform based on low or no acquisition costs may have problems in the above scenario. Savio also points out that, as has always been the case, he expects some providers to compete on value rather than price. I completely agree. The question is what kind of differentiating value will we see from providers? I suspect some will focus on differentiating their platforms in cloud environments to make them more attractive for both the service providers (those using it as part of their PaaS solution), as well as consumers. Others may focus on differentiating their platforms by enhancing programming model support or optimizing for specific workload types. It is a bit too early to predict the specifics, but I believe that the rise of PaaS will have an affect on the makeup of application platforms in the future.
For me, Elastic Beanstalk is intriguing not because of a particular feature or set of features. Rather, it piques my curiosity because of the questions that it, and the broader PaaS movement raise. As you can tell, I certainly do not have many answers for those questions, and I think the truth is that no one does yet. However, that doesn’t mean we can’t have fun opining until it all sorts itself out!