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

Modern Day Microservices Delivery - Code & Comedy 2017

Modern Day Microservices Delivery - Code & Comedy 2017

Microservices shed a new light on application lifecycle management
and software delivery. The increased complexity of distributed engineering requires advanced testing and automation, resulting in a mostly different setup. Join this talk to get insights on how a typical delivery chain can be improved to suit microservices, using tools such as Spinnaker and Jenkins pipelines.

Andreas Evers

February 08, 2017
Tweet

More Decks by Andreas Evers

Other Decks in Programming

Transcript

  1. High-performing IT organizations deploy 200x more frequently with 2555x shorter

    lead times they have 3x fewer failures and recover 24x faster - Puppet labs state of devops report 2016
  2. Chaos Tests CDCT Unit Tests Integration Tests SLA Tests Technical

    Analysis Intake Business Workshops Conceptual Design Functional Design Prototyping Commit & Push Quality Tests Build Locally Aggregate / Analyze Logs Monitor Validate Hypotheses Canary Tests A/B Tests User Research Co-Creation User Testing User Stories Visual Design Write Tests & Code End to End Tests Unit Tests Integration Tests Penetration Tests Load & Stress Tests Smoke Tests Deploy 2 Test Environment Notify Review & Merge
  3. Objective: Resiliency Practice: Chaos Monkey Chaos Tests CDCT Unit Tests

    Integration Tests SLA Tests Technical Analysis Intake Business Workshops Conceptual Design Functional Design Prototyping Commit & Push Quality Tests Build Locally Aggregate / Analyze Logs Monitor Validate Hypotheses Canary Tests A/B Tests User Research Co-Creation User Testing User Stories Visual Design Write Tests & Code End to End Tests Unit Tests Integration Tests Penetration Tests Load & Stress Tests Smoke Tests Deploy 2 Test Environment Notify Objective: Improve throughput; increase visibility and transparency Practice: Scrum or Kanban Objective: Code quality; faster refactoring; reduced maintenance cost; faster feedback Practice: Test-driven development Review & Merge Objective: Engineers from other teams can contribute code changes they need Practice: Pull request contribution model Objective: Eliminate waste; faster time to value Practice: Work in small batches Objective: Eliminate handoffs Practice: Product owner embedded in the team Objective: Any change can be deployed into production at any time Practice: Unattended automation with a CI/CD pipeline Objective: Achieve extreme agility with instant feedback from real users Practice: Test on production Objective: Learn and improve from failures Practice: Blameless postmortems Objective: Easily detect measurable signals as needed to run your experiments Practice: If it moves, measure it Objective: Improve decision making, reduce uncertainty and enable continuous improvement Practice: Transparency Objective: All team members have the necessary knowledge to do a given task Practice: Pair Programming