13. PROBLEM?
web web
4 x web (windows) (linux)
4 x web
static api
3 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)
25. WE WANT
Disaster recovery
Reproducible 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 WANT
Disaster recovery
Reproducible 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 recovery
Reproducible 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 recovery
Reproducible 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 recovery
Reproducible 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 recovery
Reproducible 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 recovery
Reproducible 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 recovery
Reproducible 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
39. SETUP
Search Web
Puppet Agent Puppet Agent
Development
puppet master jenkins ci subversion
Puppet Agent
40. SETUP
Search Web
Puppet Agent Puppet Agent
Development
puppet master jenkins ci subversion
Puppet Agent
41. SETUP
Search Web
Puppet Agent Puppet Agent
Development
puppet master jenkins ci subversion
Puppet Agent
42. SETUP
Search Web
search users sudo sshd users sudo sshd jvm nginx play!
Puppet Agent Puppet Agent
Development
puppet master jenkins ci subversion
Puppet Agent
43. SETUP
Search Web
search users sudo sshd users sudo sshd jvm nginx play!
Puppet Agent Puppet Agent
Development
puppet master jenkins ci subversion
Puppet Agent
44. 4 1/2 day
could have been done in 2 - 3 days
we insisted on 5 days
Notes de l'éditeur
\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