ActiveState was thrilled with the arrival of VMware’s Cloud Foundry platform. The demonstrations of this technology at VMware's launch of the Cloud Foundry PaaS showed everyone how deploying Ruby, Node.js and Java applications to the cloud could be simple and fast. We have chosen it as the infrastructure for Stackato, ActiveState’s cloud platform for Python & Perl, and we believe that it will become the dominant platform for dynamic language application hosting in the cloud.
Learning from experience
We had previously done work on cloud infrastructure and helped others bring Python applications into the cloud with the ActivePython AMI. We learned a lot about EC2 setup and automation and became well acquainted with the limitations of the available tools and the frustration of having to code the missing pieces ourselves. If we had a need for better cloud management, surely others did too. The ActivePython AMI Toolkit started to develop into something similar to Cloud Foundry (but more specialized and obviously Python-specific).
When Cloud Foundry was released we saw a nice, generalized, open source framework to build on.
We liked vmc. It's a nice, Heroku-like client which simplifies user interaction with the system. Simplifying the user interface is good, but it also presents some limitations. We've chosen to clone the functionality in a 'stackato' client in order to add some features that are needed for the frameworks we support (e.g. running remote commands). This means we are able to eliminate vmc's client-side Ruby dependency for our users (primarily Python and Perl developers) and instead provide a single executable with no further dependencies that can be obtained by direct download or via PPM or PyPM.
Like VMware, we've decided that the "micro-cloud" VM format is an excellent way to introduce people to the technology. Users start up a single Stackato VM with all of the components necessary for a full Stackato server implementation. When they're ready to move on to a vSphere cluster or IaaS provider, they can use the same micro-cloud VM image to create servers fulfilling particular roles (Cloud Controller, Router, DEA).
Where we are now
We have hit some design issues and bugs in the early stages of development, but we are confident that through some extensions and working with the Cloud Foundry team directly, the system will become more robust and useful in short order. We see a lot of potential with this platform. One of our developers compared it to looking at code from early versions of Linux: a bit rough around the edges, but very promising. Cloud Foundry has done a number of things right, and is showing a great deal of promise and generating a lot of excitement.
We'll soon be extending the number of developers that get a chance to put Stackato through its paces, and we look forward to hearing what you have to say. If you're interested in being a part of this, please sign up for the Developer Preview.
