Alm Forum 2014 - Jose Luis Soria - Patterns and anti-patterns for (Continuous) delivery

1,488 views

Published on

Slides for my presentation about delivery patterns at the ALM Forum 2014 (Seattle)

Alm Forum 2014 - Jose Luis Soria - Patterns and anti-patterns for (Continuous) delivery

  1. 1. Sponsored by
  2. 2. Patterns & anti-patterns for (Continuous) Delivery Jose Luis Soria jlsoria@plainconcepts.com @jlsoriat
  3. 3. Doyoufailto versiondatabases, configfiles,dependencies, documentation,tools or environments?
  4. 4. backupbackup
  5. 5. get an old versionget an old version
  6. 6. undo changesundo changes
  7. 7. collaboratecollaborate
  8. 8. track changestrack changes
  9. 9. baselinebaseline
  10. 10. Version everything
  11. 11. Doyoumanually build,package, deploy,test, or provisionenvironments?
  12. 12. mistakes (missing steps,misunderstandings, boredom,etc.)
  13. 13. wasted time
  14. 14. dependency on specific people
  15. 15. accidents
  16. 16. Automate everything
  17. 17. Doyoumanually copy orchangeconfig files to matchtarget environments?
  18. 18. figure out what to change
  19. 19. omissions, mistakes
  20. 20. sensitive info being exposed
  21. 21. Tokenize configuration
  22. 22. Doyoufollowa complex, multi-stepprocedurefor deployments?
  23. 23. wasted time and effort
  24. 24. not testing on certain environments
  25. 25. Setup one-click deployments
  26. 26. http://bit.ly/1mKGTqB
  27. 27. ARIANNE 5 EXPLOSION (1996) The Ariane 5 rocket was reusing software from the Ariane 4. Ariane 5’s faster engines exploited an undiscovered bug: the software tried to cram a 64- bit number into a 16-bit space. 36.7 seconds into its launch, the self destruct safety mechanism was activated. http://en.wikipedia.org/wiki/Ariane_5#Notable_launches
  28. 28. Doyouvalidateonly indev/test environments?
  29. 29. So,youdon’t haveanyinformation abouthow the systemwill behavein prod?
  30. 30. Deploy to a copy of production
  31. 31. AT&T NETWORK CRASH (1990) The failure of one switching system would cause a message to be sent to nearby switching units, making those other systems to fail too – resulting in a cascading failure across the entire AT&T long distance network http://en.wikipedia.org/wiki/List_of_software_bugs#Telecommunications
  32. 32. Areyouprepared to recoverfromfailure?
  33. 33. Doesittakea lotoftime andeffort?
  34. 34. Is the business losinglots ofmoney meanwhile?
  35. 35. Preparefor rollbacks
  36. 36. Doyourebuildfromthesame code severaltimes duringreleases?
  37. 37. shipping non-tested binaries
  38. 38. errors introduced by the buildsequence
  39. 39. wasted time and resources
  40. 40. Build only once
  41. 41. Doyouconsistentlyavoidpainfulsteps inyourdeliveryprocess?
  42. 42. sensitive steps left for the last moment
  43. 43. critical aspects of delivery not beingmastered
  44. 44. http://bit.ly/70eM6U
  45. 45. Bring the pain forward
  46. 46. Doyoulacka defined,repeatable,robust andfast deliveryprocess?
  47. 47. failing to deliver effectively
  48. 48. Build a Release Pipeline
  49. 49. What aboutyour ownpatterns &practices? 1. Thinkabout some delivery practice not covered in the talk. 2. Tweet it. #almforum @jlsoriat 3. Get acopy of the book! http://aka.ms/ReleasePipeline
  50. 50. Thanks! Get my e-book(forfree): http://aka.ms/ReleasePipeline Buyit: http://amzn.to/1fuo1YO Get thelabs: http://aka.ms/ReleasePipeline-HOL #almforum@jlsoriat jlsoria@plainconcepts.com

×