Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Codifying Devops by Gourav Shah

146 views

Published on

What is Devops ? What is the story behind it ? Who created it ? Why was it even created ? What are the key principles and practices related to devops ? This presentation attempts to answer all of those questions.

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Codifying Devops by Gourav Shah

  1. 1. CODIFYING DEVOPS GOURAV SHAH
  2. 2. What is the no. 1 feature of a software?
  3. 3. Reliability …..
  4. 4. Reliability Functionality Scalability Availability Security
  5. 5. Who is responsible for keeping the site up?
  6. 6. Site Reliability Engineers Ops
  7. 7. No. 1 factor that impacts reliability ?
  8. 8. SRC HTTPS://USERS.ECE.CMU.EDU/~KOOPMAN/DES_S99/SW_RELIABILITY/ Src: https://users.ece.cmu.edu/~koopman/des_s99/sw_reliability/
  9. 9. Change …..
  10. 10. Change ….. Every new feature release configuration update bugfix introduces a
  11. 11. Dev
  12. 12. WALL
  13. 13. To achieve their business goals CHANGE to achieve competitive advantage to survive to respond to changing customer needs Organizations need to constantly
  14. 14. Source : Devops Guide by IT Revolution Press
  15. 15. EACH OF THAT CHANGE INTRODUCES A DEFINING DEVOPS RISK
  16. 16. WHILE STILL ACHIEVING OFFERS A PATH TO MINIMIZE RISK DEVOPS RAPID CHANGE PRINCIPLES PRACTICES TOOLS
  17. 17. METRICS LEAD TIME TO CHANGE MEAN TIME TO RECOVER FREQUENCY OF DEPLOYMENTS CHANGE FAILURE RATES CHANGE RELIABILITY
  18. 18. Source : State of Devops Report 2016 by Puppet Labs
  19. 19. Pipeline Plan Code Test Release Deploy Operation Agile DEV OPS Devops DevOps Security
  20. 20. DEVOPS STORY EVOLUTION OF AN AGILE ENTERPRISE
  21. 21. ASSEMBLY LINE HENRY FORD 1915
  22. 22. PRODUCTION WASTE MASS OVER
  23. 23. TOYOTA PRODUCTION SYSTEM Taiichi Ohno 1948 - 1975
  24. 24. RELENTLESSLY WORKING ON ELIMINATING WASTE FROM THE MANUFACTURING PROCESS…. TPS TPS/LEAN PHILOSOPHY
  25. 25. 8 TYPES OF WASTES ▸ Over Production ▸ Waiting ▸ Inventory ▸ Transportation ▸ Over Processing ▸ Motion ▸ Defects ▸ Workforce
  26. 26. TOYOTA PRODUCTION SYSTEM Just In Time Production Kanban Value Stream Mapping
  27. 27. https://en.wikipedia.org/wiki/Value_stream_mapping Vaule Stream Mapping
  28. 28. LEAN PRODUCTION James P Womack 1990 LEAN IT
  29. 29. EXTREME PROGRAMMING (XP) SCRUM KANBAN DYNAMIC SYSTEMS DEVELOPMENT METHOD (DSDM) LEAN FEATURE DRIVEN DEVELOPMENT (FDD) METHODS
  30. 30. 2001 AGILE MANIFESTO
  31. 31. ENGINEERING ITERATIVE INCREMENTAL EXTREME PROGRAMMING (XP) SCRUM KANBAN DYNAMIC SYSTEMS DEVELOPMENT METHOD (DSDM) LEAN FEATURE DRIVEN DEVELOPMENT (FDD) METHODS DEV QA SOFTWARE DEVELOPMENT
  32. 32. dev Ops
  33. 33. THEORY OF CONSTRAINT Eliyahu M Goldratt 1984
  34. 34. THEORY OF CONSTRAINT ▸ Identify System’s Constraints ▸ Exploit the Constraint ▸ Subordinate everything to above decision ▸ Elevate the Constraint ▸ Repeat the Process
  35. 35. 20 18 8 15 5 A B C D E F 202020 18 8 8 5
  36. 36. 20 18 16 15 5 A B C D E F 202020 18 16 15 5
  37. 37. 20 18 16 15 12 A B C D E F 202020 18 16 15 12
  38. 38. dev Ops
  39. 39. WALL
  40. 40. 2008 PATRICK DEBOIS AGILE CONFERENCE, TORONTO CANADA
  41. 41. AGILE SYSTEMS ADMINISTRATOR GROUP Patrick DeboisAndrew Clay Shafer
  42. 42. 2009. VELOCITY CONFERENCE John Allspaw Paul Hammond 10+ DEPLOYS A DAY , DEVOPS & OPS CO-OPERATION AT FLIKR
  43. 43. BUILDING TOOLS AND CULTURE TO BRIDGE THE GAP BETWEEN DEV AND OPS AUTOMATED INFRASTRUCTURE SHARED VERSION CONTROL ONE STEP BUILD AND DEPLOY SHARED METRICS FEATURE FLAGS IRC AND IM BOTS MUTUAL RESPECT TRUST HEALTHY ATTITUDE ABOUT FAILURE AVOIDING BLAME src: https://www.slideshare.net/jallspaw/10-deploys-per-day-dev-and-ops-cooperation-at-flickr/76 Tools Culture
  44. 44. 2009
  45. 45. #devops
  46. 46. INTERPRETING DEVOPS
  47. 47. REVERSE ELEPHANT 
 THEORY DEVOPS
  48. 48. IN ORDER TO CODIFY DEVOPS, ITS IMPORTANT TO IDENTIFY YOUR ROLE AND UNDERSTAND PERSPECTIVE WITH RESPECT TO IT… Gourav Shah CODIFYING DEVOPS
  49. 49. ORG TEAMS INDIVIDUALS EXECUTIVES TECH LEADS PRACTITIONERS
  50. 50. ORG Build Customer Centric Organisations Inculcate Devops Culture Belief in Automation
  51. 51. Skill up the teams Incorporate Practices and Tools Architectural Changes TEAMS Understand Devops Principles
  52. 52. Skills Focus on Automation INDIVIDUALS
  53. 53. KEY PRINCIPLES
  54. 54. Systems Thinking Amplify Feedback Loops Continuous Improvement
  55. 55. Systems Thinking Look at the big picture Reduce Waste in the System Elevate Bottlenecks Improve the Flow
  56. 56. Source – The DevOps Handbook Value Stream Mapping
  57. 57. Plan Code Integrate, Test, Stage Deploy to Prod Systems Thinking
  58. 58. Plan Code Integrate, Test, Stage Deploy to Prod Creative Predictable
  59. 59. Reduce Bottlenecks Creative Predictable Automate
  60. 60. Visualising Work
  61. 61. Environment Creation Code Deployments Test Setup and Run Overly Tight Architectures THEORY OF CONSTRAINTS Bottlenecks
  62. 62. Code Pre Prod Prod shift bottlenecks
  63. 63. TEXT KEY PRINCIPLES ▸ Move from imperative to declarative ▸ Revision Control Everything ▸ Immediate Feedback ▸ Monitoring Everything ▸ System Design
  64. 64. IDENTIFY THE WASTE WASTE IN SOFTWARE DELIVERY ▸ Over Production: Running tests which need not be run. Component has no dependencies. Building features not useful for customers. ▸ Waiting : Dev and QA waiting for environment to be available. ▸ Over Processing : Engaging workforce in deployment planning, environment setup, manual releases. ▸ Defects : Bugs and Rework, Firefighting. ▸ Inventory : Piling up Work in Progress ▸ Waste of Resources : Allocating more than necessary, valuable processing power and memory ▸ Waste of movement : Exchanging emails, having multiple meetings for deployment planning Source : Amit Choudhary https://www.linkedin.com/pulse/20140928153300-27449214-when-i-see-devops-i-see-tps-and-poka-yoke
  65. 65. ENVIRONMENT AUTOMATION BUILD AUTOMATION DEPLOYMENT AUTOMATION REDUCING WAITING
  66. 66. Automated Self Serviced ENVIRONMENT AUTOMATION Production Like
  67. 67. Provisioning Configuring Bare Metal VMs Cloud
  68. 68. Bare Metal Cobbler Razor Kickstart Preseed
  69. 69. CLOUD Self Serviceable Managed Automation Dynamic Capacity
  70. 70. Infrastructure as a Code (IaaC) Ability to describe state of infrastructure Treat it similar to Application Code Repeatable, Flexible, Automat-able Consistent Provisioning and Configuration of Environments
  71. 71. Infrastructure as a Code (IaaC) VMs Cloud Configurations
  72. 72. Provisioning Cloudformation Openstack Heat Terraform APIs Vagrant Ansible
  73. 73. Dev Stg Prod Configuration Management
  74. 74. IaaC
  75. 75. Automated Virtual Environments Works with Hypervisors Integrates with Configuration Management Tools (e.g. chef, puppet, ansible)
  76. 76. Changing the way Software is Built, Shipped and Run Standardisation
  77. 77. AMPLIFYING FEEDBACK
  78. 78. Causes Rework Waste of Time Firefighting and Stress Causes Downtimes Defects
  79. 79. Test Driven Development Continuous Integration
  80. 80. Continuous Integration Small Batches Continuous Build Automated Testing Functional and Non Functional Immediate Feedback
  81. 81. Continuous Integration Jenkins GoCD CircleCI / Travis Bamboo
  82. 82. Gradle Rake/Make BUILD AUTOMATION Maven Gradle Ant Packer
  83. 83. Without automated testing continuous integration is the fastest way to get a big pile of jump that never compiles or runs correctly….. ! AUTOMATED TESTING
  84. 84. Automated UI Test Integration Test Unit Test Manual Test Anti Pattern Inverted Test Pyramid Automated UI Test Automated API Test Automated Service Test Automated Component Test Automated Unit Test Exploratory Test 10%
  85. 85. Rotated Test Pyramid Automated UI Test Automated API Test Automated Service Test Automated Component Test Automated Unit Test Exploratory Test 10%
  86. 86. Continuous Delivery Extension of Continuous Integration Keep the builds green Always ready to release Business decides when to release
  87. 87. Continuous Deployment
  88. 88. Code Deploy Octopus DEPLOYMENT AUTOMATION Capistrano Scripts Ansible Chef/Puppet
  89. 89. CONTINUOUS DEPLOYMENT IS NOT CONTINUOUS RELEASE CONTINUOUS DEPLOYMENT
  90. 90. Blue Green Canary Feature ToggleDecouple Services Contingency Switches Release Strategies
  91. 91. AMPLIFYING FEEDBACK
  92. 92. Plan Code Pre Prod Prod Systems Thinking Monitoring CustomerIdea
  93. 93. Monitoring Health Logs Performance Metrics
  94. 94. Health Nagios Sensu Data Dog SNMP
  95. 95. ELK Stack Splunk Data Dog Graylog Logs
  96. 96. Grafana Kibana Graphite New Relic Performance Metrics App Dynamics
  97. 97. Thank You

×