does14 - aimee bechtle and bill donaldson - the mitre corp

23
MITRE Bill & Aimee’s Excellent DevOps Journey How a Not-for-profit Corporation Adopted DevOps Aimee Bechtle [email protected] Bill Donaldson [email protected] Approved for Public Release; Distribution Unlimited. Case Number: 14-3400 ©2014 The MITRE Corporation. ALL RIGHTS RESERVED.

Upload: itrevolution

Post on 02-Jul-2015

398 views

Category:

Government & Nonprofit


1 download

DESCRIPTION

Bill and Aimee's Excellent DevOps Journey Bill Donaldson, Senior Principal Engineer, and Aimee Bechtle, Principal Software Engineer, The MITRE Corp In their presentation Bill Donaldson and Aimee Bechtle will share a summary of their tumultuous journey that has resulted in 75% of their corporate applications utilizing Continuous Integration with automated deployments, a 70% reduction in labor, and 288% reduction of cycle time. They will support these numbers with charts depicting the deployment volumes over the course of a 1.5 year adoption. They will share how by selecting the right applications, approach, and people, and using creative ways to advertise success, the new capabilities were embraced and adopted in their organization. The presentation will conclude with how Aimee has transformed her team to support Continuous Integration with auto deploy. Additionally, she will share why the 25% remain in the manual system and how she’s pursuing Continuous Delivery. In 2011 Bill Donaldson and Aimee Bechtle were leading development and deployment operations teams in The MITRE Corporation’s corporate IT department. MITRE is a not-for-profit corporation whose mission is to provide the US Government world class Systems Engineering. MITRE’s IT was running well with a mature and stable release process. Bill’s team had successfully adopted agile development practices and was adept at producing high quality software code quickly. However, the successful adoption of agile introduced a problem between the developers and the deployment operations team lead by Aimee. Developers had to “hurry up and wait” on operation’s 24-hour SLA to build and deploy their apps. The SLA frequently expired due to multiple handoffs and human errors. Tired of the bottlenecks and lengthy cycle times one day Bill said to Aimee “24 hours is 23.5 hours too long”. This simple requirement sparked the vision for a transformation of MITRE’s software delivery process. The deployment operations team was employing a manual, mature and repeatable process that had been in place for over 10 years. In fact, in 2012 the Release & Deployment Management process scored the highest among all the processes in an ITIL process evaluation. So why would Aimee be motivated to change? Because MITRE’s unique mission and culture values innovation, active cost management, and establishing MITRE as a showcase to their Government customers. Bill from Dev, and Aimee from Ops, partnered to successfully deliver an enterprise continuous integration and automated deployment capability. Aimee took Bill’s requirements and declared them as acceptance criteria. Together they formed an influential, cross-functional team that was critical to building momentum and adoption within the organization. And together they experienced the pitfalls and challenges of implementing change, working against the resistors and laggards. At times project goals were in question but through determination

TRANSCRIPT

Page 1: DOES14 - Aimee Bechtle and Bill Donaldson - The MITRE Corp

MITREBill & Aimee’s

Excellent DevOps Journey

How a Not-for-profit Corporation

Adopted DevOps

Aimee [email protected]

Bill [email protected]

Approved for Public Release; Distribution Unlimited. Case Number: 14-3400 ©2014 The MITRE Corporation. ALL RIGHTS RESERVED.

Page 2: DOES14 - Aimee Bechtle and Bill Donaldson - The MITRE Corp

MITREWhat is MITRE?

MITRE is

a not-for-profit

organization that operates

Federally Funded Research

and Development Centers

Page 3: DOES14 - Aimee Bechtle and Bill Donaldson - The MITRE Corp

MITREWho Are We?

I’m BillI’m

Aimee

DevOps

Road

Trip!

Page 4: DOES14 - Aimee Bechtle and Bill Donaldson - The MITRE Corp

MITRE

Production

1. Code, Build,

Unit Test

1...n

2. Commit

3. Run Build,

Development Test

1...n

3a. Export Code4. Writes/Maintains

CM Form, Creates Change

Ticket

6. Rejects

CM Form

17. Install

Failed

7a. Export Code

14. Email Instructions

9. Execute

Task

18. Export Code

19. Install Failed

Rollback & Restore

Integration

Development

DBA

5. Receives & Reviews

CM Form

Instructions

7. Executes Instructions

(logs on, Exports code,

Runs Build, runs scripts

Copies files, cleans up)

8. Email

Instructions

10. Notify

Complete

16. Notify Complete

Deploy

Mgr

Sys

Admin

13. Notify

Complete

11. Email

Instructions

12. Execute

Task

15. Execute

Task

Other

DEV

20. Use

Application

User

Sandbox

SCM

OPERATIONS

(Deploys)

The Starting Line

Paperwork

People

Processing• JAVA, .Net

•ANT, Maven

• Subversion (SVN)

•Oracle, SqlServer,

MySQL

•RHEL, Windows 2008

•Avg Cycle Time = 15

days (30 mins – 486

days)

• # Deploys/yr = 2579

Page 5: DOES14 - Aimee Bechtle and Bill Donaldson - The MITRE Corp

MITRE

Ops

In The Beginning – Aug 2009

The service

we provide

is great!

They are

slowing

me down!

Dev

Page 6: DOES14 - Aimee Bechtle and Bill Donaldson - The MITRE Corp

MITREConfronting the Chasm – May 2010

24 hour SLA

is 23.5 hours

too long!

OpsDev

Huh?

Page 7: DOES14 - Aimee Bechtle and Bill Donaldson - The MITRE Corp

MITREBridging the Chasm – Aug 2010

Let me

show you

how

this could

work.

OK!

OpsaDev

Page 8: DOES14 - Aimee Bechtle and Bill Donaldson - The MITRE Corp

MITRE

Let’s define

Acceptance

Criteria !

Defining Success – Fall 2010

DevOps

Page 9: DOES14 - Aimee Bechtle and Bill Donaldson - The MITRE Corp

MITREAcceptance Criteria

I can live

with that.

Single command to build app given an SVN revision #

Single command to deploy to environment given an SVN revision #

Build once. No development tools utilized on target environment.

Deploy to test environment is self-service and can be done by any user without handoffs (no

SA, DBA) or additional passwords

Deploy to PROD is done by release team without handoffs (no SA, DBA)

Prior to deploying validates compliance with SONAR quality reports and code coverage

Can determine what SVN revision is deployed in each environment, by who and when

In PROD, on error or abort application is restored to prior state

No additional instruction documentation is needed.

In phase 1, utilize existing request system for approvals

System validation is manual and outside of scope

MITRE

Page 10: DOES14 - Aimee Bechtle and Bill Donaldson - The MITRE Corp

MITRE

Build and ReleaseEngineer

Sys Admin

DBAJava, .NET Developers

The Launch – May 2011

DevOps

DevOps

Everyone

on Board!

Page 11: DOES14 - Aimee Bechtle and Bill Donaldson - The MITRE Corp

MITREImplementation – (5/11 to 6/12)

Are we there

yet? Are we

there yet?

DevOpsDevOps

Page 12: DOES14 - Aimee Bechtle and Bill Donaldson - The MITRE Corp

MITRECourse Correction – April 2012

Got Training Brought in Expertise

Freed Up Resources A New Plan!

Page 13: DOES14 - Aimee Bechtle and Bill Donaldson - The MITRE Corp

MITRE

1 Developer develops commits code to repository

2 Commits automatically trigger builds

3 Depending on environment developer or

Release Engineer deploys build

Our DevOps Solution– June 2012

Source Code Repository

Build WorkflowCheckout

Compile

Run Unit Tests

Run Code Analysis

Store Artifacts

Deploy WorkflowCleanup Environment

Backup Environment

Deploy Binaries

Execute Rollback & Restore

Artifact Repository

Commit

Code &

Build

Files

Application &

Build Files

Release

ArtifactsRelease

Artifacts

Run

Build

(revision #)

Run

Deploy

(build #)

Repeated for each target

Environment using the

same Build

Build/CI Server

2

1

3

* Developers can deploy to Non-Production Environments

CI

DEV

Test

Prod

DEV OPS

Page 14: DOES14 - Aimee Bechtle and Bill Donaldson - The MITRE Corp

MITREScaling Up – June 2012

Its working

Woo Hoooo!

Page 15: DOES14 - Aimee Bechtle and Bill Donaldson - The MITRE Corp

MITREVisible Tracking

Page 16: DOES14 - Aimee Bechtle and Bill Donaldson - The MITRE Corp

MITRERecipe For Onboarding

Page 17: DOES14 - Aimee Bechtle and Bill Donaldson - The MITRE Corp

MITREGuides and Samples

Page 18: DOES14 - Aimee Bechtle and Bill Donaldson - The MITRE Corp

MITRE

Water cooler Talk

Snackfest

Formal briefings to

CIO and Senior Mgt

Visible Metrics

Marketing

Page 19: DOES14 - Aimee Bechtle and Bill Donaldson - The MITRE Corp

MITREThe Results

• 68 applications in system

• Multiple Platforms

o ANT, Maven, Gradle

o SVN, GIT

o JAVA, .Net, NodeJS

o Oracle, MySQL, SQL Server,

MongoDB

• Avg Cycle Time = 9 days (-40%)

(range 2 mins – 483 days)

• ~75% of deploys are automated

o # Deploys/year = 3555

o Auto = 2665

o Manual = 890 (-65%)

o 38% Throughput Increase

• Freed up 2.5 deployment staff

Page 20: DOES14 - Aimee Bechtle and Bill Donaldson - The MITRE Corp

MITRE

Build & ReleaseEngineer

Sys Admin

DBAJava, .NET Developers

The Future: Continuous Delivery

aDevOps

aDevOps

OpsAutomationEngineer

TestAutomationEngineer

Let’s do it

again

Pleeease!

Page 21: DOES14 - Aimee Bechtle and Bill Donaldson - The MITRE Corp

MITREBill & Aimee’s Excellent

DevOps Journey

Aug ’09:Old

Process

July ’10:Confront

May ’11:Success Defined, Launch

Jun ’12:Success!

• Anyone can do it

• Know where you want to go and why

• Patience - it takes time for change

• Education, education, education

• Use Agile (minimal product, iterations, product demonstrations)

Apr ’12:Got Help

Today:Results

Page 22: DOES14 - Aimee Bechtle and Bill Donaldson - The MITRE Corp

MITRE

• Changing skillsets and mindsets to:

– Support infrastructure and test automation

– Break up silos and organize into cross-functional delivery teams

• Incorporating ERP and large COTS (or non-typical, non-web) applications into a

DevOps model

What We Need Help With

Page 23: DOES14 - Aimee Bechtle and Bill Donaldson - The MITRE Corp

MITREThanks!

Aimee Bechtle

[email protected]

Bill Donaldson

[email protected]

@wbdonaldson