In the past, I have advocated utilizing AWS to quickly spin up some development environments. It’s not that tedious to do, but it can take a little bit of time, and it can also have some costs associated with it. Ideally, it would be nice to have something out there that made setting up environments even easier, and it would also be nice if it were free.
One of the podcasts I listen to on a regular basis is The Cloudcast. Last month they had an interview about VMWare’s Cloud Foundry push. Cloud Foundry is the “Open Platform as a Service Project”. As with other PaaS offerings, like the Salesforce.com acquired Heroku, the idea is to provide the platform stack you need, without having to worry about the underlying hardware, software, storage, OS, etc. To use the popular LAMP stack as an example, it really doesn’t matter what version of Linux is being utilized for most LAMP development, and the same is true for Apache HTTP Server. What you want are updated, patched, and configured versions of the OS and web server. A proper PaaS abstracts away the server infrastructure. With Cloud Foundry the attempt is also made to make moving between various PaaS providers as easy as possible, with standard APIs, service, and language support. The goal is to introduce true cloud application portability.
There are a number of partners that VMWare is pushing, along with their own PaaS CloudFoundry.com. There are also “community leads” for a number of languages:
AppFog was originally focused solely on PHP, and was named (appropriately enough) PHPFog, but they have since received $8 million in funding and expanded their scope.
Okay, enough background. Here’s what makes AppFog so appealing: Absolute simplicity in getting things running, and a nice free tier that should allow for the development of fairly complex applications. For simplicity, it doesn’t get more straightforward than this:
Step 1 – Select your application’s base:
Step 2 – Select your infrastructure:
Step 3 – Enter a unique subdomain, and press Create App:
And that is it. Nothing more is required to setup your application stack and to get things running.
Getting your code onto the new instance is pretty straightforward, especially if you’re used to Git or SVN. It’s based on Ruby, and they have simple instructions here on how to get Ruby setup on your system if you don’t have it yet. Once you’ve got Ruby installed and the AppFog gem installed, this is all you have to do (“ericbrandel” is the subdomain I specified in Step 3 above):
af login af update ericbrandel
So, pretty cool stuff, obviously. There’s actually even more for developers to like about AppFog than what I’ve shown above, as well as some minor bugs that I’ve encounted, but that will have to wait for part two, which I will link here when completed.