Three weeks ago VMware announced and launched Cloud Foundry (right before I went on vacation, one of the reasons for the delay in this post). An open source Platform as a Service (PaaS) designed to support multiple programming models and multiple clouds for eventual deployment to. In the past three short week Cloud Foundary has seen thousands upon thousands of developers signup and receive free beta accounts…with an apparent growing queue as I’m still waiting on mine…I guess that’s what I get for taking a vacation and signing up late.
Between Rod Johnson’s post and Steve Herrord’s post introducing Cloud Foundry, you get a good sense of the initial offering (summarized by the above image). There are also a number of more detailed posts available at the Cloud Foundry Blog and of course the real gritty stuff of the open source code available at CloudFoundry.org.
But what does all this mean in the bigger picture to the Enterprise Programmer?
I have been dealing with a number of client product development teams recently. The conversations have classically revolved around vSphere and vCoud Director and how they could use this to help automate their internal dev/test environments…yes, build a dev/test private cloud. Lately, the meetings have not just included the IT support group from the team, but also developers. More questions have been coming up around how the developers would interact with this private cloud. If the developers have used AWS before, they start to compare and contrast it to AWS. Which tends to be an apples to oranges comparison to vSphere + vCloud Director as they only provide the IaaS, not a PaaS. With the addition of vFabric and the Cloud Foundry capabilities, a dev/test PaaS Cloud becomes a reality.
Even better, the enterprise developer can use many of the dev tools they are already familiar within within Cloud Foundry. Moving forward, they don’t have to think in the boxed confines of their single programming environment to solve all their problems. Since Cloud Foundry can support multiple frameworks, and is open sourced to allow additional framework integrations, developers can now think about the best framework to solve the individual problems of their application. Spin up and down environments based on those frameworks quickly in the cloud and even hook automated test harnesses into their cloud for automated testing. Not that this is new in the general sense, but now the dev and test environments can expand and contract across the entire compute infrastructure, running as dev/test private cloud, based on demand and business need.
Self-admittedly, It’s been years since I last wrote any code and I may be simplifying things here…but that’s a large part of my job. A few years back I worked on boot strapping my own SaaS Application, so part of my simplification is based on personal experience. At that time, we were limited to a few VPS service providers (we used Joyent and Linode) and spent way to much time building out IT infrastructure on our VPS’ to support our application development needs (code repositories, bug tracking systems, agile development tools) not to mention the development framework components that needed to integration test within our environment (message queues, GUI frameworks, logging infrastructure). We tried building out local (on our laptop) VM based development environments, but we couldn’t integrate them easily into our cloud based VPS’…even more time wasted. At the time I was cursing the fact that we could just get this preconfigured in the cloud. We weren’t doing anything new. I hated re-inventing the wheel. In the end, time ran short and our personal window of opportunity closed on us before we could launch beta.
I expect to soon be seeing dev/test private clouds that will not only help to speed up and reduce the costs of current development projects, but allow entrepreneurial developers to turn their ideas into a beta reality quicker than ever before. Within the enterprise this means more flexibility using the existing computing resources. Some of the Private Clouds of today will quickly become PaaS Clouds with the help of Cloud Foundry and vFabric.
Do you agree? Or am I off my simplified rocker?