Building a DevOps Team that isn't Evil

28
Webinar starts at 1:00 ET You shouldn’t be hearing anything yet

Transcript of Building a DevOps Team that isn't Evil

Page 1: Building a DevOps Team that isn't Evil

Webinar starts at 1:00 ET You  shouldn’t  be  hearing  anything  yet  

Page 2: Building a DevOps Team that isn't Evil

Starting in less than 15 min You  shouldn’t  be  hearing  anything  yet  

Page 3: Building a DevOps Team that isn't Evil

Starting in less than 10 min You  shouldn’t  be  hearing  anything  yet  

(I’m  ge6ng  excited,  are  you?)  

Page 4: Building a DevOps Team that isn't Evil

Building a DevOps Team (That  isn’t  Evil)  

Page 5: Building a DevOps Team that isn't Evil

UrbanCode  Inc.  ©2013  

Presenting Today

Eric  Minick  Technical  Evangelist  [email protected]  

§  Background  as  a  developer,  tester  and  tools  guy  

§  Last  9  years:  Helping  customers  implement  build,  deploy,  release  automaPon  

         @EricMinick  

Page 6: Building a DevOps Team that isn't Evil

UrbanCode  Inc.  ©2013  

The Plan

§ Why  DevOps  (very  briefly)  § Why  would  the  teams  be  seen  as  evil?  §  A  template  for  non-­‐evil  DevOps  teams  §  AddiPonal  Resources,  Q&A  

Page 7: Building a DevOps Team that isn't Evil

UrbanCode  Inc.  ©2013  

The Dev /Ops Problem

BA  /  EA   App  Dev   Test                   Ops  

•  A  big  wall  hurts  communicaPon  &  trust  •  Knowledge  mostly  flows  one  way  •  Feedback  is  limited  

•  Processes  and  tools  vary  wildly  via  silos  

Image  credit:  h`p://www.flickr.com/photos/68518558@N00/426688160/sizes/z/in/photostream/    

Page 8: Building a DevOps Team that isn't Evil

UrbanCode  Inc.  ©2013  

Idealized solution: blow up the silos

DevOps  

Dev   Test   Ops  

Image  credit:  h`p://www.geograph.org.uk/profile/19979  

Page 9: Building a DevOps Team that isn't Evil

UrbanCode  Inc.  ©2013  

Idealized ‘DevOps Team’

Business,  Dev  and  Ops  work  as  one  to  deliver  awesomeness*!  

Biz

Idea!

Dev

Codes /Tests

Agile Reqs.

Ops

Faster / Safer

Release / Monitor

FeedbackLoops

Everywhere

*  Awesomeness  (n):  Rapid  flow  of  business  value  to  the  customer  

Page 10: Building a DevOps Team that isn't Evil

UrbanCode  Inc.  ©2013  

But “DevOps team” is a hated term

Page 11: Building a DevOps Team that isn't Evil

UrbanCode  Inc.  ©2013  

But “DevOps team” is a hated term

*  h`p://conPnuousdelivery.com/2012/10/theres-­‐no-­‐such-­‐thing-­‐as-­‐a-­‐devops-­‐team/  

The  Devops  movement  addresses  the  dysfuncPon  that  results  from  organizaPons  composed  of  funcPonal  silos.  Thus,  crea+ng  another  func+onal  silo  that  sits  between  dev  and  ops  is  clearly  a  poor  (and  ironic)  way  to  try  and  

solve  these  problems*  

Page 12: Building a DevOps Team that isn't Evil

UrbanCode  Inc.  ©2013  

But “DevOps team” is a hated term

The  Devops  movement  addresses  the  dysfuncPon  that  results  from  organizaPons  composed  of  funcPonal  silos.  Thus,  crea+ng  another  func+onal  silo  that  sits  between  dev  and  ops  is  clearly  a  poor  (and  ironic)  way  to  try  and  

solve  these  problems*  

Page 13: Building a DevOps Team that isn't Evil

UrbanCode  Inc.  ©2013  

No more silos

Dev   DevOps   Ops  Bad  

Page 14: Building a DevOps Team that isn't Evil

UrbanCode  Inc.  ©2013  

Non-Evil (Enterprise) DevOps Teams are Hard

§  Silos  are  tough  to  bust  ­  Just  what  do  you  expect  from  the  VPs  of  Dev  and  Ops?  

§  No,  we’re  not  le6ng  Devs  break  producPon  

§  Limited  #  of  people  in  enterprises  who  “get”  DevOps  ­ When  trying  something  new,  involve  people  who  care  

§  Want  to  start  small  and  learn  something  to  apply  big    

Page 15: Building a DevOps Team that isn't Evil

UrbanCode  Inc.  ©2013  

Basic Strategy

Dev   Ops  

DevOps  Team  

Facilitate  be`er  Dev  /  Ops  CollaboraPon  Fight  silo’d  thinking  

Page 16: Building a DevOps Team that isn't Evil

UrbanCode  Inc.  ©2013  

Step 1: Assemble your team §  Goal:  Improve  delivery  

­  Reduce  duplicaPon  of  effort,    Improve  consistency,  embrace  change  

§  Members  ­  Developers  ­  Testers  ­  Change  Management  ­  Release  Managers  ­  Release  Engineers  ­  Infrastructure  /  Cloud  People  

§  Advisors  ­  SkepPcs  and  the  “Grumpy  Team”  (security,  audit,  etc)  

§  Team  may  be  full-­‐+me  or  virtual  /  matrix  

h`p://www.fotopedia.com/items/flickr-­‐2133752097  

Page 17: Building a DevOps Team that isn't Evil

UrbanCode  Inc.  ©2013  

Step 2: Identify pilot project* teams §  Willing  §  Capable  §  High  rates  of  change  §  Moderate  complexity  §  Highly  visible  

   

 *  3a:  Start  referring  to  them  as  ‘ApplicaPon’  or  ‘Product’  teams  rather  than  ‘Project’.  Project  teams  that  disband  auer  delivery  are  counter-­‐DevOps.    

Page 18: Building a DevOps Team that isn't Evil

UrbanCode  Inc.  ©2013  

Step 3: Audit the delivery pipeline §  Look  for  things  that  cause  errors  and  slowdowns  

§  Inconsistent  ­  Environments,  tools,  communicaPon  

§  Slow  or  expensive  ­  Handoffs  ­  Se6ng  up  /  deploying  to  test  environments  

§  If  you  aren’t  constantly  tesPng  the  latest  in  environments  that  are  similar  to  producPon,  there  will  be  stuff  to  fix.    

Page 19: Building a DevOps Team that isn't Evil

UrbanCode  Inc.  ©2013  

Step 4: Updated SDLC & toolchain design

PackageRepo

DeploymentChain

Test 1

Test ...

Test n

Prod

VersionMeta-data

ProvisioningController

SourceRepos Env. Def

Images

IaaSProvisioning

ServerConfiguration

EnvironmentConfig

EnvironmentInventory

CMDB

SourceRepos

Continuous Integration & Build

Mgmt. Build

PackageRepo

Build Registeredwith Package

Repo

TriggersVersion

Meta-data

DeploymentSystem

Builds

Test 1

Test ...

Test n

Prod

FunctionalTests

PerformanceTests

Monitoring

EventCorrelation

Rollback

UC  Webinar:  “Building  a  DevOps  Toolchain”  

MVP  Minimum  Viable  Process  

Page 20: Building a DevOps Team that isn't Evil

UrbanCode  Inc.  ©2013  

Step 5: Begin executing with pilot teams    

Page 21: Building a DevOps Team that isn't Evil

UrbanCode  Inc.  ©2013  

Step 6: Post-mortems / retrospectives  No  ba&le  plan  ever  survives  contact  with  the  enemy.  

 -­‐  Moltke  the  Elder    

§  Meet  and  update  regularly  ­ With  every  major  producPon  release  ­  Host  Dev  /  Ops  post-­‐mortems  for  outages.  The  teams  own  the  event  and  outcomes.  You  facilitate  and  learn.  

Page 22: Building a DevOps Team that isn't Evil

UrbanCode  Inc.  ©2013  

Step 7: Roll out to more teams §  Give  up  ownership  of  everything  ­  Build  and  release  -­‐>  applicaPon  teams  ­  Tooling  -­‐>  Infrastructure  and/or  Development  Support  

(if  no  appropriate  group  exists,  lobby  for  one)  

 §  Evangelize  successes,  recruiPng  more  teams  ­  Expand  scope  beyond  web  apps  &  mobile  as  appropriate  

Page 23: Building a DevOps Team that isn't Evil

UrbanCode  Inc.  ©2013  

7 steps to a Good DevOps Team 1.  Assemble  a  team  with  diverse  skills  &  backgrounds  2.  IdenPfy  pilot  teams  to  work  with  3.  Audit  the  exisPng  value  delivery  chain  4.  Create  a  plan  of  a`ack  including  process  and  tools  5.  Try  it  6.  Learn  and  replan  7.  OperaPonalize  (give  up  ownership  and  scale)  

Page 24: Building a DevOps Team that isn't Evil

UrbanCode  Inc.  ©2013  

Dealing with defenders of the wall §  IdenPfy  them  early  §  Co-­‐opt  them  with  advisors  

­  They  are  either  members  of  the  “grumpy  team”  or  cite  those  people.  

§  Avoid  them  when  picking  pilot  teams  

§  Build  a  business  case  with  your  value  delivery  chain  audit.  It  starts  and  ends  with  the  business.  

Page 25: Building a DevOps Team that isn't Evil

UrbanCode  Inc.  ©2013  

Summary §  DevOps  is  firmly  anP-­‐silo  

§  Do  Not  ­  create  a  DevOps  silo  ­  rename  the  ops  silo  “DevOps”  

§  Do    ­  create  a  team  to  facilitate  DevOps  adopPon  ­  work  to  tear  down  walls  and  blur  silos  

Page 26: Building a DevOps Team that isn't Evil

UrbanCode  Inc.  ©2013  

References h`p://urbancode.com/resources  

§  Deployment  AutomaPon  Basics  §  Lean  Build  &  Deployment  AutomaPon  §  ITIL  Release  Management  and  AutomaPon  

Blogs.urbancode.com    Twi`er.com/UrbanCode  

Page 27: Building a DevOps Team that isn't Evil

UrbanCode  Inc.  ©2013  

Speaking of DevOps toolchains…  Urbancode  is  a  vendor  of  these  types  of  tools:  §  uBuild    ­  Build  automaPon  on  an  enterprise  scale  

§  uDeploy  ­  ApplicaPon  Release  AutomaPon  

§  uRelease  ­  Release  management  and  release  weekend  execuPon  

§  TerraForm  ­  Open  source  environment  provisioning  tool  

Page 28: Building a DevOps Team that isn't Evil

Q&A [email protected]  

Slideshare.net/Urbancode  @EricMinick  

Linked-­‐in  group:  “AutomaPng  Deployment  and  Release”