Canonical Voices

Posts tagged with 'ensemble'

Etherpad Lite is awesome. Have you ever organized a conference, large meeting, or foocamp and thought “wow, I could really have used an etherpad at this event.” But many times organizers don’t have the resources to get this kind of stuff running. Now, in an effort to make it trivial for anyone to set up an etherpad, James has implemented an etherpad lite formula for ensemble. 

Here are the steps. First install and configure Ensemble, this is just putting your AWS keys in an environment file and/or using a PPA if you’re not on 11.10. Then we bootstrap, snag James’ formula, and then deploy it in EC2.

ensemble bootstrap
bzr branch lp:~ensemble-composers/+junk/etherpad-lite
ensemble deploy --repository= . etherpad-lite

Right now we’re grabbing formulas from Launchpad but in the future that will be much more user friendly, where you can search for formulas right from the ensemble command (Like apt-cache search). It takes about 5 minutes to bootstrap, and then another 5-10 minutes to deploy, since it’s installing everything we need for Etherpad Lite and then installing it on EC2.

Then let’s check in how that’s going with:

ensemble status
2011-08-30 13:24:33,166 INFO Connecting to environment.
  0: {dns-name:, instance-id: i-6b706b0a}
  1: {dns-name:, instance-id: i-8f6b70ee}
    formula: local:etherpad-lite-5
    relations: {}
        machine: 1
        relations: {}
        state: started
2011-08-30 13:24:35,883 INFO 'status' command finished successfully

Ok as we can see there the service has state:started, which means it’s running. Node 1 is our instance so let’s hit it up, we hit up port 9001 because that’s the Etherpad Lite’s default port:

Neat huh? Ok so I don’t have a fancy URL like (Hint hint Gareth!) but you get the idea. I’ll leave it running for a while so you can mess with it. When your conference is done, save your data and tear it all down with

ensemble shutdown

or keep it around, up to you.

Currently it’s only running in a single instance, there’s no logic in the formula for load balancing or anything yet, but James tells me it scales pretty nicely on just once instance. You’ll also note that I don’t have to know/care about building node.js or npm or any of those dependencies. The formula author basically does the work for everyone, ONCE, and then people like me who aren’t familiar with deploying this sort of app can just enjoy using Etherpad Lite.

Ok so now $your_favorite_event can have an etherpad very easily. We’ve already made it easy to get mediawiki, it’s my hope that eventually we’ll have formulas for every service a conference would need to get running so they can just fire it up.

This is just an example on the public cloud, later on we’ll show you how to deploy to bare metal using these exact commands. 

Read more

Since every one else is doing it, I thought I’d play with more Ensemble tonight, but instead of firing something up I started working on a formula for summit, the tool we used to schedule UDS.

First Chris Johnston and Michael Hall started an etherpad with the instructions for installing summit (and we’re doing one for the LoCo directory too since we like biting off more than we can chew).

Here’s the first cut of the install script based on those instructions, then I went ahead and ran it in a VM to make sure it worked non-interactively. The documentation recommends that you have a plan before you start. Basically you are scripting an install on a brand new OS installation so you have to think of things you might normally take for granted, like remembering to install bzr or git before you pull something, heh:

When attempting to write a formula, it is beneficial to have a mental plan of what it takes to deploy the software. In our case, you should deploy drupal manually, understand where its configuration information is written, how the first node is deployed, and how further nodes are configured. With respect to this formula, this is the plan.

I did ok until I got to the python syncdb part of summit, which asked me a question, but not bad for the first shot. 

Of course, had I picked something packaged it wouldn’t be so complicated, my install script would just be an apt-get command but I think it’s useful to be able to just fire off an instance of summit right from trunk. 

The ability to just grab whatever you want right from trunk and fire off an instance is pretty powerful, I’m looking forward to seeing James Page’s etherpad-lite formula be ready so anyone can just fire one up for $your-favorite-conference.

Read more

People are talking a lot about Hadoop and Big Data. This is an area where a tool like Ensemble can really help out. Juan Negron has distilled the installation process for Hadoop on Ubuntu into a formula. 

Check out the instructions (1,2) that Mark was reading, and then you can see how Mark took all that Hadoop expertise and just used the Ensemble Formula to dramatically simplify the installation.

There is work going on to make the formulas easier to find and share, right now you pull it from a bzr branch, but the project is moving along at a fast rate, you can find out more about Ensemble on

Read more

Ahmed and I have tagged some Ensemble formula requests as bitesize. The PHP ones will be pretty straight forward, so if you’re deploying in EC2 and want to dive in and share your expertise (and snag some existing formulas for yourself!)

If you’re looking for a Formula for something you’d like to see to be made easy to deploy in EC2 please feel free to file a new bug.

You can find the docs for writing formulas here. If you’re writing an awesome app you’d like to see made easy to deploy in EC2, then let me know and we’ll get started.

Read more