Juju: DevOps Destilado (e o futuro do cloud deployment?) Presentation by Sidnei da Silva [email protected] www.canonical.com Julho 2013
May 13, 2015
Juju: DevOps Destilado(e o futuro do cloud deployment?)
Presentation by
Sidnei da Silva
www.canonical.com
Julho 2013
2 Presentation by Sidnei Silva
Different stages
Development Staging Production
● Local machine, single user
● Runs tip of everything
● One instance of each service
● Controlled environment
● Sometimes auto-rollout from tip
● A few machines
● A few instances of each service
● Stable, tested code
● Minimal downtime
● Many more machines
● Many more services
● Must be easily scalable
Dev Ops
3 Presentation by Sidnei Silva
DevOps
● Reuse existing deployment charms in an openly-accessible repository of shared
expertise
● Reproduce deployments for test and staging purposes
● Rapid deployment of your dependencies for development purposes
● Compose whole systems from individual application components and describe the entire deployment
● Explicit control over deployment,
configuration and upgrade options
● See what’s deployed and track usage in the
cloud
● Create and share charms for new applications
● Monitor, scale, shrink and adjust deployment
parameters in real time
● Explicitly connect different components and maintain those relationships over time
● Collaborate with developers on the exact deployment and upgrade processes
● Get more done: implement decisions immediately regardless of infrastructure scale
Dev Ops
4 Presentation by Sidnei Silva
From metal to running services
● Firmware updates
● Cabling
● Power supply
● Ready to use images
● PXE booting
● Installer seed
● Packages, VCS checkouts
● Picking port numbers
● Across multiple machines
● Machine-targeted
Hardware
Operating system
Applications and configuration
5 Presentation by Sidnei Silva
Meet Juju
● Pluggable provisioning backends
● (soon) Both local-machine development and large scale deployments
● React to changes in the environment
● Self-configuring services
● Hooks can be written in any language
● Service templates are designed to easily scale by simply
adding more units
● juju add-unit <service>
Provisioning
Event-based
Scalable
6 Presentation by Sidnei Silva
7 Presentation by Sidnei Silva
Machine 1
Machine 3
Classic deployment
Machine 2
8 Presentation by Sidnei Silva
In juju-speak...
$ juju bootstrap
$ juju deploy cs:precise/wordpress
$ juju deploy cs:precise/mysql
$ juju add-relation wordpress mysql
9 Presentation by Sidnei Silva
Juju deployment: provisioning
Machine 3
Machine 1
Machine 2
wordpress/0 mysql/0
State Server
10 Presentation by Sidnei Silva
Juju deployment: installation
Machine 3Machine 2
wordpress/0 mysql/0
Machine 1
State Server
11 Presentation by Sidnei Silva
Juju deployment: relation
Machine 3Machine 2
wordpress/0 mysql/0
Machine 1
State Server
12 Presentation by Sidnei Silva
In juju-speak...
$ juju add-unit wordpress
13 Presentation by Sidnei Silva
Juju deployment: scaling
Machine 3
Machine 4
wordpress/1
mysql/0
Machine 2
wordpress/0
14 Presentation by Sidnei Silva
Juju deployment: relation
Machine 3
Machine 4
wordpress/1
mysql/0
Machine 2
wordpress/0
15 Presentation by Sidnei Silva
Ubuntu Server Edition 11.10Ubuntu.comMarch 2013
Ubuntu Server Edition 11.10Product SearchFebruary 2013
Ubuntu Server Edition 11.10Click Packages SearchJune 2013
Ubuntu Server Edition 11.10Smart ScopesMay 2013
Ubuntu Server Edition 11.10Ubuntu One FilesAugust 2013
Ubuntu Server Edition 11.10Click Packages DownloadsJuly 2013
Timeline
16 Presentation by Sidnei Silva
Smart Scopes
17 Presentation by Sidnei Silva
Ubuntu One