Deploying Often
description
Transcript of Deploying Often
![Page 1: Deploying Often](https://reader034.fdocuments.net/reader034/viewer/2022051317/568166b9550346895ddac067/html5/thumbnails/1.jpg)
Deploying Often
![Page 2: Deploying Often](https://reader034.fdocuments.net/reader034/viewer/2022051317/568166b9550346895ddac067/html5/thumbnails/2.jpg)
© 2012
About MeDoing agile since 1999Start ups / EnterprisesPlanigle - Consulting and TrainingQcue – VP, Engineering
![Page 3: Deploying Often](https://reader034.fdocuments.net/reader034/viewer/2022051317/568166b9550346895ddac067/html5/thumbnails/3.jpg)
© 2012
Case Study: QcueSAASSmall team (DevQAOps)Deploy every weeknight (for 2 years)Automation and monitoring are keyLots of small issuesFew big issues
![Page 4: Deploying Often](https://reader034.fdocuments.net/reader034/viewer/2022051317/568166b9550346895ddac067/html5/thumbnails/4.jpg)
© 2012
AgendaWhy do it?PrerequisitesGetting Good At It
![Page 5: Deploying Often](https://reader034.fdocuments.net/reader034/viewer/2022051317/568166b9550346895ddac067/html5/thumbnails/5.jpg)
© 2012
Value Before Continuous DeployA lot of the literature focuses on going “all
the way”You get a lot of value before thatAnd it is much easier!
![Page 6: Deploying Often](https://reader034.fdocuments.net/reader034/viewer/2022051317/568166b9550346895ddac067/html5/thumbnails/6.jpg)
© 2012
Customer BenefitsCan turn around fixes / small features quicklyAble to give feedback incrementally
![Page 7: Deploying Often](https://reader034.fdocuments.net/reader034/viewer/2022051317/568166b9550346895ddac067/html5/thumbnails/7.jpg)
© 2012
Engineering BenefitsEasy to narrow down what caused the
problemEasy to fixKnown stability
![Page 8: Deploying Often](https://reader034.fdocuments.net/reader034/viewer/2022051317/568166b9550346895ddac067/html5/thumbnails/8.jpg)
© 2012
What if I don’t do SaaS?Deploy to an internal server insteadUse data typical of productionQA, Prod Mgmt, etc. can use itEverything else can still apply
![Page 9: Deploying Often](https://reader034.fdocuments.net/reader034/viewer/2022051317/568166b9550346895ddac067/html5/thumbnails/9.jpg)
© 2012
DownsidesEvery deploy can crash and burnHave to be vigilantIf done poorly, can spend all your time
recovering
![Page 10: Deploying Often](https://reader034.fdocuments.net/reader034/viewer/2022051317/568166b9550346895ddac067/html5/thumbnails/10.jpg)
© 2012
Prerequisites – TestingUnit testsIntegration testsAbility to see what it will look like in
production
![Page 11: Deploying Often](https://reader034.fdocuments.net/reader034/viewer/2022051317/568166b9550346895ddac067/html5/thumbnails/11.jpg)
© 2012
Prerequisites – DeploymentAutomated buildNotification on failurePromote last build that passes
![Page 12: Deploying Often](https://reader034.fdocuments.net/reader034/viewer/2022051317/568166b9550346895ddac067/html5/thumbnails/12.jpg)
© 2012
Prerequisites – MonitoringWeb site / User monitoringApplication / Guts monitoringLog monitoring
![Page 13: Deploying Often](https://reader034.fdocuments.net/reader034/viewer/2022051317/568166b9550346895ddac067/html5/thumbnails/13.jpg)
© 2012
Prerequisites – ProcessesWhat if deployment fails?What if your server crashes?What if data is corrupted?What if a critical error gets deployed?
![Page 14: Deploying Often](https://reader034.fdocuments.net/reader034/viewer/2022051317/568166b9550346895ddac067/html5/thumbnails/14.jpg)
© 2012
Getting Good At It / Tips and TricksDefects are the first priorityIdentify / fix the root causeIdentify / repair holes in testing / monitoringSmall stories helpCode reviews / pair programmingRetrospect often and changeDon’t be disruptiveCommunicate early and often!
![Page 15: Deploying Often](https://reader034.fdocuments.net/reader034/viewer/2022051317/568166b9550346895ddac067/html5/thumbnails/15.jpg)
© 2012
What if it is TOO BIG?Break into incrementsMake it admin onlyA few customers at a time
![Page 16: Deploying Often](https://reader034.fdocuments.net/reader034/viewer/2022051317/568166b9550346895ddac067/html5/thumbnails/16.jpg)
© 2012
What if it is too risky?Identify risky areasVary process by riskinessAnyone can block the deploy
![Page 17: Deploying Often](https://reader034.fdocuments.net/reader034/viewer/2022051317/568166b9550346895ddac067/html5/thumbnails/17.jpg)
© 2012
Messaging to CustomersRelease and Marketing can be distinctFine grained vs. large grained
communication
![Page 18: Deploying Often](https://reader034.fdocuments.net/reader034/viewer/2022051317/568166b9550346895ddac067/html5/thumbnails/18.jpg)
© 2012
ResourcesWalter Bodwell
Twitter: @wbodwellwww.planigle.com
www.walterbodwell.com