1 / 18

Deploying Often

Deploying Often. About Me. Doing agile since 1999 Start ups / Enterprises Planigle - Consulting and Training Qcue – VP, Engineering. Case Study: Qcue. SAAS Small team ( DevQAOps ) D eploy every weeknight (for 2 years) Automation and monitoring are key Lots of small issues

betsy
Download Presentation

Deploying Often

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Deploying Often

  2. About Me • Doing agile since 1999 • Start ups / Enterprises • Planigle - Consulting and Training • Qcue – VP, Engineering

  3. Case Study: Qcue • SAAS • Small team (DevQAOps) • Deploy every weeknight (for 2 years) • Automation and monitoring are key • Lots of small issues • Few big issues

  4. Agenda • Why do it? • Prerequisites • Getting Good At It

  5. Value Before Continuous Deploy • A lot of the literature focuses on going “all the way” • You get a lot of value before that • And it is much easier!

  6. Customer Benefits • Can turn around fixes / small features quickly • Able to give feedback incrementally

  7. Engineering Benefits • Easy to narrow down what caused the problem • Easy to fix • Known stability

  8. What if I don’t do SaaS? • Deploy to an internal server instead • Use data typical of production • QA, Prod Mgmt, etc. can use it • Everything else can still apply

  9. Downsides • Every deploy can crash and burn • Have to be vigilant • If done poorly, can spend all your time recovering

  10. Prerequisites – Testing • Unit tests • Integration tests • Ability to see what it will look like in production

  11. Prerequisites – Deployment • Automated build • Notification on failure • Promote last build that passes

  12. Prerequisites – Monitoring • Web site / User monitoring • Application / Guts monitoring • Log monitoring

  13. Prerequisites – Processes • What if deployment fails? • What if your server crashes? • What if data is corrupted? • What if a critical error gets deployed?

  14. Getting Good At It / Tips and Tricks • Defects are the first priority • Identify / fix the root cause • Identify / repair holes in testing / monitoring • Small stories help • Code reviews / pair programming • Retrospect often and change • Don’t be disruptive • Communicate early and often!

  15. What if it is TOO BIG? • Break into increments • Make it admin only • A few customers at a time

  16. What if it is too risky? • Identify risky areas • Vary process by riskiness • Anyone can block the deploy

  17. Messaging to Customers • Release and Marketing can be distinct • Fine grained vs. large grained communication

  18. Resources • Walter Bodwell • Planigle • wbodwell@planigle.com • Twitter: @wbodwell • www.planigle.com • www.walterbodwell.com

More Related