Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Configuration Management 101

Avatar for someara someara
February 04, 2014

Configuration Management 101

Given at FOSDEM 2014

Avatar for someara

someara

February 04, 2014
Tweet

More Decks by someara

Other Decks in Programming

Transcript

  1. • What is configuration management?! • Strategies and techniques for

    managing configuration and its complexity! • The art of change management
  2. • Intuitive! • How we all start out! • Log

    into machine, manipulate with fingers! • Make with the clicky clicky! • Long tradition
  3. • Somehow feels the “safest"! • First instinct in emergencies!

    • This is an illusion! • Do not do this
  4. • Ad-hoc in nature! • Loss of history! • Lacks

    testing methodology! • A step in the right direction
  5. •Distributed systems! •Shares often managed manually or with scripts! •Package

    repositories! •Pull is better than push! •Scp on a cron *
  6. • SSH on a for loop! • Func! • Commands

    on message queues! • ISConf
  7. • user ‘kermit’ should exist! • user ‘fonzi’ should exist!

    • group ‘muppets’ should exist! • group ‘muppets’ should contain kermit and fonzi
  8. • package ‘ntpd’ should be installed! • ntpd should sync

    with our AD service! • service ‘ntpd’ should be running
  9. • package ‘httpd’ should be installed! • httpd should be

    expose /mnt/software/java! • service ‘httpd’ should be running
  10. • The Java JDK, version 7u45, found on an internally

    hosted web server, should be installed into /usr/local/jdk-7u45/
  11. ! A control loop keeps the system stable and allows

    for change when policy is updated
  12. YES

  13. • Agents are autonomous! • A promise is a signal

    or message perceived by an observer.! • Promises may or may not be kept.! • Agents can observe other agents! • Agents only have local information *! • Inner workings of agents are assumed to be unknown http://markburgess.org/BookOfPromises.pdf
  14. • Agents have intentions (possible behaviors)! • Agents can make

    assessments about other agents http://markburgess.org/BookOfPromises.pdf
  15. • Push vs Pull! • Networking considerations! • Machines down

    for maintenance! • Machines that don’t exist yet
  16. • lsof -i :80! • ps -ef | grep httpd!

    • curl localhost 2>&1 > /dev/null
  17. • Environments can be used to test branches! • Environments

    can be used to segregate machines! • Environments can be manipulated programatically
  18. • Take a machine out of the pool! • Drain

    the connections! • Modify configuration! • Insert it back into the pool
  19. • Conductor showing signals to autonomous agents (creative policy manipulation)!

    • External actor controlling sequencing (execution management)! • Application level sequencing (vector clocks, etc)
  20. • There is no separation between ‘infrastructure’ and ‘application’! •

    Distributed systems are hard! • Specialists need to work together
  21. • Study Promise Theory! • Study distributed systems! • Develop

    high quality primitives! • Be excellent to each other
  22. Fin