Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.



Published on

  • Be the first to comment


  1. 1. Configuration management finally done right
  2. 2. The story so far: Puppet●slow●pull-based (dedicated client)●custom PKI●huge memory hog, very brittle●extendable in Ruby only●hard to share data between nodes●crazy DSL●slow
  3. 3. The story so far: bcfg2●acceptable performance●pull-based (dedicated client)●custom PKI●small memory footprint●extendable in Python●XML everywhere
  4. 4. The future is now: ansible●no daemons, ever (almost)●push-based (python is the client)●ssh keys for authentication●quite fast and getting faster●extendable in everything that can write JSON●fast and furious (<1 year old)
  5. 5. Deploying ansible1. pip install ansible2. profit!(almost, some tweaks needed)
  6. 6. One-shot modeansible webservers -m copy -a „src=httpd.conf dest=/etc/apache2/httpd.conf”
  7. 7. /etc/ansible/hosts[webservers]www[0-100][webservers:vars]app_version=1.23.45[dbservers]
  8. 8. Playbooks●YAML●collections of actions, mostly like one-shot mode●notifications (restart apache if config changed)
  9. 9. Get shit done From zero to production in minutes●no custom authentication●no client setup●no daemons●no external dependencies (DNS, NTP, WTF)●playbooks very similar to ad-hoc mode●configuration management or one-off deploys
  10. 10.