a post-cm infrastructure delivery pipeline

20
A post-CM infrastructure delivery pipeline … or why I'm here to learn more @beddari at @cfgmgmtcamp

Upload: jan-ivar-beddari

Post on 23-Jan-2017

517 views

Category:

Engineering


0 download

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