machine constraints

Clint Byrum clint at ubuntu.com
Mon Apr 16 22:41:51 UTC 2012


Excerpts from William Reade's message of Mon Apr 16 09:04:03 -0700 2012:
> Hi all
> 
> Machine constraints have now landed in the PPA, and the documentation --
> at https://juju.ubuntu.com/docs/constraints.html -- should now be fully
> up to date.
> 
> Briefly: you can now specify the hardware on which you want your EC2 
> instances to run in reasonable detail, and you have some tools for
> controlling deployment on orchestra and MAAS.

William, thanks, and a great big w00t!

This is really, really cool and brings juju into a new area of capability
for deploying big and little sites.

To be clear, this allows you to abstract things pretty effectively.

Consider this:

juju deploy mysql --constraints mem=10G
juju deploy statusnet --constraints cpu=1

This will result in your mysql service being on an extra large instance
since it has 15GB of RAM. Your statusnet instances will be m1.small's
since that will have just 1 ECU.

Even cooler than this is now if you want a mysql slave in a different
availability zone:

juju deploy mysql --constraints ec2-zone=us-east-1a mysql-a
juju deploy mysql --constraints ec2-zone=us-east-1b mysql-b
juju add-relation mysql-a:master mysql-b:slave
juju add-relation statusnet mysql-a

Now if mysql-a goes down

juju remove-relation statusnet mysql-a
juju add-relation statusnet mysql-b

Much and more is possible, but this really does make juju even more
compelling as a tool for simple, easy deployment.



More information about the Juju mailing list