Continuous Deployment (english)

287 views

Published on

Slides for Continuous Deployment talk on agileday 2013 in Vilnius - tak (in lithuanian) here - http://www.youtube.com/watch?v=ti1Pfu9dnYY

Published in: Technology, Business
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
287
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
7
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Continuous Deployment (english)

  1. 1. Continuous DeploymentTitas Norkūnas / @varsketiz
  2. 2. Assembla the Product~ 350.000 Projects tracked~ 350.000 Repositories hosted~ 850.000 Users registered~ 5.000.000 Tasks created
  3. 3. Assembla the Team● 40 People (20 Developers)● 20 Countries● 15 Different Timezones● 163 Prod Deploys in April
  4. 4. Assembla the Team
  5. 5. Assembla the TeamMeColleague I work with the most
  6. 6. Have you heard aboutContinuous Deployment before?
  7. 7. How often do you deploy?
  8. 8. This is about● The Why● Common concerns● The How● Good to haves and common issues● How we did it
  9. 9. Why bother?Agile manifesto:"Our highest priority is to satisfy thecustomer through early andcontinuous delivery of valuablesoftware."
  10. 10. Why bother?Agile manifesto:"Working software is the primarymeasure of progress."
  11. 11. Why bother?Agile manifesto:"Simplicity – the art of maximizing theamount of work not done – isessential."
  12. 12. Why bother?MVP:"The minimum viable product is thatversion of a new product whichallows a team to collect the maximumamount of validated learning aboutcustomers with the least effort."
  13. 13. Why bother?Your favorite tech company does it:● Github● Amazon● Heroku● Linkedin● Etsy● ... <endless list> ...
  14. 14. Why bother?Your favorite tech company does it:● Github● Amazon - Prod Deploy every 11s!● Heroku● Linkedin● Etsy● ... <endless list> ...
  15. 15. Benefits● Deliver value ASAP● Advance every day● Always be informed● Have a fast feedback cycle● Create a top-notch environment
  16. 16. Concerns● But isnt that dangerous?● That will cost much more!● It will reduce quality!● Thats just cowboy-coding!
  17. 17. But isnt that dangerous? - No.● Less changes in every release● Minimal issue fix and deploy time● Deploys are standard
  18. 18. That will cost much more! - No.● Automated deploys - one time fee● Cheap a/b testing● Always ASAP code delivery
  19. 19. It will reduce quality! - No.● Hide features that arenot ready● Never rush to "make it"● Keep all current testingpractices
  20. 20. Thats just cowboy-coding! - No.● Standardize configuration● Standardize migrations● Standardize all environments
  21. 21. The How● "Continuous" team mentality● Proper Continuous Integration● Deployment Automation● Metrics and Alerts
  22. 22. There is only one rule toContinuous Deployment - keepyour Mainline deployable.
  23. 23. Define deployable
  24. 24. Automated tests pass
  25. 25. Automated tests pass, codereviewed and tested by peer orQA
  26. 26. Automated tests pass, codereviewed and tested by peer orQA, code tested on productionby a subset of users
  27. 27. Mainline stability● Dont break the trust to save 5minutes● Dont assume you know everything● Dont block others
  28. 28. Continuous IntegrationBranch →Mainline →
  29. 29. Continuous Integration2?1Mainline →Branch →
  30. 30. Continuous IntegrationMainline →1 ?4Branch →3Mainline →Branch →
  31. 31. Backmerge from Mainline tobranch for integrate and build.Premature integration is evil
  32. 32. Deployment Automation● Easy - with a click of a button● Risk-free - be able to rollback● Consistent - no surprises● Traceable - who, when what
  33. 33. Easy - with a click of a button
  34. 34. Risk-free - be able to rollback
  35. 35. Consistent - no surprises
  36. 36. Traceable - who, when, what?
  37. 37. Metrics and Alerts● Real-time● Monitor key business metrics● Have a dashboard for app metrics● Alert on abnormalities notthresholds
  38. 38. Business metrics
  39. 39. Application Metrics
  40. 40. Abnormalities, not thresholds
  41. 41. The good to haves● Fast tests and fast deploys● Configuration automation● Fast developer onboarding● Uniform migration strategy
  42. 42. Fast tests and fast deploys
  43. 43. Configuration automation
  44. 44. Fast developer onboarding
  45. 45. Uniform migration strategy
  46. 46. "Continuous" is a game-changer.How does it change the game forother people in the company?
  47. 47. How Assembla did it
  48. 48. Release Count Evolution
  49. 49. Release Count EvolutionFrustration
  50. 50. Release Count Evolution
  51. 51. Release Count Evolution
  52. 52. Release Count EvolutionLOL Vacation
  53. 53. Release Count Evolution
  54. 54. Common issues● Wait, but how do I deploy schemachanges without downtime?● I need manual testing in myworkflow...● Does not scale.

×