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.

You only have to change one thing to make DevOps work, Everything

165 views

Published on

This is a presentation I gave at DevOps West in Las Vegas on June 6th, 2018

Published in: Technology
  • Be the first to comment

You only have to change one thing to make DevOps work, Everything

  1. 1. YOU ONLY HAVE TO CHANGE ONE THING TO MAKE DEVOPS WORK EVERYTHING
  2. 2. YOU ONLY HAVE TO CHANGE ONE THING TO DO THE DEVOPS EVERYTHING
  3. 3. DEVOPS ISN’T SOMETHING YOU DO
  4. 4. @kmugrage THE CHANGES IN TODAY’S TALK ▸ Redefine words for your organization ▸ Change your organization to enable DevOps ▸ Use modern architectures and technologies ▸ Use Continuous Delivery to safely deploy more often ▸ There’s no test, but there is homework
  5. 5. @kmugrage WHO AM I? ▸ From Seattle, Washington, USA ▸ Technology Evangelist at ThoughtWorks ▸ DevOpsDays Organizer ▸ Infrequent blogger at ken.wtf and gocd.org
  6. 6. FOR YOUR ORGANIZATION REDEFINE WORDS
  7. 7. @kmugrage WHAT ISN’T DEVOPS ▸ A Toolset ▸ A Role ▸ A Team
  8. 8. @kmugrage@kmugrage IT’S VERBS, NOT NOUNS developING and operatING
  9. 9. @kmugrage CAMS ▸ Culture ▸ Automation ▸ Measurement ▸ Sharing https://blog.chef.io/2010/07/16/what-devops-means-to-me/
  10. 10. @kmugrage CALMS ▸ Culture ▸ Automation ▸ Lean ▸ Measurement ▸ Sharing https://blog.chef.io/2010/07/16/what-devops-means-to-me/
  11. 11. @kmugrage@kmugrage “DEVOPS: A CULTURE WHERE PEOPLE, REGARDLESS OF TITLE OR BACKGROUND, WORK TOGETHER TO IMAGINE, DEVELOP, DEPLOY AND OPERATE A SYSTEM.” –Me https://kenmugrage.com/2017/05/05/my-new-definition-of-devops/
  12. 12. TO ENABLE DEVOPS CHANGE YOUR ORG
  13. 13. @kmugrage@kmugrage TRADITIONAL MODEL Development Teams Testing Team Operations Team
  14. 14. @kmugrage@kmugrage “ANY ORGANIZATION THAT DESIGNS A SYSTEM (DEFINED BROADLY) WILL PRODUCE A DESIGN WHOSE STRUCTURE IS A COPY OF THE ORGANIZATION'S COMMUNICATION STRUCTURE.” –Mel Conway http://www.melconway.com/Home/Conways_Law.html
  15. 15. @kmugrage@kmugrage TRADITIONAL MODEL Development Teams QA Team Operations Team
  16. 16. @kmugrage@kmugrage RENAMING OPS WON’T SOLVE THE ISSUE Development Teams QA Team DevOps Team
  17. 17. @kmugrage@kmugrage CREATING ANOTHER SILO DOESN’T SOLVE SILOS Development Teams QA Team Operations Team DevOps Team
  18. 18. @kmugrage@kmugrage PRODUCT TEAMS
  19. 19. @kmugrage@kmugrage “YOU BUILD IT, YOU RUN IT” –Werner Vogels, Amazon https://queue.acm.org/detail.cfm?id=1142065
  20. 20. @kmugrage@kmugrage “GIVING DEVELOPERS OPERATIONAL RESPONSIBILITIES HAS GREATLY ENHANCED THE QUALITY OF THE SERVICES, BOTH FROM A CUSTOMER AND A TECHNOLOGY POINT OF VIEW. THE TRADITIONAL MODEL IS THAT YOU TAKE YOUR SOFTWARE TO THE WALL THAT SEPARATES DEVELOPMENT AND OPERATIONS, AND THROW IT OVER AND THEN FORGET ABOUT IT. NOT AT AMAZON. YOU BUILD IT, YOU RUN IT. THIS BRINGS DEVELOPERS INTO CONTACT WITH THE DAY-TO-DAY OPERATION OF THEIR SOFTWARE. IT ALSO BRINGS THEM INTO DAY-TO-DAY CONTACT WITH THE CUSTOMER. THIS CUSTOMER FEEDBACK LOOP IS ESSENTIAL FOR IMPROVING THE QUALITY OF THE SERVICE.” –Werner Vogels, Amazon https://queue.acm.org/detail.cfm?id=1142065
  21. 21. ARCHITECTURES AND TECHNOLOGIES USE MODERN
  22. 22. @kmugrage MONOLITHS CAN BE HARD ▸ All functionality is in one process ▸ Scale by replicating the monolith on multiple servers https://www.thoughtworks.com/insights/blog/microservices-nutshell
  23. 23. @kmugrage DEVELOP SMALLER PIECES MICROSERVICE ARCHITECTURE ▸ Each element of functionality is in a separate service ▸ Scale by distributing these services across servers, replicating as needed https://www.thoughtworks.com/insights/blog/microservices-nutshell
  24. 24. @kmugrage@kmugrage MODERN ARCHITECTURE EXAMPLE
  25. 25. @kmugrage@kmugrage SHIPPING BEFORE CONTAINERS http://enacademic.com/dic.nsf/enwiki/162086
  26. 26. @kmugrage@kmugrage SHIPPING WITH CONTAINERS http://enacademic.com/dic.nsf/enwiki/162086
  27. 27. @kmugrage@kmugrage MODERN INFRASTRUCTURE - DOCKER OPERATING SYSTEM DOCKER ENGINE CONFIGURATION LIBRARIES APPLICATION CONFIGURATION LIBRARIES APPLICATION CONFIGURATION LIBRARIES APPLICATION CONFIGURATION LIBRARIES DATABASE
  28. 28. @kmugrage@kmugrage MODERN INFRASTRUCTURE - KUBERNETES MASTER NODE API SERVER kubectl Web UI KUBELET PROXY KUBELET PROXY KUBELET PROXY NODE NODE NODE LOAD BALANCER USERS OPERATORS POD SCHEDULER
  29. 29. @kmugrage@kmugrage DOCKER WITH KUBERNETES
  30. 30. @kmugrage@kmugrage HOMEWORK http://samnewman.io/books/building_microservices/ http://nealford.com/books/
  31. 31. @kmugrage@kmugrage HOMEWORK https://github.com/dtsato/devops-in-practice-workshop
  32. 32. @kmugrage@kmugrage PRODUCT TEAMS Rental Cars Consumer Tax Hotels Business to Business Airlines Payments
  33. 33. @kmugrage@kmugrage THE HEART OF DOING EVOLUTIONARY ARCHITECTURE IS TO MAKE SMALL CHANGES, AND PUT IN FEEDBACK LOOPS THAT ALLOW EVERYONE TO LEARN FROM HOW THE SYSTEM IS DEVELOPING. Martin Fowler Foreword to Building Evolutionary Architecture
  34. 34. WE STILL HAVE TO DEPLOY SOMEWHERE
  35. 35. @kmugrage@kmugrage CAR AS A SERVICE https://www.k3syspro.com/cloud-computing-choosing-right-deployment-method/
  36. 36. @kmugrage AN EXAMPLE OF PLATFORM AS A SERVICE CLOUD.GOV ▸ Official service of the US Government ▸ 325 required security controls ▸ 269 handled by cloud.gov ▸ 41 shared ▸ 15 handled by customer https://cloud.gov/overview/technology/responsibilities/
  37. 37. @kmugrage@kmugrage THE CLOUD IS JUST SOMEBODY ELSE’S COMPUTER Someone at every conference
  38. 38. @kmugrage@kmugrage PRODUCT TEAMS
  39. 39. @kmugrage@kmugrage PRODUCT TEAMS Platform Team Compliance Team Security Team
  40. 40. TO SAFELY DEPLOY MORE OFTEN USE CONTINUOUS DELIVERY https://commons.wikimedia.org/wiki/ File:Continous_Delivery_by_Jez_Humble_and_David_Farley.jpg
  41. 41. @kmugrage@kmugrage CONTINUOUS DELIVERY IS THE ABILITY TO GET CHANGES OF ALL TYPES—INCLUDING NEW FEATURES, CONFIGURATION CHANGES, BUG FIXES AND EXPERIMENTS—INTO PRODUCTION, OR INTO THE HANDS OF USERS, SAFELY AND QUICKLY IN A SUSTAINABLE WAY. Jez Humble https://continuousdelivery.com/
  42. 42. @kmugrage@kmugrage MORE HOMEWORK
  43. 43. @kmugrage@kmugrage CONTINUOUS DELIVERY IS WHAT YOU “DO” AS PART OF A DEVOPS CULTURE Me
  44. 44. CONTINUOUS INTEGRATION A PREREQUISITE TO CD
  45. 45. @kmugrage@kmugrage CI THEATRE The ThoughtWorks tech radar recently recommended putting a hold on the tech team anti-pattern, CI Theatre. CI Theatre describes the illusion of practicing continuous integration (CI) while not really practicing it. https://www.gocd.org/2017/05/16/its-not-CI-its-CI-theatre/
  46. 46. @kmugrage@kmugrage CI THEATRE In our study only 10% of participants acknowledged that having a CI server was not the same as practicing CI. https://www.gocd.org/2017/05/16/its-not-CI-its-CI-theatre/
  47. 47. @kmugrage@kmugrage ARE YOU PRACTICING CI?
  48. 48. @kmugrage@kmugrage CONTINUOUS DELIVERY PIPELINE
  49. 49. @kmugrage@kmugrage CD VS CD http://gofor.cd/cd_vs_cd
  50. 50. @kmugrage@kmugrage OUR TEAMS Product Team Security Team Compliance Team
  51. 51. @kmugrage@kmugrage OUR CONTINUOUS DELIVERY PIPELINE UNIT TESTS FUNCTIONAL TESTS DEPLOY STAGING DEPLOY PRODUCTION
  52. 52. @kmugrage EXAMPLES OF THINGS WHICH ARE BAD ▸ Deploying insecure software ▸ Deploying non-performant software ▸ Deploying non-complying software ▸ Deploying ineffective software
  53. 53. @kmugrage@kmugrage …OF THE 106 COMPONENTS PER APPLICATION, THE REPORT’S ANALYSIS REVEALED AN AVERAGE OF 24 (I.E., 23%) HAVE KNOWN CRITICAL OR SEVERE SECURITY VULNERABILITIES… Derek Weeks http://blog.sonatype.com/2015/06/rework-is-choking-software-2015-state-of-the-software-supply-chain-report/
  54. 54. @kmugrage@kmugrage THE PURPOSE OF A CONTINUOUS DELIVERY PIPELINE IS TO KILL A RELEASE CANDIDATE Me, and a lot of other people
  55. 55. @kmugrage@kmugrage OUR CONTINUOUS DELIVERY PIPELINE UNIT TESTS FUNCTIONAL TESTS DEPLOY STAGING DEPLOY PRODUCTION SECURITY TESTS (OWASP, OTHERS) COMPLIANCE TESTS (SERVERSPEC, INSPEC)
  56. 56. SORRY, THERE’S NO SILVER BULLET
  57. 57. @kmugrage SUMMARY ▸ Redefine words for your organization ▸ Change your organization to enable DevOps ▸ Use modern architectures and technologies ▸ Use Continuous Delivery to safely deploy more often
  58. 58. THANK YOU! For more information about our products https://www.thoughworks.com/products/ https://www.gocd.org/

×