View
583
Download
1
Category
Preview:
DESCRIPTION
Infrastructure as Code @BuildStuff2013
Citation preview
Infrastructure as Code In real life
Mantas Klasavičius
Adform Digital Advertising Solution
>270 employees
Offices in 12 countries
About me
Developing has changed
Before Now
Developing has changed
Before Now
Deployment
No manual configuration
Configuration Management
Puppet in Adform Why Code?
Puppet in Adform Treat it as code • Version control • Branching, Code review
• Reusability • Standards, Style guide
• Profiling
• Testing
Puppet in Adform Dream
• Predictable/consistent infrastructure
• Repeatable and environment friendly
• Reusable • Automated
Tool
DevOps
OPS attempt
OPS attempt
OPS result
Culture
An Agile Adoption and Transformation Survival Guide Author: Michael Sahota URL: http://agilitrix.com/agile-adoption-transformation-resource/
In my team
Architecture
Architecture
Environments
Environments
Git Branch == Puppet Environment
Create new Branch == Create new Puppet Environment
Workflow
Code
Puppet(nodes)
Puppet(node)
Puppet(variables)
Storage
Hiera
Hiera
Hiera
Hiera + Puppet
Hiera (GPG back end)
http://www.craigdunn.org/2011/10/secret-variables-in-puppet-with-hiera-and-gpg/
Author: Craig Dunn Web: http://www.craigdunn.org
PuppetDB
Hiera + PuppetDB
Author: Erik Dalén Web: http://www.craigdunn.org https://github.com/dalen/puppet-puppetdbquery
What About Profiling?
Profiling
Author: Tim Sharpe https://github.com/rodjek/puppet-profiler
And Testing?
Puppet-lint
Author: Tim Sharpe https://github.com/rodjek/puppet-lint
rspec-puppet
Author: Tim Sharpe https://github.com/rodjek/rspec-puppet
To Do…
Puppet on Windows?
Puppet on Windows
DISM Puppet Module: https://github.com/puppetlabs/puppetlabs-dism
Puppet on Windows
Author: Josh Cooper https://github.com/joshcooper/puppetlabs-powershell
Puppet on Windows
And the results are
Any Problems?
Time issue
Why use puppet(time issue): • “Pub by 5 (past 4 preferably)”
• “Save time”
• …
Roles issues
Future Plans
The Foreman
Monitoring Nagios/Icinga
Monitoring Nagios/Icinga
Metrics(as logs)
Metrics(graphite)
Finalize…
Thank you!
Recommended