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

DevOpsDays Cuba 2016: DevOps from the cuban trenches

DevOpsDays Cuba 2016: DevOps from the cuban trenches

Author: Anesto del Toro Almenares
Summary:
We’ll share experiences during the implementation of our current software delivery system. Our initial goal was to achieve faster development and deployment cycles of quality products, in a reliable and sustainable way. The main challenges we faced and our achievements in terms of product planning, feature development, continuous integration, change and configuration management and continuous delivery will be exposed during the presentation.

DevOpsDays Cuba

October 19, 2016
Tweet

More Decks by DevOpsDays Cuba

Other Decks in Technology

Transcript

  1. 25 Team 1 3 Villa Clara Division 1 6 Head

    of Production Team Lead Team members QA, Docs,… 1 6 1 6 Ops* Dev
  2. About Me @anestodta [email protected] https://www.linkedin.com/in/anesto-del-toro • Head of Production, DATYS

    VC • Computer Sciences • Wearing multiple hats oProject Management o Business Analysis o Architecture o Technical Lead o Software Development (mostly backend) o Lean-Agile enthusiast o Eager learner • 16 years of experience o ~6 Researcher at UCLV (BE, PR & CV) Anesto del Toro Almenares
  3. About the TEAM @MarialinaBall @kikicarbonell @jcgomezcorrea1 @DuvielRodriguez @dayron_aj @christian861220 @genrylg

    @osmel_mora • Disciplined • Collaboration culture • Automation mindset*
  4. manual proVisioning poorLy controlled processes manual software builDing painful intEgrations

    no artifacts Management manual deplOyment manual Testing after development
  5. manual proVisioning manual software builDing painful intEgrations no artifacts Management

    manual deplOyment manual Testing after development infrequent Releases poorLy controlled processes
  6. manual proVisioning lOng feedback cycles manual software builDing painful intEgrations

    no artifacts Management manual deplOyment infrequent Releases manual Testing after development poorLy controlled processes
  7. manual proVisioning lOng feedback cycles manual software builDing painful intEgrations

    no artifacts Management manual deplOyment infrequent Releases manual Testing after development poorLy controlled processes
  8. Software Delivery System Achieve faster development and deployment cycles of

    quality products, in a reliable and sustainable way Enterprise Agility
  9. • Build management and Continuous Integration • Environment and deployments

    • Testing • Release management and compliance • Configuration management • Data management Continuous Delivery A Maturity Assessment Model
  10. "We can't solve problems by using the same kind of

    thinking we used when we created them." Albert Einstein
  11. •Optimize the whole •Eliminate waste •Build Quality-In •Deliver Fast •Focus

    on Flow LEAN Principles • Defer committment • Amplified learning • Engage Everyone • Continuous Improvement Mary and Tom Poppendieck
  12. Removing waste Reducing time to customer feedback Accelerating software delivery

    Lean guiding transition to Agility (context creation) Lean-Agile
  13. Value Stream and Actors Ideas Materialize MBIs Specify Prioritize Dev

    Review UAT Document Deploy Version Head of Production Team Lead Dev Teams Ops Team QA&Docs Team
  14. Value Stream and Actors Ideas Materialize MBIs Specify Prioritize Dev

    Review UAT Document Deploy Version Head of Production Team Lead Dev Teams Ops Team QA&Docs Team • Workflow • Bottlenecks • Teamwork • …
  15. A system is never the sum of its parts. It

    is the product of the interactions of its parts Russell Ackoff
  16. Ideas Materialize MBIs Specify Prioritize Dev Review UAT Document Deploy

    Version Reducing the Cycle Time requires the optimization of the whole Value Stream Start End Cycle Time
  17. Ideas Materialize MBIs Specify Prioritize Dev Review UAT Document Deploy

    Version Reducing the Cycle Time requires the optimization of the whole Value Stream Start End Cycle Time Optimize what we do? Remove delays between what we do?
  18. Ideas Materialize MBIs Specify Prioritize Dev Review UAT Document Deploy

    Version Speed without sacrificing quality Time To Market
  19. Ideas Materialize MBIs Specify Prioritize Dev Review UAT Document Deploy

    Version Speed without sacrificing quality Explicit policies = Definition of Done + Pull criteria
  20. Increment Review User Acceptance Testing Documentation Development & Operations Management

    & Planning Knowledge sharing/retention Automation Self-services Code repository Platform as a Service Artifacts and dependencies repositories Stakeholders Internet Production System
  21. Increment Review User Acceptance Testing Documentation Development & Operations Management

    & Planning Knowledge sharing/retention Automation Self-services Code repository Platform as a Service Artifacts and dependencies repositories Stakeholders Internet Production System
  22. LEVEL 1 LEVEL 2 LEVEL 3 Milestone 01 PROJECT XYZ

    Milestone 01 PROJECT XYZ Milestone 01 PROJECT XYZ High Level Goals MBIs Tasks ANALYSIS SPECIFICATION Tasks • Pull-System • Incremental & Iterative • Continuous Delivery Management and Planning
  23. • MBIs Mean resolution time: 15 days • 90 %

    MBIs takes at most 30 days • 98 % MBIs takes at most 34 días • … Predictability Analysis by Class of Service
  24. Increment Review User Acceptance Testing Documentation Development & Operations Management

    & Planning Knowledge sharing/retention Automation Self-services Code repository Platform as a Service Artifacts and dependencies repositories Stakeholders Internet Production System
  25. Next reléase from this point forward Merge bugfix Start RC

    1.0 bugfixes Tag 0.1 Tag 0.2 Tag 1.0 Features for Next release Bug fixed production: hotfix 0.2 Merge bugfixes from RC to develop Future feature Time Features branches Develop RC hotfixes master Practices • Branch per feature (short lived) • Sandboxing • Self-service CI & Deploy • Blessed repositories Development activity
  26. Minutes Weeks Production Staging UAT Security Increment deploy Unit Testing

    Acceptance tests Code Reviews Code metrics (*) Each cycle targets a different concern Feedback loops
  27. Increment Review User Acceptance Testing Documentation Development & Operations Management

    & Planning Knowledge sharing/retention Automation Self-services Code repository Platform as a Service Artifacts and dependencies repositories Stakeholders Internet Production System
  28. Increment Review User Acceptance Testing Documentation Development & Operations Management

    & Planning Knowledge sharing/retention Automation Self-services Code repository Platform as a Service Artifacts and dependencies repositories Stakeholders Internet Production System
  29. PRODUCTION SYSTEM Increment review User Acceptance Testing Documentation Development &

    Operations Management & Planning Knowledge sharing/retention Automation, Self- services, Code hosting Platform as a Service Artifact and dependencies repositories Stakeholders Internet
  30. PRODUCTION SYSTEM Increment review User Acceptance Testing Documentation Development &

    Operations Management & Planning Knowledge sharing/retention Automation, Self- services, Code hosting Platform as a Service Artifact and dependencies repositories Stakeholders Internet
  31. Increment Review User Acceptance Testing Documentation Development & Operations Management

    & Planning Knowledge sharing/retention Automation Self-services Code repository Platform as a Service Artifacts and dependencies repositories Stakeholders Internet Production System
  32. UAT Deploy Production like Deploy Unit tests Integration tests Code

    & Vulnerabilities Analysis Acceptance tests Load, Smoke, Security tests … Exploratory Production deploy Deployment pipeline Up to 10 deploys/releases* per day
  33. Results are not the solely point, but the development of

    People and Systems that allows us to achieve the results we expect