Transcript
Page 1: A post-CM infrastructure delivery pipeline

A post-CM infrastructuredelivery pipeline

… or why I'm here to learn more

@beddari at @cfgmgmtcamp

Page 2: A post-CM infrastructure delivery pipeline

Problem statement

We were using CM tooling butNOT WINNING

Page 3: A post-CM infrastructure delivery pipeline

What we had built with love -

√ automated tests√ JEOS + baseline + role√ monitoring across envs

Page 4: A post-CM infrastructure delivery pipeline

- was a total failure!

√ non-manageable rebuild times√ envs were starting to “leak”√ upgrades were high risk

Page 5: A post-CM infrastructure delivery pipeline

“Our systems are ...eventually repeatable”

Darn it, test that small change in prod

Page 6: A post-CM infrastructure delivery pipeline

People told us“CLEARLY

you are doing something wrong”

Page 7: A post-CM infrastructure delivery pipeline

docker docker docker docker docker docker docker docker docker docker docker docker

docker docker docker docker docker

Page 8: A post-CM infrastructure delivery pipeline

Solution:

We stopped doingconfiguration management

Page 9: A post-CM infrastructure delivery pipeline

input | change | output

Page 10: A post-CM infrastructure delivery pipeline

input

Inputs are typically managed artifacts

Repos, packages, images, containers

Page 11: A post-CM infrastructure delivery pipeline

change

Feed input to Packer which in turn runs a builder that applies change,

producing output

Page 12: A post-CM infrastructure delivery pipeline

output

A versioned artifact, suitable for consumption or further processing

Repos, packages, images, containers

Page 13: A post-CM infrastructure delivery pipeline

Abstraction

is key

Page 14: A post-CM infrastructure delivery pipeline

A input-change-output chain is a project●

A project is versioned in git●

Artifacts are testable

Page 15: A post-CM infrastructure delivery pipeline

Your new job is ...

describing state to produce artifactsand keeping that state from drifting

Page 16: A post-CM infrastructure delivery pipeline

We didn't throw it all out

A system consists of 1+N roles,a role consists of 1+N profiles.

Page 17: A post-CM infrastructure delivery pipeline

First lesson learned

Think about managing state,where do you want it?

https://github.com/Nubisproject/nubis-docs/blob/master/MANIFESTO.md

Page 18: A post-CM infrastructure delivery pipeline

Abstraction is future proofing

http://jerakia.io

“Decoupled from any particular configuration management system”

Page 19: A post-CM infrastructure delivery pipeline

Does it work?

Page 20: A post-CM infrastructure delivery pipeline

YESPacker with masterless Puppet

Terraform and Ansible to deploy and replaceMasterless Puppet to audit and correct drift

Single YAML configuration data store

yum upgrade considered harmful


Top Related