27
1 Copyright © Serena Software 2015 Leveraging DevOps Principles for Release and Deploy 2013 Mark Levy, Product Marketing Manager Mark Levy, Serena Software

Leveraging DevOps Principles for Release and Deploy

Embed Size (px)

Citation preview

Page 1: Leveraging DevOps Principles for Release and Deploy

1Copyright   ©  Serena   Software   2015

Leveraging  DevOps Principles  for  Release  and  Deploy

2013Mark  Levy,  Product  Marketing  Manager  

Mark  Levy,  Serena  Software

Page 2: Leveraging DevOps Principles for Release and Deploy

2 2

The  Problem

This  is  a  software-­powered  world

Agile  development   has  increased  the  pace  of  

innovation

But  has  just  pushed  the  bottleneck  down  to  IT  

Operations

Page 3: Leveraging DevOps Principles for Release and Deploy

3 3

OpsDev

Mix  in  Differing  Organizational  Goals

Page 4: Leveraging DevOps Principles for Release and Deploy

4

Slow,  Costly  and  Error-­Prone  Application  Releases

Poor  release  quality  due  to  ineffective  hand-­offsbetween  Dev  and  Ops

Global  Commercial  Bank

Time  consuming  and  error-­prone  manualdeployments  

Human  errors  deploying  to  100  servers,  no  standard  process and  no  audit  trail

Global  Insurer Regional  Retailer

50% of  companies  are  dissatisfied with  key  portions  of  their  release  management  process

95% of  IT  organizations  lack  a  centralized  release  management  process…and  this  contributes  up  to  80% of  production  defects

Forrester  Research Gartner

Lost  $440M  in  45  minutes Stalled  commuter  trains  for  3  hours

Knight  Capital BART

Page 5: Leveraging DevOps Principles for Release and Deploy

5 5

Thus,  the  DevOps  Movement

Page 6: Leveraging DevOps Principles for Release and Deploy

6

Silo’s  Are  Walls  of  Isolation

Release  Management

Release  Policy

Release  Planning SDLC

Build  and  Configure  Release

Quality  Review

Roll  Out  Plan

Implement  Release

Verify  Release

Accept  Release

Page 7: Leveraging DevOps Principles for Release and Deploy

7

Burn  the  Silo?    How  do  you  not  burn  the  business?

Page 8: Leveraging DevOps Principles for Release and Deploy

8 8

How  to  Start  – The  Mantra  

• What  matters  to  the  business• Define  and  measure  success• See  the  system  and  follow  the  flow  • Eliminate  waste• Create  a  culture  of  continuous  improvement

• Apply  Agile  and  DevOps principles• Implement  Incremental  changes• Deliver  quick  wins

Page 9: Leveraging DevOps Principles for Release and Deploy

9 9

What  Matters  to  the  Business?

• Yes,  go  ask  the  people• Gain  visibility  and  insight  into  the  business  

• Align  your  objectives  to  the  objectives  of  the  business

• Agree  on  metrics  to  messure

Page 10: Leveraging DevOps Principles for Release and Deploy

10

How  Responsive  are  you  to  the  Business?

• Where  do  you  start   to  improve?• How  do  you  measure  success?• Average  cycle  time  for  moving  a  business  

request  from  Development  to  Production?• Number  of  business  requests  implements  this  

week,  month,  year?• Cost  of  moving  a  unit  of  change  through  your  

application  lifecycle?• Percentage  of  a  release  focused  on  technical  

debt?• Percentage  of  a  release  focused  on  innovation?• Develop  metrics  to  support  what  matters   to  the  

business

Page 11: Leveraging DevOps Principles for Release and Deploy

11 11

See  the  System  and  Follow  the  Flow  

• Business  request  to  the  production• Detailed  picture  of  your  current  process• Follow  the  flow  of  information  and  artifacts• Where  does  your  deployable  assets  reside?• Identify  feedback  loops  required

Page 12: Leveraging DevOps Principles for Release and Deploy

12 12

Simplify  the  Process  and  Eliminate  Waste

• Look  for  ways  to  optimize  throughput• Simplify  process• Lean  Methodologies

– Value  Stream  Mapping– Timeline  Analysis– Waste  Analysis  

• Financial  Cost  Accounting

Page 13: Leveraging DevOps Principles for Release and Deploy

13 13

Lean  In  and  Then  Lean  Out

Page 14: Leveraging DevOps Principles for Release and Deploy

14

Continuous  Delivery:  Goal  and  Principles

• Create  a  repeatable,  reliable  process  for  releasing   software• Automate  almost  everything• Keep  everything  in  version  control• If  it  hurts,  do  it  more  frequently• Build  quality  in  • Done  means  released• Everyone  is  responsible   for  the  delivery  process

“To  find  ways  to  deliver  high-­quality,  valuable   software  in  an  efficient,  fast,  and  reliable  manner.”

Page 15: Leveraging DevOps Principles for Release and Deploy

15

Create  a  Repeatable  and  Reliable  Release  Process

• Single  system  of  record  for  release  planning  and  execution– Updated  in  real-­time– Schedules– Milestones– Gates  and  Approvals

• Automatic  cycle-­time  capture

• Ensure  audit  trails  for  compliance  and  learning

Page 16: Leveraging DevOps Principles for Release and Deploy

16

Enterprise  IT  Application  Layers

Page 17: Leveraging DevOps Principles for Release and Deploy

17

Release  Management

• We  align  to  Change  Management• We  plan  and  manage  long  term  Releases• We  can  document  and  demonstrate  traceability  and  compliance…

A  “Release”  Method  Needs  to  Support  Different  Modes

Continuous  Delivery

• We  align  to  Change  Management• We  can  automate  continuous  Releases• We  can  build  traceability  compliance  in…

Page 18: Leveraging DevOps Principles for Release and Deploy

18

Select  a  Release  Method  for  each  “Modal”  Application

• Change  Approval  Method  • Artifact centric  – aligns  to  Continuous  Delivery• Deployment  artifacts linked  to  RFC  for  Approval• Sometimes  only  created  for  Production  deployments

• Release  Package  Method• Artifact/Process  centric  – evolves  Continuous  Delivery  for  the  Enterprise• Release  Packages  linked  to  Deployment  artifacts• Release  Packages  models  Path  to  Production  through  Deployment  Pipelines

• Release  Train  Method• Process  centric  – aligns  to  ITIL/Service  Transition  Release  Management• Release  Trains  are  planned/scheduled  and  deployed  through  Release  Packages• Release  Planning,  Deployment  Planning,  Change  Management

RFC

Artifacts

Release  Package

Artifacts

Deployment  Pipeline

Release  Package

Artifacts

Release  Package

Artifacts

Release  Train

Page 19: Leveraging DevOps Principles for Release and Deploy

19

Manage  Environments

• Improve  availabiliy and  readiness  of  environments

• Calendar  shows  environment  contention  and  availability  issues

• Process  drives  environment  provisioning,  management,  and  decommissioning

• Automatic  notification  of  environment  readiness  and  status  changes

Page 20: Leveraging DevOps Principles for Release and Deploy

20 20

Eliminate  Inefficient  Deployment  Processes

• Define,  build,  orchestrate  and  manage  all  deployment  turnovers  and  tasks  

• Capture  environment  and  deployment  tribal  knowledge  in  a  “runbook”

• Formalize  packaging  and  process  of  the  handoff

• Same  set  of  semantics

• Eliminate  “million  dollar”  release  meetings

Page 21: Leveraging DevOps Principles for Release and Deploy

21 21

Automate  Almost  Everything

• People  should  not  move    the  “bits”

• Automate  code  and  config deployments  with  a  single  set  of  deployment  processes  across  all  environments

• All  preprod deployments  should  be  rehearsals  for  the  final  deploy  into  prod

• Use  common  tools  across  all  environments

• Quick  incremental  wins  with  big  impact

Page 22: Leveraging DevOps Principles for Release and Deploy

22

Keep  Everything  in  Version  Control

• Version  control  everything

• Include  infrastructure  and  configuration  code

• Aggregate  assets  into  a  single  source  of  the  truth

• Should  reside  in  a  secure  repository

Page 23: Leveraging DevOps Principles for Release and Deploy

23

Make  Gates  and  Approvals  Visible

• Establish  minimum  entrance  requirements  to  an  environment

• Consider  applying  more  rigor  to  higher  level  environments

• Auto-­revert/gated  commits  

• Ensure  mitigation  plans  to  pull  stories/changes  from  a  release

Page 24: Leveraging DevOps Principles for Release and Deploy

24 24

Integrate  Release  and  Deployment  Toolchains

• Process  and  Artifacts   transition  across  tools

• Seamless  integration  of  the  deployment  pipeline

• Plug-­in  architecture  to  abstract   tool  implementations

• Integration  with  change,  configuration  and  ITSM  solutions

Page 25: Leveraging DevOps Principles for Release and Deploy

25

Summary

• Velocity  and  Complexity  of  application   releases  continue  to  increase  as  businesses  adapt  to  new  economic  conditions.  

• Responsiveness   to  the  business  and  operational   efficiencies  are  the  value  drivers  

• Manual  deployments,  poor  collaboration  between  teams,  and  lack  of  control  lead  to  poor  quality  releases  at  a  high  cost

• High  levels  of  performance  demands  an  agile  and  lean  approach• Automation  is  the  quickest  route  to  high  performance• Quick  wins  and  continuous  improvement   trumps  big  bang  rollouts

Page 26: Leveraging DevOps Principles for Release and Deploy

26

References

Page 27: Leveraging DevOps Principles for Release and Deploy

27 27

Thank  You