Continuous Delivery for Mature Code

Please download to get full document.

View again

of 16
All materials on our website are shared by users. If you have any questions about copyright issues, please report us to resolve them. We are always happy to assist you.
Similar Documents
Information Report



Views: 2 | Pages: 16

Extension: PDF | Download: 0

When starting up a greenfield project, it’s easy to take advantage of the most modern development practices. But what about the rest of us, who are working on codebases greater than five minutes old? How do you take code that’s four years and hundreds of thousands of SLOC, and turn that into a lean, mean, continuous-deploying machine? In this talk, Melissa will walk through what continuous integration and deployment means for teams working on mature code bases, and what the roadmap looks like to get from a release cycle that may take weeks or months to one that deploys on-demand. Readers can expect to come away with: Roadmap template for transitioning to CI/CD Common pitfalls when migrating old code Understanding how and when to declare ‘victory’ for a migration
  • 1. Continuous Delivery for ‘Mature’ Code #SauceCon 2019Melissa Benua
  • 2. about me Melissa Benua Senior Engineering Manager mParticle @queenofcode
  • 3. what is continuous delivery? Source Control Code Review Build + Test Deploy + Monitor @queenofcode #SauceCon 2019
  • 4. why continuous delivery? +50% market cap growth over time -50% time remediating security issues +2x likely to be recommended as a great place to work @queenofcode #SauceCon 2019
  • 5. what is a cd roadmap? Where you are Where you want to go Reasonable path between the two @queenofcode #SauceCon 2019
  • 6. pillars of concern 01 Source Control 02 Quality 03 Deployment 04 Monitoring @queenofcode #SauceCon 2019
  • 7. source control practicesLevel1 A source control system might exist! Level2 Inefficient use of branches – either too many levels, or too few Level3 GitHub Flow Level4 Main trunkline development with frequent (daily) commits to master @queenofcode #SauceCon 2019
  • 8. quality practicesLevel1 Few tests No auto test runs Don’t all pass ‘It works on my machine’ Level2 Unit tests auto run Test suites are reliable Manual integration tests Level3 >60% unit test coverage Automatic int tests Manual specialty tests Level4 Fully auto regr tests Specialty test runs (perf, security, UI, etc) @queenofcode #SauceCon 2019
  • 9. deployment practicesLevel1 Builds sometimes deployed from a developer’s machine Level2 Builds created from an auto build system Level3 Components are able to deploy independent from the whole Level4 Infrastructure as code (containers) @queenofcode #SauceCon 2019
  • 10. monitoring practicesLevel1 Logs exist on individual servers Level2 Centralized, searchable logs Level3 Some metrics collected, but adhoc per- developer Level4 Standard metrics, alerts, structured log data @queenofcode #SauceCon 2019
  • 11. continuous delivery stages STAGE 4 Full Automation STAGE 3 Significant Automation STAGE 2 Early Automation STAGE 1 Very Manual Automated Builds Automated Staging Manual Deployments Automated-ish Builds Manual Staging Manual Deployments Automated Builds Containerized Staging Push-Button Deployments Automated Builds Automated Staging Automated Deployments @queenofcode #SauceCon 2019
  • 12. step 1: self assessment Source Control 1 - None 2 - Inefficient 3 - GitHub Flow 4 - Trunkline Quality 1 - None 2 - Unit Tests 3 - Integration Tests 4 - Specialty Tests Deployment 1- Manual 2 - Auto Builds 3 - Service Builds 4 - Container Builds Monitoring 1 - Server Logs 2 - Central Logs 3 - Metrics 4 - Structured Tracing Delivery Stage 4 - Manual 8 - Early Auto 12 - Semi Auto 16 - Full Auto @queenofcode #SauceCon 2019
  • 13. step 2: goal assessment What’s the standard in our industry? Do we have any internal blockers? Do we have any external or regulatory blockers? Do we have customer blockers? @queenofcode #SauceCon 2019
  • 14. step 3: plot your map Are all four tires in the same condition? Do we have enough fuel in the tank? Do we have the necessary licensing and authorization? Do we have the correct size engine? @queenofcode #SauceCon 2019
  • 15. Key Takeaways Don’t let the tail wag the dog – capabilities beget behavior Know the pillars, and where your team is on them; stay balanced Be honest about the investment your team can make Make the ‘right’ thing easy, and success will follow @queenofcode #SauceCon 2019
  • 16. thank you! @queenofcode #SauceCon 2019
  • Recommended
    View more...
    We Need Your Support
    Thank you for visiting our website and your interest in our free products and services. We are nonprofit website to share and download documents. To the running of this website, we need your help to support us.

    Thanks to everyone for your continued support.

    No, Thanks

    We need your sign to support Project to invent "SMART AND CONTROLLABLE REFLECTIVE BALLOONS" to cover the Sun and Save Our Earth.

    More details...

    Sign Now!

    We are very appreciated for your Prompt Action!