Ensemble principles

Dustin Kirkland kirkland at canonical.com
Wed May 25 17:03:24 UTC 2011

On Wed, May 25, 2011 at 9:56 AM, Ahmed Kamal <kim0 at ubuntu.com> wrote:
> I would like to start adding more information to the Ensemble website.
> Starting with the front page, I think it should answer the questions "What
> is ensemble, and why should I care". As such, I'm trying to define and
> portray the main principles (selling points if you will) that define
> Ensemble. Think of it as a slightly longer version of an elevator pitch. I
> came up with the following list, of course feedback is most welcome! While
> the current wording is definitely crude, at this stage I'm mostly interested
> in ideas that you think should be stressed upon.
> ==
> - Built for the cloud: Ensemble assumes cloud deployment is the norm, rapid
> and repeatable configuration is a necessity. <Cloud is not the only
> deployment target though>. Ensemble completely embraces devOps and
> Infrastructure as code principles <needs some nice wording>
> - Holistic Service Management: Core to the Ensemble vision, is managing
> "services" without worrying about the underlying machines. Getting a
> multi-machine deployment (such as a complex LAMP stack) requires lots of
> configuration information to be discovered and shared across the different
> machines. It also requires the actions to be orchestrated across nodes that
> are all collaborating for the creation of the service. Ensemble provides the
> framework to make that work seamlessly and transparently. Just like APT
> relieved us from worrying about package dependencies, and installation
> order, Ensemble reliefs from installing the correct packages on certain
> nodes, copying configuration information back and forth, and tying
> everything together.

Hi Ahmed,

To me, this is the most important point at this juncture -- I strongly
believe that we really, really, really need to focus the taxonomy of
Ensemble to this new concept of "Service Orchestration", and be very
vocal about how it's different from traditional "Configuration

Configuration Management is well known, understood practice today.
And there are numerous established open source players in that space
already.  Puppet, Chef, Cfengine all come immediately to mind.  And
it's well documented from an encyclopaedic perspective here:
 * http://en.wikipedia.org/wiki/Configuration_management

Service Orchestration is much newer, evolving directly out of the
paradigm shift of cloud computing.  Rather than tackling system
maintenance from a configuration perspective, (as you've noted)
Ensemble focuses on managing services.  Contrast the wikipedia article
on Service Orchestration, and you'll notice that the examples given in
this space are overwhelmingly proprietary (Oracle, IBM, Tibco).
 * http://en.wikipedia.org/wiki/Orchestration_%28computing%29

This, I believe, is where we can really make Ensemble shine and stand
out as the brazen new solution that it is.  I think we should rally
our communications, documentation, blog posts, etc., around this
point, and dominate the open source market within this Service
Orchestration space.

I have a blog post describing this in detail, drafted and ready to
publish as soon as Ensemble lands in the Ubuntu archive.


Dustin Kirkland
Manager, Systems Integration
Corporate Services
Canonical, LTD

More information about the Ensemble mailing list