Transcript
Page 1: DevOps Requires Agility

Stephen D. Ritchie – Managing Consultant – Excella Consulting, Inc., 2300 Wilson Blvd, Suite 630, Arlington, VA 22201 – 703.840.8600 – http://excella.com

DevOps Requires Agility

Stephen D. Ritchie@RuthlessHelp

Oct 21, 2014

Agile Professionals MeetupOctober 2014

Page 2: DevOps Requires Agility

Stephen D. Ritchie

Live Tweet, Slides and Examples

• Twitter: @RuthlessHelp

• Slides:

http://www.slideshare.net/ruthlesshelp

• Code Samples:

http://github.com/ruthlesshelp

2

Page 3: DevOps Requires Agility

Stephen D. Ritchie 3

DevOps is the practice of operations and development engineers

participating together in the entire service lifecycle, from design

through the development process to production support.

http://theagileadmin.com/what-is-devops/

Page 4: DevOps Requires Agility

Stephen D. Ritchie

DevOps Defined

• Operations and Development Folks

– Working together

– Entire lifecycle

• Change in Mindset

– Values

– Principles

– Methods

– Practices

– Tools

4

Page 5: DevOps Requires Agility

Stephen D. Ritchie

Example: Etsy

• Overview, June 2012

– Launched June 18, 2005

– 875,000 active sellers

– 33.5 million items for sale

– $65.9 million in sales, May 2012

– 1.4 billion page views, May 2012

– 102 engineers

• How often do they release to Production?

5

Page 6: DevOps Requires Agility

Stephen D. Ritchie

Etsy Deployments

• Reported February 2011“In January (a month in which we did over a billion page views), code committed by 76 unique individuals was deployed to production by 63 different folks a total of 517 times.”

• Reported June 2012– 32 times per day

• Reported March 2014– 50 times per day

– http://www.infoq.com/news/2014/03/etsy-deploy-50-times-a-day

6

Page 7: DevOps Requires Agility

Stephen D. Ritchie

Let’s Step Back

• Dan Pink

– Drive: The surprising truth about what

motivates us

• RSA Animate video

– https://www.youtube.com/watch?v=u6XAPnuF

jJc

7

Page 8: DevOps Requires Agility

Stephen D. Ritchie 8

AutonomyMasteryPurpose

Page 9: DevOps Requires Agility

Stephen D. Ritchie

The Problem

SourceCode

1 23

9

Scott’sComputer

Susan’sComputer

You

1

2

3

Scott makes changes

Susan makes changes

You can’t build

Page 10: DevOps Requires Agility

Stephen D. Ritchie

What Went Wrong?

10

Conflicts

Missing Files

Breaking Changes

Page 11: DevOps Requires Agility

Stephen D. Ritchie 11

How do youfind

integrationissues?

Page 12: DevOps Requires Agility

Stephen D. Ritchie

Manual Integration

12

Build

Run Some Unit Tests

Perform Static Analysis

Clean + Rebuild All

Page 13: DevOps Requires Agility

Stephen D. Ritchie

Continuous Integration Blueprint

13

Page 14: DevOps Requires Agility

Stephen D. Ritchie

CI Server

SourceCode

14

Scott’sComputer

Susan’sComputer

You

CIServer

Page 15: DevOps Requires Agility

Stephen D. Ritchie

CI Server

15

Triggered by SCMand

Page 16: DevOps Requires Agility

Stephen D. Ritchie

CI – Per Commit Steps

16

1. Clean + Rebuild All

2. Run All Unit Tests

Coding Standards

3. AnalysisStatic Code Analysis

Page 17: DevOps Requires Agility

Stephen D. Ritchie

Continuous Integration Toolbox

17

Page 18: DevOps Requires Agility

Stephen D. Ritchie

CI Server – Jenkins

18

http://jenkins-ci.org/

Free

Open Source

Page 19: DevOps Requires Agility

Stephen D. Ritchie

CI Server – Cruise Control

19

http://cruisecontrol.sourceforge.net/

Free

Open Source

http://www.cruisecontrolnet.org/

Page 20: DevOps Requires Agility

Stephen D. Ritchie

CI Server – TeamCity

20

Commercial

Easy to Use

http://www.jetbrains.com/teamcity/

Page 21: DevOps Requires Agility

Stephen D. Ritchie 21

Perhaps an example would

be helpful

Page 22: DevOps Requires Agility

Stephen D. Ritchie

Continuous Integration Master Craft

22

Page 23: DevOps Requires Agility

Stephen D. Ritchie

The Master Craft

23

Unit TestingPlus

Code Coverage

Page 24: DevOps Requires Agility

Stephen D. Ritchie

The Master Craft

24

Integration Testing

System Testing

Acceptance Testing

Page 25: DevOps Requires Agility

Stephen D. Ritchie

The Master Craft

25

Code Quality

Metrics

Visualizations

Detections

Checks

Analysis

Page 26: DevOps Requires Agility

Stephen D. Ritchie

The Master Craft

26

ReportingAnd

Visibility

Page 27: DevOps Requires Agility

Stephen D. Ritchie

The Master Craft

27

PackagingAnd

Deployment

Page 28: DevOps Requires Agility

Stephen D. Ritchie

Closing Thought: CAMS

• Culture

– People and process first

– Virtuous discipline

• Automation

– Dev: building, testing, analyzing, packaging, deploying

– Ops: release management, provisioning, configuration management,

systems integration, monitoring and control, and orchestration

• Measurement

– Measure everything you can as often as you can

– Visibility and transparency

• Sharing

– Openness, share ideas and problems

– Confront problems, not each other

– Fail your way to success

28

Page 29: DevOps Requires Agility

Stephen D. Ritchie

Stephen’s Contact Info

• Email:

[email protected]

• LinkedIn:

http://www.linkedin.com/in/sritchie

29


Top Related