Slide 1

Slide 1 text

J U S T I N K U L E S Z A

Slide 2

Slide 2 text

DEVOPS D E V O P S

Slide 3

Slide 3 text

DEVOPS What does DevOps try to solve? T H E P R O B L E M DEVOPS

Slide 4

Slide 4 text

DEVOPS “There’s a tacit assumption that projects will run late, and when they're delivered (if they’re ever delivered), they will underperform, and not deliver well against investment. It's a wonder any of us have a job at all!” S T E P H E N N E L S O N - S M I T H

Slide 5

Slide 5 text

DEVOPS What is different about DevOps? T H E S O LU T I O N DEVOPS

Slide 6

Slide 6 text

DEVOPS “Bridging the gap between projects and operations by using Agile techniques both in development, project management and system administration.” PAT R I C K D U B O I S

Slide 7

Slide 7 text

DEVOPS Broadly defined, DevOps is a philosophy or cultural approach that promotes better communication between two teams. T H E B A S I C S

Slide 8

Slide 8 text

DEVOPS Narrowly defined, DevOp is a job description for an employee who possesses the skills to work as a both a developer and a systems engineer. T H E B A S I C S

Slide 9

Slide 9 text

DEVOPS Communication. Collaboration. Multi-disciplinary approach. Understanding of the domain. Sensitivity and passion for the business. KEY PRINCIPLES

Slide 10

Slide 10 text

DEVOPS Battleground for development, operations, and QA. T H E T R A D I T I O N A L W AY: DEVOPS

Slide 11

Slide 11 text

DEVOPS Siloization. Lack of understanding. No shared goals. Different backgrounds and technical skills.
 TRADITIONAL THINKING

Slide 12

Slide 12 text

DEVOPS “Lob it over the wall” mentality. “It works on my machine” Changes are dangerous and time-consuming. Deployment is fraught with peril. TRADITIONAL PROBLEMS

Slide 13

Slide 13 text

DEVOPS A TRADITIONAL EXAMPLE DEVOPS

Slide 14

Slide 14 text

DEVOPS 1 DEVELOPMENT The developers team writes a ruby application on Windows using preferred tools, and gems which rely on native libraries.

Slide 15

Slide 15 text

DEVOPS 2 HANDOFF The ruby application is delivered to the operations team who plan to run the application in production on a Linux server which runs on metal.

Slide 16

Slide 16 text

DEVOPS 3 PROVISIONING The operations team provisions a server, and tries to get the application running using available libraries.

Slide 17

Slide 17 text

DEVOPS 4 PROBLEMS QA finds issues and bugs that were introduced because of missing libraries, different library versions, and environment configuration differences.

Slide 18

Slide 18 text

DEVOPS 5 BATTLE Development and operations flip issues back and forth, blaming each other for the problems: “It works on my machine.”

Slide 19

Slide 19 text

DEVOPS Breaking down barriers, building bridges, and stressing collaboration. T H E D E V O P S W AY: DEVOPS

Slide 20

Slide 20 text

DEVOPS Combines elements of Dev, Ops, and QA. Started as “Agile Infrastructure”. Much in common with agile software development, and the “Agile Manifesto” DEVOPS THINKING

Slide 21

Slide 21 text

DEVOPS Cooperation. Communication Short feedback loops. Teaching and learning. Paradigms to support and enable this. DEVOPS STRATEGIES

Slide 22

Slide 22 text

DEVOPS A DEVOPS EXAMPLE DEVOPS

Slide 23

Slide 23 text

DEVOPS 1 DEVELOPMENT The development team writes a ruby application on Windows, but using a Linux virtual machine, managed with Vagrant and Chef, as their platform for building the application and testing it.

Slide 24

Slide 24 text

DEVOPS 2 HANDOFF The operations team takes the Chef configuration used by the Developers to provision a new virtual server on AWS, making the new system nearly identical.

Slide 25

Slide 25 text

DEVOPS 3 DEPLOYMENT The application is continuously deployed via a post-receive git hook, and the QA team is able to quickly review new features, and provide feedback to the development team.

Slide 26

Slide 26 text

DEVOPS 4 LAUNCH When the application is ready for launch, new production virtual machines are provisioned alongside the existing systems, using the Chef configuration to ensure everything is identical.

Slide 27

Slide 27 text

DEVOPS 5 NEW FEATURES The application runs smoothly, and new features can be developed confidently using the established infrastructure and workflows.

Slide 28

Slide 28 text

DEVOPS T O O L S A N D P R A C T I C E S PA R A D I G M S

Slide 29

Slide 29 text

DEVOPS Effortless create/destroy environments as needed. Easy testing, portability, accessibility, etc. Examples: AWS, Rackspace, VMWare ESXi, etc. VIRTUALIZATION

Slide 30

Slide 30 text

DEVOPS Repeatability without human errors. Consistency, efficiency, security, etc. Examples: Vagrant, git hooks, make variants, etc. AUTOMATION

Slide 31

Slide 31 text

DEVOPS Confidence that the system will perform correctly. Reduce effects of ‘infrastructure by coincidence’ —it works, but we cannot prove why. Examples: Test kitchen, serverspec, etc. TESTING

Slide 32

Slide 32 text

DEVOPS Describe intended state of systems programmatically. ‘Infrastructure as Code’: managing systems as you would manage programs. Examples: Chef, Puppet, Ansible, etc. CODING

Slide 33

Slide 33 text

DEVOPS Code describes the state of a managed system. No forgotten documentation or unknown state. Examples: Chef, Puppet, Ansible, etc. DOCUMENTATION

Slide 34

Slide 34 text

DEVOPS U S I N G C H E F T O P R O V I S I O N A V I R T U A L S E R V E R E X A M P L E

Slide 35

Slide 35 text

DEVOPS B E N E F I T S

Slide 36

Slide 36 text

DEVOPS Increased confidence. Less risk and fear. Faster development and deployment. Greater reliability and quality. More effective systems. WHY DEVOPS?

Slide 37

Slide 37 text

No content

Slide 38

Slide 38 text

DEVOPS The Phoenix Project
 Gene Kim, Kevin Behr and George Spafford DevOps Days
 http://www.devopsdays.org/ Dev2Ops
 http://dev2ops.org/ Patrick Dubois
 http://www.jedi.be/blog/ S O U R C E S