Upgrade to Pro — share decks privately, control downloads, hide ads and more …

DevOpsDays Cuba 2016: Workshop: Devops Modelling (Theory, Practice and Caveats)

DevOpsDays Cuba 2016: Workshop: Devops Modelling (Theory, Practice and Caveats)

Author: Patrick Debois
Summary:

DevOpsDays Cuba

October 18, 2016
Tweet

More Decks by DevOpsDays Cuba

Other Decks in Technology

Transcript

  1. This presentation ๏Devops ‘Models’ in the wild ๏Seeing the system

    ๏‘Monitoring Stream Mapping Technique’ ๏Observations ๏Focus on Flow ๏Identifying 4 areas of improvement ๏Example practices
  2. • Cross-Silo Group exercise • (both dev, test, ops ...)

    • Use a big wall • preferred near their officespace • preferred permanent • Whiteboard/Long Paper for drawing • Post-it with different colors Exercise Preparation
  3. Production Components (architecture) External Add components outside your control your

    team depends outside your company (like cloud services)
  4. Production Components (architecture) External Add components outside your control your

    team depends on inside your company (like firewall, dns, mail, ldap)
  5. Production Components (architecture) People (process) EndUser Relate enduser support to

    the process and to the components to the functionalities
  6. “To fix something we know we have to  go

    through development process”
  7. Production Components (architecture) People (process) Dev, Test, QA EndUser Business

    More mature people consider dev/test/qa as part of production
  8. Production Components (architecture) People (process) Dev, Test, QA EndUser Business

    More mature = Less ???? about end-user functionalities
  9. Production Components (architecture) People (process) Dev, Test, QA EndUser Business

    More mature = > monitoring/ support for external/cloud services
  10. OPS DEV 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/
  11. OPS DEV 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/
  12. OPS DEV 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/
  13. Tools Can you ‘technically’ do it Process Should you do

    it People (culture) Will you do it “Layers per Area” Think ‘tags’ of things you do in an area Area X
  14. Initial Unpredictable poorly controlled and reactive Managed Focused on project,

    often and reactive Defined Focused on organization and proactive Quantitatively Managed Measured and controlled Optimizing Focus on Improvement CMMI - Maturity Levels (Process centric)
  15. Intro Using Source Control ... Novice Builds Triggered by Commit

    ... Intermediate Automated Deployment to Testing ... Advanced Automated Functional Testing ... Insane Continuous Deployment to Prod ... Alternative Maturity Levels (cfr. Continuous Integration Model) http://blogs.urbancode.com/continuous-integration/continuous-integration-maturity-model/
  16. Name Area Provision dev/test and prod from the same src

    DEV delivery to Prod Embed Project knowledge Embed Operations knowledge feedback from Prod OPS Tools Intro Layer Level Practice: Use a configuration mangement system like chef/puppet to provision dev,test and prod from the same source Pattern: Automation, reuse of code Principles: By reusing the code it gets tested more && often more frequent/earlier feedback
  17. Production Components (architecture) People (process) Dev, Test, QA EndUser Business

    Different places where we can improve http://devopsdays.org/blog/2010/05/16/the-panel-experiment-and-ignite-devops/ Andrew Schaefer
  18. http://www.jedi.be/blog/2013/05/24/Infrastructure%20as%20Code/ cfengine, puppet chef, ansible, salt, ... OPS DEV 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 Infrastructure as code Using same technology versioning/testing/... Executable ‘documentation’ Common language
  19. OPS DEV 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.hashicorp.com/ Reproduceable environments Dev/Test machines are using the same setup as Production When your app requires changes on the system you can try them and change them ourself Ops can propagate production changes to dev easily
  20. OPS DEV 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 Monitoring & Metrics #monitoring{love,sucks} Enable devs to see the production usage/ problems (graphite) Devs can add metrics in their code (Statsd) Make non-subjective decisions at the start of the project
  21. OPS DEV 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 Developers wearing pagers Devs you have run operations learn and take it back to project Devs know the app better and can teach/ train operations people Better Tests to prevent production problems/ pain
  22. OPS DEV 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 https://github.com/Netflix/SimianArmy Experience problems earlier in the pipeline (less costly)
  23. OPS DEV 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 Visualize frequency of production errors and enable extraction of ‘context’
  24. OPS DEV 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 https://speakerdeck.com/jnewland/chatops-at-github Shared view on the system events
  25. OPS DEV 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 Objective view on problems (think retrospective) (Public) Post-Mortems
  26. OPS DEV 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 Find bottlenecks in procedures/technology Game Days http://www.youtube.com/watch?v=LCZT_Q3z520&noredirect=1
  27. Training through simulation OPS DEV 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 SadOps http://github.com/railsmachine/sadops
  28. is it even in Dev & Ops ? MGMT FIN

    SALES HR Business Customer OPS DEV
  29. Devops is not just about tools or automation Understanding the

    system needs to be done together Takeways Everbody should care about the whole system
  30. ?