This is part 2 in our ongoing series on Crowbar and the new Cloud Foundry barclamp. If you haven’t read part 1, go here. We’ll wait for you. I’ve got some nice sweet tea when you get back.
If you’ve followed the “cloud world,” you’ll know that in CloudLand, there’s three kinds of aaS. Crowbar was built as an *ahem* lever to get your IaaS in place. With the CloudFoundry barclamp, you can now begin to build a PaaS installation (Okay, this one’s brand new and has some limitations, we’ll talk about that in just a bit…) that can host web applications built on a wide variety of frameworks. (Seriously… with the latest announcement, just about any Linux/open-source based web application can be adapted to fit.)
Cloud Foundry in a Nutshell
Before we dive into running the tutorial, let’s get acquainted with Cloud Foundry and it’s architecture.
Cloud Foundry is a hosting platform for web applications. It provides runtime environments for Java, Ruby, Python, and PHP, along with a handful of dependent services like MySQL, RabbitMQ, and Redis. So you can build, say, a lightweight Sinatra app that is only an API broker to other services, or a full-blown Spring-based website with a Redis cache and MySQL back end and host them in the same hands-off (from the developer’s perspective, anyway) platform.
How does that work? Magic, my friend, magic… well, really it’s an asynchronous Rails app handling the API, talking via a NATS messaging queue to spin up the various parts for you as needed. There’s a gem you can install that’ll do all the API work for you, called vmc. You can always use the code inside the gem for some further automation if you need it, or just wrap it into your continuous integration loop to automatically deploy the latest version of your app on a successful build. (My team at DTO did it, roughly, a few weeks ago as a proof of concept)
I’ve got some links for you with much, much more in-depth information. Please wade through them at your leisure:
- Our own Cloud Foundry notes page, compiled by Alex Honor.
- In-depth discussion of the components, by Ezra Zygmuntowicz (one of the core Cloud Foundry team)
- More under-the-hood stuff on application deployment from the Cloud Foundry blog
Enough already, on with the worky bits!
I’ve put together a tutorial on how to get our own Cloud Foundry instance running on your Crowbar environment.
Now, this barclamp is in its early stages: it’s a port of the chef-solo cookbooks VMWare put together in their development environment install script… so it only supports a self-contained single box install at the moment. Work will be proceeding on shoring up the installation so that we can break out the components across multiple servers so you can create a truly dynamic environment to host just about everything. Have questions? (Yup, their cert’s bad. They know.) Want to help? Get involved!