Infrastructure as Code: Why it Matters

If you like this presentation – show it...

Slide 0

Infrastructure as Code Why it matters

Slide 1

Carl Caum Puppet Labs Technical Marketing (I don’t know what that means either) @ccaum

Slide 2


Slide 3

DevOps is a response to the adversarial culture found in traditional IT organizations

Slide 4

“Ops won’t let us use the latest Ruby for some reason.” “Don’t the developers know anything about logging?” “Why can’t the developers build packages?” “Why does it take so long for Ops to deploy this code?” “Why won’t Ops just make this change? It’s small” “The devs don’t care that this code doesn’t scale.”

Slide 5

The cause Dev Ops

Slide 6

The solution Dev DevOps Ops

Slide 7

Product Delivery Process Problem Statement Problem Prioritization Design / Development Deployment Monitoring Product Management Dev DevOps Ops

Slide 8

The Three Ways -- Gene Kim

Slide 9

Systems Thinking Understand the performance of the entire system, not each individual silo

Slide 10

Amplify Feedback Loops Build quick, short, feedback into the process

Slide 11

Culture of Experimentation and Learning Enforce a culture of continuous experimentation, risk taking, and learning.

Slide 12

Top 5 Predictors of IT Performance Puppet Labs DevOps Survey

Slide 13

● Peer reviewed change process When teams hold themselves accountable for the quality of its code through peer review, performance increases. Change Approval Boards (CABs) decrease performance. ● CABs have negligible impact on system stability while significant negative impact on throughput.

Slide 14

● Version Control Single source of truth ● Causality is easily determined ● Benefits extend to both system and application configuration

Slide 15

● Proactive Monitoring Diagnose problems faster ● Test the application, not just the infrastructure ● Post deploy tests

Slide 16

High Trust Culture ● Bureaucracy kills (productivity) ● Trust increases throughput

Slide 17

● Win-Win culture Act with expertise, not authority ● Interactions are about both teams achieving the shared business goals

Slide 18

Empathy rarely extends beyond our line of sight

Slide 19

● Help devs set up the development environment [ops] Empathy ● Help devs set up the CI system ● Understand the required infrastructure throughout the feature’s development

Slide 20

● Understand the constant fires Ops deals with [dev] Empathy ● Help develop the deployment process for the feature ● Be on call ● Monitor the application post deployment

Slide 21

The Business

Slide 22

● Speed Business Goals ● Innovation ● Availability ● Stability

Slide 23

● Time-to-market matters [Business] Speed ● Cycle time matters ● Dependable cadence matters

Slide 24

● Collaboration [Business] Innovation ● Experimentation ● Rapid validation ● Market clarity

Slide 25

[Business] Availability ● 70% of all downtime is caused by configuration drift and unauthorized configuration change* ● Downtime costs $2.5 billion for Fortune 1000* *Wiley Global Research

Slide 26

[Business] Stability ● Infrastructure Trust ● Mean-time to recovery

Slide 27

Infrastructure as Code

Slide 28

DevOps is to Infrastructure as Code as Agile is to Scrum

Slide 29

Infrastructure as Code is a requirement for DevOps, but is not sufficient

Slide 30


Slide 31

Pragmatic Goals ● ● ● ● ● Production-like Dev Env Peer Review and Pairing Continuous Delivery Policy Driven Development Auditing

Slide 32

● Code is portable Production-like Dev Env ● Code is reusable ● Code is version controlled (Vagrant is awesome)

Slide 33

● Code can be contributed by anyone Peer Review and Pairing ● Code changes can be reviewed by anyone ● Code can be worked on as a team (give me git or give me death)

Slide 34

● Code is repeatable Continuous Delivery ● Code is shareable ● Code is promotable ● Code is testable

Slide 35

● Policies are for humans, not computers Policy Driven Development ● Constraints can be tested and enforced with code ● Tests can be run in any environment since code is portable

Slide 36

● Code execution can provide detailed, accurate reports on actions taken Auditing ● Code promotion and execution provide authorization records ● Code run reports provide defensible audit trails

Slide 37


Slide 38

● Automate the most repetitive tasks in Ops Start ● Use Law of Accelerating Returns to increase admins’ free time ● Once a FTE’s worth of time is gained, have sysadmins spend more and more time working alongside developers

Slide 39

● Approachability ● Opinionated The Language ● Declarative ● Idempotency ● Reporting

Slide 40


Slide 41

DevOps is about culture but requires pragmatism

Slide 42

Collaboration is key in relation to the product delivery process

Slide 43

Infrastructure as Code is necessary but is insufficient

Slide 44

The language matters (period)

Slide 45

Data Is Awesome Check out the Puppet Labs DevOps survey https://puppetlabs.com/2014-devops-report

Slide 46


Slide 47