devops requires agility

29
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 Meetup October 2014

Upload: stephen-ritchie

Post on 04-Jul-2015

244 views

Category:

Technology


1 download

DESCRIPTION

DevOps emphasizes communication, collaboration and integration between the developers and the operations folks. Some teams figure out DevOps on their own, but most struggle in their effort to implement DevOps practices, such as, automated builds, automated tests, automated deployments, continuous integration, and continuous delivery. Many consider these practices essential for the success of any software development project, but they require a new way of thinking. In other words: DevOps requires agility.

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