1. O futuro do cloud deployment
(e qual o papel do Python nele)
Presentation by
Sidnei da Silva
sidnei.da.silva@canonical.com
Setembro 2011
2. Agenda
●
A evolução do deployment
●
Problemas comuns, soluções extraordinárias
●
E o futuro?
2 Presentation by Sidnei da Silva
3. Texan style
“We only have a couple
servers and use VMware
snapshots heavily. We don't
need to automate our
deployments.”
Alan Runyan
Enfold Systems
3 Presentation by Sidnei da Silva
4. Different stages
Development Staging Production
●
Local machine, single user ●
Controlled environment ●
Stable, tested code
●
Runs tip of everything ●
Sometimes auto-rollout from tip ●
Minimal downtime
●
One instance of each service ●
A few machines ●
Many more machines
●
A few instances of each service ●
Many more services
●
Must be easily scalable
4 Presentation by Sidnei da Silva
5. How much can it scale?
Manual deployment procedures
●
Very error-prone
●
Waste precious human resources
●
Hard to reproduce
●
But can be fine on small scale
Provisioning
●
Lengthy acquisition process
●
Repetitive, boring task
5 Presentation by Sidnei da Silva
6. From metal to running services
Hardware
●
Firmware updates
●
Cabling
●
Power supply
Operating system ●
Ready to use images
●
PXE booting
●
Installer seed
●
Packages, VCS checkouts
Applications and
configuration ●
Picking port numbers
●
Across multiple machines
●
Machine-targeted
See the term sheet for more detail
6 Presentation by Sidnei da Silva
8. What problems does it solve?
Hardware Provisioning
●
One time setup for the controller ●
Quick and easy
●
Easy partitioning for each individual ●
Homogeneity is a plus
Operating system Affection
●
Ready to use images ●
Short term relationship
●
Easy to create new ones ●
No emotional attachment
●
Hard to manage their scale
(updates and security)
8 Presentation by Sidnei da Silva
9. What problems does it create?
Configuration
●
Manually reconfiguring is boring
●
Not knowing the machine name upfront makes everything harder
●
Fact-based rules nearly impossible due to homogeneity
9 Presentation by Sidnei da Silva
11. Meet Juju
Provisioning ●
Pluggable provisioning backends
●
(soon) Both local-machine development and large scale
deployments
Event-based ●
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
Scalable
adding more units
●
juju add-unit <service>
See the term sheet for more detail
11 Presentation by Sidnei da Silva