Thursday, April 14, 2011

Ensemble Cloud Community Meeting Summary

Yesterday was the first Ubuntu Cloud community meeting to include Ensemble. It was such a blast. Personally I find the ensemble project to be incredibly cool, it's such a paradigm shift into how services (rather than servers) should be managed especially in this cloud age. Here's a quick summary of the main points mentioned during yesterday's meeting


  • The ensemble-team just landed some changes to formula authorship, specifically the relation-changed-hook was broken out into three separate hooks the relation-joined, relation-changed, relation-departed
    • joined denotes that a unit of the related service came online
    • changed denotes the unit of a related service changed its settings
    • departed denotes the unit of a related service went offline
  • This hook split is helpful to avoid subtle race conditions, and make formula authorship easier
  • Ensemble team is now working on formula upgrades
    • For now the team is only tackling an initial step of upgrading just the formula itself and only if it's already running
    • Example command would be: ensemble upgrade-formula --repository=examples mydbservice
    • That will look into the repo directory for a formula matching the formula of myblog, verify its a newer revision, upload and it mark the units for upgrade
    • On the unit side, they'll detect they need upgrades, download the formula, and most importantly, execute the upgrade-hook from the new formula
    • A suggestion came up, that the upgrade hook would be informed which version the upgrade process is starting from
  • A Question comes up, whether hooks should be implemented in a specific language. The answer is that all hooks are effectively just executables, those executables can be in any language and use any tools they'd like
  • Ensemble team is also working on orchestrating around firewall addressing such that the firewall is configurable by the ensemble user (ensemble expose, ensemble unexpose), with corresponding hooks (exposed, unexposed), and hook commands  (open-port, close-port)
    • The draft for that is on http://people.canonical.com/~niemeyer/ensemble/drafts/expose-services.html
    • expose and unexpose are for now operating on top of ec2 security-groups, in the future however multiple backends can be implemented (cisco firewalls..etc)! Without even needing to change the formula, quite impressive!
  • A question was asked whether ensemble is ready for public collaboration, the answer to which is a definite yes!
    • Grab the code today: bzr branch lp:ensemble
    • Join the mailing list: https://lists.ubuntu.com/mailman/listinfo/Ensemble
    • Join IRC channels #ubuntu-cloud, #ubuntu-ensemble
If you liked this, be sure to join the next meeting (Every Wed, 18:00-UTC in #ubuntu-cloud). Have questions or comment? Leave me a comment right here, or ping me (kim0) on IRC

No comments: