juju presentation 2011
DESCRIPTION
Juju presentation by Clint Byrum of Canonical.https://juju.ubuntu.com/TRANSCRIPT
1 Presentation by Clint Byrum
Juju – Welcome to Service Orchestration● VCLUG/VC PHP December 3, 2011
● Clint Byrum <[email protected]>
● SpamapS on IRC
● http://juju.ubuntu.com/
2 Presentation by Clint Byrum
DevOps Distilled™ - Isn't that config management?
● Config Management
● Machine Centric
● De-coupled from provisioning
● Knowledge Sharing Involves Customization and assumptions.
●Analog: ./configure && make && sudo make install
● Service Orchestration
● Service Centric
● Coupled with provisioning
● Designed for Knowledge Sharing
● Complimentary to config management
● Analog: apt-get install
3 Presentation by Clint Byrum
The Cloud
http://www.flickr.com/photos/gsbrown99/2706179635/sizes/o/in/photostream/
http://www.flickr.com/photos/kaptainkobold/5892507537/sizes/z/in/photostream/
http://www.flickr.com/photos/stevendepolo/4226949238/sizes/l/in/photostream/
http://www.flickr.com/photos/emsl/4929154481/sizes/l/in/photostream/
4 Presentation by Clint Byrum
Open Source
http://www.flickr.com/photos/smiteme/1184482747/sizes/o/in/photostream/
5 Presentation by Clint Byrum
Open Source + The Cloud = Juju!
● Yes this is the plug
● Some things are better served by NOT being in Ubuntu's archive.
● Juju in many ways makes Ubuntu Server invisible when using it properly.
6 Presentation by Clint Byrum
Charms are simple
● Some yaml metadata
● A few scripts that run at the right time
● Well encapsulated
● Written with whatever tool you want!
● Assumptions can be eliminated
● Easy to read, easy to review
● https://code.launchpad.net/charm
name: mediawikisummary: "website engine for collaborative work"description: | MediaWiki is a wiki engine (a program for creating a collaboratively edited website). It is designed to handle heavy websites containing library-like document collections, and supports user uploads of images/sounds, multilingual content, TOC autogeneration, ISBN links, etc.requires: db: interface: mysql slave: interface: mysql cache: interface: memcacheprovides: website: interface: http
7 Presentation by Clint Byrum
Relationships
● Various strategies
● - Assumptions in code
● - Assumptions in config mgmt.
● - Puppet – Exported Configs
● - Chef – Search
● - Juju – Fundamental component
http://upload.wikimedia.org/wikipedia/commons/d/d8/Wikimedia-servers-2010-12-28.svg
8 Presentation by Clint Byrum
Relationships
● Various strategies
● - Assumptions in code
● - Assumptions in config mgmt.
● - Puppet – Exported Configs
● - Chef – Search
● - Juju – Fundamental component
http://upload.wikimedia.org/wikipedia/commons/d/d8/Wikimedia-servers-2010-12-28.svg
9 Presentation by Clint Byrum
Example: Mediawiki
●juju deploy mysql wiki-db●juju deploy mediawiki demo-wiki●juju deploy memcached wiki-cache
●juju deploy haproxy wiki-balancer
●juju add-unit wiki-cache
●juju add-unit demo-wiki
●juju add-relation wiki-db:db demo-wiki:db●juju add-relation wiki-cache demo-wiki●juju add-relation wiki-balancer:reverseproxy demo-wiki:website
10 Presentation by Clint Byrum
Add slaves
●juju deploy mysql wiki-slave-db
●juju add-relation wiki-slave-db:slave wiki-db:master
●juju add-relation demo-wiki:slave-db wiki-slave-db:db
Result
wiki-db service wiki-cache servicewiki-slave-db service
wiki-balancer service
demo-wiki service
wiki-dblocal:mysql-98
wiki-db/0ec2-50-19-198-127.compute-1.amazonaws.com
demo-wikilocal:mediawiki-68
db
wiki-slave-dblocal:mysql-98
db
wiki-cachelocal:memcached-11
cache
wiki-balancerlocal:haproxy-14
reverseproxydemo-wiki/0
ec2-50-16-127-225.compute-1.amazonaws.comdemo-wiki/1ec2-50-16-149-161.compute-1.amazonaws.com
masterwiki-slave-db/0
ec2-50-17-77-63.compute-1.amazonaws.com wiki-cache/0ec2-184-72-144-240.compute-1.amazonaws.com
wiki-cache/1ec2-75-101-216-57.compute-1.amazonaws.com
wiki-balancer/0ec2-174-129-69-54.compute-1.amazonaws.com
12 Presentation by Clint Byrum
Configure
●juju set demo-wiki name=”Life, The Universe, and Everything”●juju deploy mediawiki –config=arthur-dents-wiki.yaml arthur-dents-wiki
Charms today
HAProxy
MySQL Jenkins
ThinkUp
14 Presentation by Clint Byrum
Deployment Options
●EC2 API●Ubuntu Orchestra●Local Dev●??? Fully abstracted
15 Presentation by Clint Byrum
The Future
●Charm Store●Subordinate Charms●Placement Constraints●Stacks●Storage Management●Cloud Federation●Auto Scaling●Charms, Charms, Charms, Charms...
http://www.flickr.com/photos/tom_twinhelix/3916931452/sizes/l/in/photostream/
16 Presentation by Clint Byrum
THANK YOU
● https://juju.ubuntu.com/
● https://cloud.ubuntu.com/
● https://launchpad.net/juju
● #juju on Freenode
● Clint Byrum <[email protected]>