leveraging devops principles for release and deploy

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

Upload: serena-software

Post on 09-Feb-2017

398 views

Category:

Technology


1 download

TRANSCRIPT

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