Infrastructure as Code @BuildStuff2013

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!