2. Whoarewe
• Sébastien Han
• Frédéric Lepied
• Mehdi Abaakouk
Working for eNovance
Company blog: http://techs.enovance.com/
Worldwide offices coverage
We design, build and run clouds – anytime - anywhere
5. Key principles
• do not log in to the servers
• do not manually install packages
• do not manually edit configuration files
• do not manually restart daemons
Puppet, in combination with GIT is the only one managing the
configuration.
6. It’s all about architecture design
We need redundancy to perform upgrades without downtime:
• Active / active setup – Loadbalancer
• Active / passive setup
• Databases must be replicated : Galera / MongoDB
7. Rollback
Even with a good QA system, problems might rise in
production thus we need a rollback mechanism.
9. Breaking point
Puppet doesn’t install packages anymore.
It only manages configurations. So operating systems are
shipped with all the packages installed.
10. eDeploy solution
• Change the abstraction level
• Manage updates using sub-trees
• 2 kinds of sub-trees : data and programs
• Data is not updated only programs
Example :
• Data: /var/lib/mysql, /var/log...
• Program : /usr, /lib...
11. Consequences
• Prepare trees before installation or upgrade
• Debootstrap/yum + chroot magic
• Install in 3 phases :
• Hardware detection
• Hardware configuration
• Tree copy
• Update :
• Rsync Prog sub-trees.
• Script to adapt Data and restore config
12. eDeploy - Overview
• Manage system provisioning by software role and hardware
profile
• Reproduce provisioning easily
• Manage upgrades and rollbacks
• Efficient in term of expressiveness and performance
17. Things that you must consider
• Architecture design
• MySQL schemas
• Do backups!
18. Configuration management and
Orchestration
Puppet is responsible for the configuration of a node:
• Upgrade the configuration files only (no packages upgrades!)
• Restart services
Ansible orchestrates the process upgrade.
21. Database schema
But what if the database schema needs to be updated?
Just upgrade the database schemas at the end of the
orchestration! … Not yet (Icehouse?)