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.

How the role for devops is evolving

970 views

Published on

How the devops practices are evolving while we move from managing servers to managing services

Published in: Technology
  • Be the first to comment

How the role for devops is evolving

  1. 1. HOW THE PRACTICES OF DEVOPS ARE EVOLVING from servers to services @patrickdebois - Small Town Heroes
  2. 2. Things I did (I’m proud of)
  3. 3. OPSDEV http://www.jedi.be/blog/2012/05/12/codifying-devops-area-practices/ 4 areas of improvement
  4. 4. OPSDEV Area 1: Extend delivery to production http://www.jedi.be/blog/2012/05/12/codifying-devops-area-practices/
  5. 5. OPSDEV Area 2: Extend operations feedback to project Area 1: Extend delivery to production http://www.jedi.be/blog/2012/05/12/codifying-devops-area-practices/
  6. 6. OPSDEV Area 2: Extend operations feedback to project Area 1: Extend delivery to production Area 3: Embed Project knowledge into Operations http://www.jedi.be/blog/2012/05/12/codifying-devops-area-practices/
  7. 7. OPSDEV Area 4: Embed Operations knowledge into Project Area 2: Extend operations feedback to project Area 1: Extend delivery to production Area 3: Embed Project knowledge into Operations http://www.jedi.be/blog/2012/05/12/codifying-devops-area-practices/
  8. 8. OPSDEV http://www.jedi.be/blog/2012/05/12/codifying-devops-area-practices/ Technical Loop Business Loop Business Loop
  9. 9. LIVE RESULTSINTERACTION MODERATION STUDIO CONTROLPART OF THE SHOW
  10. 10. Focus on the Business
  11. 11. “Backend” services “IT support” services Our “Office” services “Community” services “Frontend” services
  12. 12. “Mobile” services SNS/Push Cognito
  13. 13. (almost) NO SERVERS
  14. 14. A bit further down the rabbit hole …
  15. 15. Github service not available
  16. 16. undocumented changes
  17. 17. inconsistent behaviour
  18. 18. different behaviour under load
  19. 19. (almost) NO MAINTENANCE Less Maintenance
  20. 20. increased risk when not available More speed
  21. 21. With increased risk
  22. 22. Functions As a Service (FAAS) aka “serverless”
  23. 23. Case1 Generate “personalised” image Browser -> Pre-signed S3 -> Lambda -> SQS -> Redis
  24. 24. Case2 Animated gif/movie/meme editor API GW -> Lambda -> Img magic movie -> s3
  25. 25. You are an Agent
  26. 26. You make promises to others in the system
  27. 27. Your promises should be verifiable
  28. 28. A promise does not guarantee an outcome
  29. 29. Conditions should be part of your promise
  30. 30. It needs to be clearly documented otherwise it’s not a promise
  31. 31. It needs to be mutually agreed (not obligation) otherwise it’s not a promise
  32. 32. You might depend on other agents to keep your promises
  33. 33. Other agents make promises to you
  34. 34. Their promises need to be verifiable clearly documented & mutually agreed (not obligation)
  35. 35. But you can not make promises on behalf of other agents (bottom up vs top down)
  36. 36. Promises can be conflicting in a system
  37. 37. but the conflict can only be from internal promises (as we can not be responsible for others promises)
  38. 38. To keep a promise you should have a choice Push vs Pull
  39. 39. Single Leaves = SPOF To create choice you need to eliminate the single leaves (SPOF)
  40. 40. All problems in computer science can be solved by another level of abstraction
  41. 41. … except for the problem of too many layers of indirection … David Wheeler (inventor of subroutine)
  42. 42. Every promise binding is the basis for relationship (Dunbar)
  43. 43. Agents with a similar goal can be grouped into a Super Agent
  44. 44. Single Leaves = SPOF You need multiple Super Agents to have a choice again
  45. 45. Forksv1 v2 v3 v1 v2 v3 To keep promises agent can introduce different world views (versions)
  46. 46. Slows down A super agent might get slow internal communication speed is key Opportunity for personalised service providers
  47. 47. Scaling Promises keeping your promise while changing your size (is hard)
  48. 48. container re-use non-deterministic
  49. 49. limits not clear under stress
  50. 50. services devops
  51. 51. Holy Cow!
  52. 52. “I introduced devops and all I got was a remote API”
  53. 53. It’s devops Jim but not as we know it
  54. 54. emerging practices
  55. 55. communicate the status of your promise and monitor others
  56. 56. monitor your services and expose your own metrics (API)
  57. 57. expose insights to other agents (API)
  58. 58. show that you care about other agents
  59. 59. expose your logs
  60. 60. be clear on what happens when it fails
  61. 61. backup external data (give an API please)
  62. 62. provide & seek fast feedback on your promise change status
  63. 63. be clear on your dependencies and expect the same of other services
  64. 64. be proactive to make others keep their promises
  65. 65. give insights on changing promises
  66. 66. blog to communicate your service skill level
  67. 67. talk at conferences to indicate your willingness to share
  68. 68. make it convenient for other agents to use
  69. 69. provide feedback to other agents
  70. 70. show that you listen to those that depend on you
  71. 71. show that your participation by improving the field
  72. 72. show that your engineers are not afraid of talking to people
  73. 73. let other agents influence your changing promises
  74. 74. “The collaboration between dev & ops is now extended to external 3rd parties”
  75. 75. “make clear promises to other agents”
  76. 76. “And verify the status of other agents promises”
  77. 77. “To keep your promise to the business”
  78. 78. External Services are the next silo think “Supply Chain”
  79. 79. https://vimeo.com/101735252 DevOpsDays Minneapolis 2014 Jeff Sussna, Promising Digital Service Quality
  80. 80. Questions?
  81. 81. patrick@smalltownheroes.be www.smalltownheroes.be @patrickdebois

×