Your SlideShare is downloading. ×
Continous delivery
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Continous delivery

973
views

Published on

Published in: Technology, Business

0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
973
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
27
Comments
0
Likes
2
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Andrzej GrzesikMonday, July 2, 12
  • 2. CONTINOUS DELIVERY jak to ugryźć? Andrzej GrzesikMonday, July 2, 12
  • 3. GREAT BOOKS!Monday, July 2, 12
  • 4. 3.6% prelegentów jest zMonday, July 2, 12
  • 5. ABOUT:ME Present PastMonday, July 2, 12
  • 6. I HATE COMPUTERS disclaimerMonday, July 2, 12
  • 7. QUESTIONS? ask them right away!Monday, July 2, 12
  • 8. So...Monday, July 2, 12
  • 9. because is more fun thanMonday, July 2, 12
  • 10. what is.. done?Monday, July 2, 12
  • 11. #define doneMonday, July 2, 12
  • 12. What is done?Monday, July 2, 12
  • 13. What is done? CodedMonday, July 2, 12
  • 14. What is done? Coded Checked-inMonday, July 2, 12
  • 15. What is done? Coded Checked-in ReviewedMonday, July 2, 12
  • 16. What is done? Coded Checked-in Reviewed BuiltMonday, July 2, 12
  • 17. What is done? Coded Checked-in Reviewed Built TestedMonday, July 2, 12
  • 18. What is done? Coded Checked-in Reviewed Built Tested DemoedMonday, July 2, 12
  • 19. not really :-)Monday, July 2, 12
  • 20. #redefine doneMonday, July 2, 12
  • 21. Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.Monday, July 2, 12
  • 22. Our highest priority is to satisfy the customer through early and continuous delivery of valuable software. Agile ManifestoMonday, July 2, 12
  • 23. it’s not ready till it’s deployed done === releasedMonday, July 2, 12
  • 24. feedback!Monday, July 2, 12
  • 25. Eric Ries, The Lean Startup build& create hypothesis ideas& deploy& deliver minimum viable product get feedback learn& measure& (repeat) data&Monday, July 2, 12
  • 26. If we can reduce the time between major iterations We can increase our odds of success Eric Ries, Lean StartupMonday, July 2, 12
  • 27. If we can reduce the time between major iterations We can increase our odds of success Eric Ries, Lean StartupMonday, July 2, 12
  • 28. How long would it take your organization to deploy a change that involved just one single line of code? Do you do this on a repeatable, reliable basis? Mary and Tom Poppendieck, Implementing Lean Software DevelopmentMonday, July 2, 12
  • 29. How long would it take your organization to deploy a change that involved just one single line of code? Do you do this on a repeatable, reliable basis? Mary and Tom Poppendieck, Implementing Lean Software DevelopmentMonday, July 2, 12
  • 30. repeatableMonday, July 2, 12
  • 31. HOW?!Monday, July 2, 12
  • 32. entreth: The Deployment PipelineMonday, July 2, 12
  • 33. The Deployment PipelineMonday, July 2, 12
  • 34. The Deployment Pipeline compileMonday, July 2, 12
  • 35. The Deployment Pipeline compile unit testMonday, July 2, 12
  • 36. The Deployment Pipeline compile unit test packageMonday, July 2, 12
  • 37. The Deployment Pipeline compile unit test package artifact repositoryMonday, July 2, 12
  • 38. The Deployment Pipeline compile Acceptance unit test testing package artifact repositoryMonday, July 2, 12
  • 39. The Deployment Pipeline compile Acceptance Capacity unit test testing testing package artifact repositoryMonday, July 2, 12
  • 40. The Deployment Pipeline compile Acceptance Capacity Manual unit test testing testing testing package artifact repositoryMonday, July 2, 12
  • 41. The Deployment Pipeline compile Acceptance Capacity Manual unit test testing Release testing testing package artifact repositoryMonday, July 2, 12
  • 42. build only once!Monday, July 2, 12
  • 43. The Deployment PipelineMonday, July 2, 12
  • 44. The Deployment Pipeline compile Acceptance Capacity unit test testing testing package artifact repositoryMonday, July 2, 12
  • 45. The Deployment Pipeline compile Acceptance Capacity Manual unit test testing testing testing package artifact repositoryMonday, July 2, 12
  • 46. The Deployment Pipeline compile Acceptance Capacity Manual unit test testing Release testing testing package artifact repositoryMonday, July 2, 12
  • 47. The Deploymentfear! Pipeline compile Acceptance Capacity Manual unit test testing Release testing testing package artifact repositoryMonday, July 2, 12
  • 48. automate everything! (almost)Monday, July 2, 12
  • 49. automate everything!Monday, July 2, 12
  • 50. and?Monday, July 2, 12
  • 51. well, it’s BIGMonday, July 2, 12
  • 52. all code is production readyMonday, July 2, 12
  • 53. every version is a Release CandidateMonday, July 2, 12
  • 54. Pro tip: --versionMonday, July 2, 12
  • 55. antipatternsMonday, July 2, 12
  • 56. deploying manually is evil!Monday, July 2, 12
  • 57. error-prone http://www.flickr.com/photos/aaronjacobs/64368770/Monday, July 2, 12
  • 58. always different repeatableMonday, July 2, 12
  • 59. impossible to testMonday, July 2, 12
  • 60. voodoo http://flickr.com/photos/35541100@N00/2486381001/Monday, July 2, 12
  • 61. 2 AM deploys http://www.flickr.com/photos/dhdesign/1096464615/sizes/z/in/photostream/Monday, July 2, 12
  • 62. the “deploy” teamMonday, July 2, 12
  • 63. deploying rarely/late symptomps: “alpha”, “beta”, “gold”Monday, July 2, 12
  • 64. Monday, July 2, 12
  • 65. deploying rarely late first contact with reality creates unrealistic assumptions tested.. in devMonday, July 2, 12
  • 66. do you avoid deploys?Monday, July 2, 12
  • 67. deploy each? year quarter week ...Monday, July 2, 12
  • 68. if it hurts do it more often! practice, practice, practiceMonday, July 2, 12
  • 69. incremental, frequent releases reduce riskMonday, July 2, 12
  • 70. provide dataMonday, July 2, 12
  • 71. give rollback pointsMonday, July 2, 12
  • 72. some stats Facebook - deploy every 10 minutes Netflix Etsy - 50-60 deploys/day last project - 1374 commits, 1057 deployments, <8 monthsMonday, July 2, 12
  • 73. Monday, July 2, 12
  • 74. environmentsMonday, July 2, 12
  • 75. If I erased ALL your production machines, how long would you need to be back up?Monday, July 2, 12
  • 76. well, code is in Git mercurial, subversion, ClearCase, whathaveyouMonday, July 2, 12
  • 77. Imagine: http://www.flickr.com/photos/roadhunter/68017745/Monday, July 2, 12
  • 78. infrastructure and configuration is just as importantMonday, July 2, 12
  • 79. version it! (puppet, chef, etc)Monday, July 2, 12
  • 80. Befriend some admins :-)Monday, July 2, 12
  • 81. and version everythingMonday, July 2, 12
  • 82. manual configuration of environments not repeatable privileged team of “magicians” slight differences create errors hard to version doesn’t scaleMonday, July 2, 12
  • 83. rollback, anyone?Monday, July 2, 12
  • 84. trucksMonday, July 2, 12
  • 85. Monday, July 2, 12
  • 86. meanwhile, in the real worldMonday, July 2, 12
  • 87. deploys how do I?Monday, July 2, 12
  • 88. deploys blue-green canary emergency fixesMonday, July 2, 12
  • 89. bluegreen trafficMonday, July 2, 12
  • 90. full bluegreen is costly but great for availabilityMonday, July 2, 12
  • 91. canaryMonday, July 2, 12
  • 92. Monday, July 2, 12
  • 93. emergency fixesMonday, July 2, 12
  • 94. emergency fixes go the same wayMonday, July 2, 12
  • 95. DON’T break rulesMonday, July 2, 12
  • 96. caveats!Monday, July 2, 12
  • 97. caveats State Configuration vs JEEMonday, July 2, 12
  • 98. caveat: datastores ideally: each app has it’s ownMonday, July 2, 12
  • 99. caveat: datastores really: must be scripted migrations scripts + from scratch have tests talking to the db test each datastoreMonday, July 2, 12
  • 100. maybe event sourcing?Monday, July 2, 12
  • 101. branchingMonday, July 2, 12
  • 102. Monday, July 2, 12
  • 103. if your system looks like thatMonday, July 2, 12
  • 104. cut!Monday, July 2, 12
  • 105. Monday, July 2, 12
  • 106. have integration tests have a “test” systemMonday, July 2, 12
  • 107. desktops LOVE your autoupdate build-in version checking and inform userMonday, July 2, 12
  • 108. desktops DoMonday, July 2, 12
  • 109. desktops orMonday, July 2, 12
  • 110. in practice modules, modules, modules pre-tested commits rock.. a bit dvcs rock a lot! VMs rock a lot^2!Monday, July 2, 12
  • 111. there are toolsMonday, July 2, 12
  • 112. Go ($$$)Monday, July 2, 12
  • 113. Monday, July 2, 12
  • 114. is awesomeMonday, July 2, 12
  • 115. +Monday, July 2, 12
  • 116. resources http://continuousdelivery.com http://lmgtfy.com/?q=continuous+deliveryMonday, July 2, 12
  • 117. kthxbye!Monday, July 2, 12

×