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

Automation @ Hitta.se and why it happened

Automation @ Hitta.se and why it happened

10 minute lightning talk given at the first Stockholm DevOps meetup on why and how we wound up with a certain level of infrastructure automation at Hitta.se.

Approx 30 minutes.

Mårten Gustafson

June 01, 2011
Tweet

More Decks by Mårten Gustafson

Other Decks in Technology

Transcript

  1. INFRA 1.5 web (windows) cache + api (windows) unique visitors

    / week Thursday, June 2, 2011 And grew ad-hoc.
  2. INFRA 2.0 (BETA) static + api (linux) web (windows) cache

    + api (windows) unique visitors / week Thursday, June 2, 2011 For various reasons Linux got introduced in parts of the solution
  3. INFRA 2.0 (REFINED) static + api (linux) static (linux) api

    (linux) Thursday, June 2, 2011 Those Linux nodes where then split out into two main node groups
  4. INFRA 2.0 api (linux) static (linux) web (windows) web (linux)

    unique visitors / week Thursday, June 2, 2011 The much simplified high level overview of the current solution
  5. web (windows) PROBLEM? api (linux) static (linux) web (linux) 3

    x static 4 x web 4 x web 4 x API Thursday, June 2, 2011
  6. web (windows) PROBLEM? 4 + 4 + 3 = 11

    •11 nginx •11 tomcat •11 sshd •11 /etc/sudoers •11 foo... •11 bar... All manually configured (by us or by per-ticket by provider) api (linux) static (linux) web (linux) Thursday, June 2, 2011
  7. WE WANT Reproducible infrastructure Disaster recovery Free expansion (3 or

    100 won’t differ) Define once Thursday, June 2, 2011
  8. WE WANT Reproducible infrastructure Disaster recovery Free expansion (3 or

    100 won’t differ) We use X in way Y Define once Thursday, June 2, 2011
  9. WE WANT Reproducible infrastructure Disaster recovery Free expansion (3 or

    100 won’t differ) Apply everywhere (it should be applied) We use X in way Y Define once Thursday, June 2, 2011
  10. WE WANT Reproducible infrastructure Disaster recovery Free expansion (3 or

    100 won’t differ) Apply everywhere (it should be applied) We use X in way Y Metadata Define once Thursday, June 2, 2011
  11. WE WANT Reproducible infrastructure Disaster recovery Free expansion (3 or

    100 won’t differ) Apply everywhere (it should be applied) We use X in way Y Metadata How many X do we have? Define once Thursday, June 2, 2011
  12. WE WANT Reproducible infrastructure Disaster recovery Free expansion (3 or

    100 won’t differ) Apply everywhere (it should be applied) We use X in way Y Metadata How many X do we have? How many Z of version Y are we running? Define once Thursday, June 2, 2011
  13. WE WANT Reproducible infrastructure Disaster recovery Free expansion (3 or

    100 won’t differ) Apply everywhere (it should be applied) We use X in way Y Metadata Query your infrastructure! How many X do we have? How many Z of version Y are we running? Define once Thursday, June 2, 2011
  14. WE WANT Reproducible infrastructure Disaster recovery Free expansion (3 or

    100 won’t differ) Apply everywhere (it should be applied) We use X in way Y Metadata Query your infrastructure! How many X do we have? How many Z of version Y are we running? Define once Consistency Thursday, June 2, 2011
  15. WE WANT Reproducible infrastructure Disaster recovery Free expansion (3 or

    100 won’t differ) Apply everywhere (it should be applied) We use X in way Y Metadata Query your infrastructure! How many X do we have? How many Z of version Y are we running? Define once Consistency Predictability Thursday, June 2, 2011
  16. WE WANT Reproducible infrastructure Disaster recovery Free expansion (3 or

    100 won’t differ) Apply everywhere (it should be applied) We use X in way Y Metadata Query your infrastructure! How many X do we have? How many Z of version Y are we running? Define once Consistency Predictability Confidence Thursday, June 2, 2011
  17. Thursday, June 2, 2011 Right from the start it’s pretty

    obvious what’s being used as far as my network and “research” counts. The long timers started with cfengine and most tend to be on puppet with some on
  18. Thursday, June 2, 2011 At the time of selecting tech

    we didn’t have the manpower nor the time to learn and introduce any tool ourselves. And we were unable to find anyone who could assist us with
  19. Thursday, June 2, 2011 On the other hand we did

    find quite a few people who had experience with Puppet.
  20. SETUP Puppet Agent Search Puppet Agent Web Puppet Agent Development

    subversion jenkins ci puppet master Thursday, June 2, 2011 Conceptual setup.
  21. SETUP Puppet Agent Search Puppet Agent Web Puppet Agent Development

    subversion jenkins ci puppet master Thursday, June 2, 2011 Conceptual setup.
  22. SETUP Puppet Agent Search Puppet Agent Web Puppet Agent Development

    subversion jenkins ci puppet master Thursday, June 2, 2011 Conceptual setup.
  23. SETUP Puppet Agent Search users sudo sshd search Puppet Agent

    Web jvm nginx play! users sudo sshd Puppet Agent Development subversion jenkins ci puppet master Thursday, June 2, 2011 Conceptual setup.
  24. SETUP Puppet Agent Search users sudo sshd search Puppet Agent

    Web jvm nginx play! users sudo sshd Puppet Agent Development subversion jenkins ci puppet master Thursday, June 2, 2011 Conceptual setup.
  25. 4 1/2 day could have been done in 2 -

    3 days we insisted on 5 days Thursday, June 2, 2011 It need not be expensive.