From XP and Continuous Integration to DevOps

Post on 11-May-2015

1.561 views 1 download

Tags:

description

Agile and Automation have been growing up together over the past decade. Neither practice nor toolset evolves in a vacuum. Rather, they inform each-other. This presentation looks at this history, with an eye towards where the current trends are pushing us.

Transcript of From XP and Continuous Integration to DevOps

1

From CI to DevOpsAgile and Automation evolution

Eric MinickTechnical Evangelist

eric@urbancode.com

2

Manifesto for Agile Software Development

We are uncovering better ways of developing software by doing it and helping others do it. Through this

work we have come to value:

Individuals and interactions over processes and toolsWorking software over comprehensive documentation

Customer collaboration over contract negotiationResponding to change over following a plan

That is, while there is value in the items on the right, we value the items on the left more.

3

A Historical Perspective

4

90’s: Daily Build and Smoke Test

5

Tinderbox

6

1999: “Daily builds are for wimps”

7

2001: First open source “CI” tools

8

2003: We know CI works

• 90% rise in LOC output/programmerwhen performing builds at least daily

• 36% reduction in defect ratewhen integration/regression testing at each code check-in

“Trade-offs between Productivity and Quality in Selecting Software Development Practices”, IEEE Software, Sept-Oct 2003

9

Agile & Automation in 2001-2004

Agile (XP)• Small teams• Developer-centric• High discipline• Co-located

Automation(Continuous Integration)

• Build focused• Developer testing• Open source• Lava lamps

10

2005-2010: To the Enterprise!

11

The Ken Schwaber Index

20012004

2010

12

Enterprise Agile… Governance?

“…clients told me of their plans to use Scrum on a $5 million project with 400 developers in three countries…

“Its not the engineering practices that will trip us up, continuous integration, test first, refactoring – these things are understood. Its governance that’s going to be the problem.”

http://blogs.gartner.com/david_norton/2010/01/20/enterprise-agile-in-2010/

13

Agile & Automation in 2006-2011

Agile (Scrum)• Small & large teams• Cross Functional• Standardized• Distributed

Automation(Continuous Delivery)• Self-service• Builds, tests &

deployments• Enterprise• Shared infrastructure

14

Invention and Innovation

15

The difference

• Invention: proven to work in the laboratory• Innovation: it can be replicated reliably on a

meaningful scale at practical costs.

• For an idea to move from invention to innovation requires an ensemble of critical components. Peter M. Senge, The Fifth Discipline

16

Scrum: Innovation for Agile

• Predictable delivery, comfortable pace

• Agile with fewer objectionable demands

• Certifications and Training

17

CI: Innovation for Automation

• Automation• Instant feedback on quality• Easy setup with off the shelf tools• Self-service• Transparency/Visibility

18

Innovations are disruptive

19

CI Builds

Purpose: determine quality of latest changes

Audience: development team

Source: Build is traceable to latest changes and “latest” source

Artifacts: Throw away builds, tests are important

Build Management Builds

Purpose: produce artifacts for 3rd parties

Audience: 3rd parties outside development

Source: Build is traceable to source

Artifacts: Important builds, artifacts are important and primary

20

Agile has conquered App-Dev

21

Today: Failure in the last mile

22

Valuing “Working Software” means working in Production

23

DevOps: Agile reaches Ops

*image from Dev2Ops.org

24

DevOps is…

• Agile & Lean applied to the whole software delivery chain, not just developers– BizDevQaSecReleaseOps

• Driven by efficiency and consistency

• Optimizing software delivery end-to-end

25

DevOps is also disruptive

Dev

• Very High Tempo

• Can rebuild database / app from scratch– No need for Rollbacks

• Audit is nice to have– Security, traceability,

separation of duties.

• New Environments are common

Ops

• Slower Tempo

• Incremental updates to Database and App– Rollbacks are huge

• Audit Critical– Security, traceability,

separation of duties.

• New environments are rare

26

DevOps: the Implementation, Convergence

• IaaS on a private cloud

• Environment provisioning as a service.

• Application Deployment (CD) to provisioned environments.

27

Agile & Automation in 2012+

Agile (Scrumban + DevOps)• Small & large teams• Business to Ops• Standardized• Distributed• RM build to Prod

Automation(Provision -> Monitor)• Platform as a Service• Provision, build, test,

deploy, monitor• Enterprise• Shared infrastructure

28

Where are the tools headed?

• 2001-2006: CI tools

• 2006-2010: CI becomes Continuous Delivery

• Now: DevOps– CI is commodity.– Integrated CD tools focus on point solutions

deployment and pipeline management. – Expanding integrations with private cloud

29

Doing the impossible 50-times a day

30

Manifesto for Agile Software Development

We are uncovering better ways of developing software by doing it and helping others do it. Through this

work we have come to value:

Individuals and interactions over processes and toolsWorking software over comprehensive documentation

Customer collaboration over contract negotiationResponding to change over following a plan

That is, while there is value in the items on the right, we value the items on the left more.

31

What do I do Tomorrow?

32

Thank You

Eric MinickTechnical Evangelist

eric@urbancode.com