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

Deploying Straight to Production: A guide to the Holy Grail

Deploying Straight to Production: A guide to the Holy Grail

You've toiled hard on your code, tested it locally, and you're confident it's ready to go. But how long until you see it in production? For some teams, it can be months or even years. By the time your new feature or bug fix gets used in anger, you've forgotten what you did! But with a great deployment pipeline and some clever architecture, there's a better way.

This session is packed with war stories and real world successes. We'll walk through the realities of a no-touch deployment pipeline that you can trust all the way to production, and we'll examine some clever architectural patterns to enable true software agility. By the end, you'll be convinced that if it's not in production, it doesn't count.

You can watch a recording of this talk at http://brdy.in/NDCProd

Damian Brady

June 23, 2016
Tweet

More Decks by Damian Brady

Other Decks in Programming

Transcript

  1. Is this guy really going to tell us to deploy

    straight to production? No Yes ?
  2. @damovisa | #KCDC16 Continuous Delivery Continuous Integration Continuous Deployment merge,

    build, test ready to deploy automatically deployed TERMINOLOGY
  3. @damovisa | #KCDC16 Continuous Delivery Continuous Integration Continuous Deployment merge,

    build, test ready to deploy automatically deployed TERMINOLOGY
  4. @damovisa | #KCDC16 BUILD Does it merge? Does it compile?

    TEST Do our tests pass? DEPLOY + TEST Do the tests still pass? Does the UI work? Can we talk to our DB? PRODUCTION I might buy a yacht. A pipeline is about testing THE PIPELINE Did our deployment work?
  5. @damovisa | #KCDC16 BUILD Does it merge? Does it compile?

    TEST Do our tests pass? PRODUCTION I might buy a yacht. A pipeline is about testing THE PIPELINE DEPLOY + TEST Do the tests still pass? Does the UI work? Can we talk to our DB? Did our deployment work?
  6. @damovisa | #KCDC16 Feature Branching Feature Flags in-progress features don’t

    go all the way to production everything goes to production, but in-progress features are invisible PRODUCTION?
  7. @damovisa | #KCDC16 Deployment Release Launch the artifacts and deployment

    steps that define a version putting a release in an environment giving a change to the users TERMINOLOGY
  8. @damovisa | #KCDC16 Build and Test Deploy to … FEATURE

    FLAG PIPELINE Deploy to Prod Test features Launch
  9. @damovisa | #KCDC16 Build and Test Deploy to … FEATURE

    FLAG PIPELINE Deploy to Prod Test features Launch
  10. @damovisa | #KCDC16 BENEFITS Pipeline provides a filter Separates the

    Launch from the Deployment Test in Production!
  11. @damovisa | #KCDC16 BUT WHAT ABOUT… One-way changes Branch by

    Abstraction Transitional Deployments Technical Debt give yourself a way back resolve dependencies based on feature flags clean up after yourself
  12. @damovisa | #KCDC16 + + = Everything. Yes, everything. Automation

    01 Stop the bad from getting to Production Testing 02 Separate Deployment from Release Test in Production! Feature Flags 03 A white yacht please. Success TAKEAWAYS