2011-06-01-stockholm-devops-blitz

  • 724 views
Uploaded on

A 10 minute lightning talk on why and how we wound up with a certain level of infrastructure automation at Hitta.se.

A 10 minute lightning talk on why and how we wound up with a certain level of infrastructure automation at Hitta.se.

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
724
On Slideshare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
3
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide
  • \n
  • \n
  • We started small.\n
  • And grew ad-hoc.\n
  • For various reasons Linux got introduced in parts of the solution\n
  • Those Linux nodes where then split out into two main node groups\n
  • The much simplified high level overview of the current solution\n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • cfengine, then puppet, then chef\n
  • 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 chef. Nonetheless, Puppet or Chef it is.\n
  • 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 Chef - which was our first hand choice.\n
  • Stockholm, I was disappoint.\n
  • On the other hand we did find quite a few people who had experience with Puppet.\n
  • Conceptual setup.\n
  • Conceptual setup.\n
  • Conceptual setup.\n
  • Conceptual setup.\n
  • Conceptual setup.\n
  • Conceptual setup.\n
  • Conceptual setup.\n
  • Conceptual setup.\n
  • Conceptual setup.\n
  • Conceptual setup.\n
  • Conceptual setup.\n
  • Conceptual setup.\n
  • Conceptual setup.\n
  • Conceptual setup.\n
  • Conceptual setup.\n
  • It need not be expensive.\n

Transcript

  • 1. AUTOMATION @ HITTA.SE and why it happened
  • 2. HISTORY
  • 3. INFRA 1.0 web(windows) unique visitors / week
  • 4. INFRA 1.5 web(windows) unique visitors / week cache + api (windows)
  • 5. INFRA 2.0 (BETA) web (windows) unique visitors / weekstatic + api cache + api (linux) (windows)
  • 6. INFRA 2.0 (REFINED) static api (linux) (linux) static + api (linux)
  • 7. INFRA 2.0 web web(windows) (linux) static api unique visitors / week (linux) (linux)
  • 8. STATUSSystem load?System latency?Redundancy?
  • 9. STATUSSystem load?System latency?Redundancy?
  • 10. STATUSSystem load?System latency?Redundancy?
  • 11. STATUSSystem load?System latency?Redundancy?
  • 12. STATUSSystem load?System latency?Redundancy?
  • 13. PROBLEM? web web 4 x web (windows) (linux) 4 x web static api3 x static (linux) (linux) 4 x API
  • 14. PROBLEM? web web(windows) (linux) 4 + 4 + 3 = 11 •11 nginx •11 tomcat •11 sshd •11 /etc/sudoers static api (linux) (linux) •11 foo... •11 bar... All manually configured (by us or by per-ticket by provider)
  • 15. THERE MUST BE A BETTER WAY!
  • 16. AD-HOC VS DEFINED
  • 17. MANUAL VS AUTOMATIC
  • 18. PREDICTABILITY PLEASE!
  • 19. WE WANT
  • 20. WE WANTReproducible infrastructure
  • 21. WE WANTDisaster recoveryReproducible infrastructure
  • 22. WE WANTDisaster recoveryReproducible infrastructure Free expansion (3 or 100 won’t differ)
  • 23. WE WANTDisaster recoveryReproducible infrastructure Free expansion (3 or 100 won’t differ) Define once
  • 24. WE WANTDisaster recoveryReproducible infrastructure Free expansion (3 or 100 won’t differ) We use X in way Y Define once
  • 25. WE WANTDisaster recoveryReproducible infrastructure Free expansion (3 or 100 won’t differ) We use X in way Y Define once Apply everywhere (it should be applied)
  • 26. WE WANTDisaster recoveryReproducible infrastructure Free expansion (3 or 100 won’t differ) We use X in way Y Define once Apply everywhere Metadata (it should be applied)
  • 27. WE WANT Disaster recoveryReproducible infrastructure Free expansion (3 or 100 won’t differ) We use X in way Y Define once Apply everywhere Metadata (it should be applied)How many X do we have?
  • 28. WE WANT Disaster recoveryReproducible infrastructure Free expansion (3 or 100 won’t differ) We use X in way Y Define once How many Z of version Y are we running? Apply everywhere Metadata (it should be applied)How many X do we have?
  • 29. WE WANT Disaster recoveryReproducible infrastructure Free expansion (3 or 100 won’t differ) We use X in way Y Define once How many Z of version Y are we running? Apply everywhere Metadata (it should be applied)How many X do we have? Query your infrastructure!
  • 30. WE WANT Disaster recoveryReproducible infrastructure Free expansion (3 or 100 won’t differ) We use X in way Y Define once How many Z of version Y are we running? Apply everywhere Metadata (it should be applied)How many X do we have? Query your infrastructure! Consistency
  • 31. WE WANT Disaster recoveryReproducible infrastructure Free expansion (3 or 100 won’t differ) We use X in way Y Define once How many Z of version Y are we running? Apply everywhere Metadata (it should be applied)How many X do we have? Query your infrastructure! Consistency Predictability
  • 32. WE WANT Disaster recoveryReproducible infrastructure Free expansion (3 or 100 won’t differ) We use X in way Y Define once How many Z of version Y are we running? Apply everywhere Metadata (it should be applied)How many X do we have? Query your infrastructure! Consistency Predictability Confidence
  • 33. EXPERIENCEAUTOMATIONPush button deployment of infra + solution = complete stack
  • 34. TOOLINGhttp://en.wikipedia.org/wiki/Comparison_of_open_source_configuration_management_software
  • 35. MÅRTEN STATUS:
  • 36. SETUP Search WebPuppet Agent Puppet Agent Development puppet master jenkins ci subversion Puppet Agent
  • 37. SETUP Search WebPuppet Agent Puppet Agent Development puppet master jenkins ci subversion Puppet Agent
  • 38. SETUP Search WebPuppet Agent Puppet Agent Development puppet master jenkins ci subversion Puppet Agent
  • 39. SETUP Search Websearch users sudo sshd users sudo sshd jvm nginx play! Puppet Agent Puppet Agent Development puppet master jenkins ci subversion Puppet Agent
  • 40. SETUP Search Websearch users sudo sshd users sudo sshd jvm nginx play! Puppet Agent Puppet Agent Development puppet master jenkins ci subversion Puppet Agent
  • 41. 4 1/2 daycould have been done in 2 - 3 days we insisted on 5 days