Scalarium Beta Update: Custom Roles, Multiple Roles per Instance, Custom Chef Cookbooks
2010-03-26We've been quite busy ironing out quirks and adding new features over the last weeks, thanks to our awesome beta users providing valuable feedback. Time for an update on what's new and noteworthy.
Roles are a core concept of Scalarium, they describe what a particular instance is doing. Until now it was only possible to choose from a pre-defined set of roles that we found to be the most common. But of course the common case only covers so many use cases, and we ourselves want to be able to have roles like a Redis server, a CouchDB server or a RabbitMQ host. Enter custom roles. You can now specify your own roles. The process is pretty straight-forward, and I'll soon get to why it's so useful.

Before the most recent updates you could only have one instance per role. That means one instance served the database, and another served your application. For smaller setups this is not very desirable, so now you can assign multiple roles to a particular instance. So your Rails application server can now also serve as the database server. In the capture below I've assigned the roles "Rails Application Server" and "Redis-Server" to the same instance.

There's cases where we don't allow assigning multiple roles, e.g. a load balancer and a web server must be different instances, as both serve data from port 80.
It all comes together with the last noteworthy feature. It's no secret that we use and love Chef, a Ruby-based infrastructure management tool. We offer a pre-defined set of cookbooks, Chef's way to describe logical parts of Scalarium's infrastructure, to serve the default use cases to get your application running on Scalarium, but we want users to be able to customize their environment according to their needs, but through a way that is still in the spirit of the cloud.
Enter custom Chef cookbooks. You can now benefit from the big collection of publicly available cookbooks or simply role your own to customize your cloud infrastructure. Custom cookbooks are enabled on a per-cloud basis with the handy link as shown below.

To give you an idea how a cookbook is layed out, we built a simple collection to set up Redis as a server and a client for a Rails application. We'll expand the collection over time with more useful things. Your cookbooks can be put in a public or private Git or Subversion repository and will be pulled automatically.

We offer different events you can hook into, the initial setup (or provisioning) of an instance, its configuration and deploy. The configure event is sent whenever your cloud changes, e.g. instances going up or down. The deploy event is fired whenever you deploy your application through Scalarium. Just give us a comma-separated list of recipes you'd like to be run on one of the events, and Scalarium will make sure to get together all the right ingredients to cook up a delicious cloud soup on your instances.

We'll add some more detailed information on what kind of data you can access in your custom cookbooks and how to actually write a cookbook in the next blog post.
Just a while ago we added instance statistics, so you can get a small and a detailed overview at how your instances are doing. There's a tiny overview on every cloud's page.

To get the full picture, click on any instance, and follow the link "Monitoring".

That's far from all, we added support for deploying PHP applications and static code (e.g. plain HTML for web servers) and support for SSL. You can also specify a Rails environment for your application. Be sure to follow @scalarium for smaller updates as we go.
That's all for today, folks!

