Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Enabling continuous delivery for your webapp

Enabling continuous delivery for your webapp

An experience report from various client gigs while enabling CD

7090d58d804c96911a37c84e4e90a9cf?s=128

Ranjib Dey

April 18, 2012
Tweet

Transcript

  1. Enabling Continuous Delivery for your WebApp Ranjib Dey, ThoughtWorks @RanjibDey

    http://ranjib.posterous.com
  2. Can you release your latest green build on demand at

    the push of a button while relaxing on the beach in Goa?
  3. Why?

  4. Time to market

  5. Affordable risks

  6. No more work of art

  7. Let business decide

  8. Myths

  9. Upfront design

  10. Legacy code running in production

  11. My stack does not support

  12. My Domain does not require

  13. Principles

  14. Component based architecture

  15. Deployment pipeline

  16. Infrastructure as code

  17. Automate as much as possible

  18. Bring the pain froward

  19. Extend CI

  20. Execution

  21. Automated testing

  22. Feature branching

  23. Branch by abstraction

  24. Team organization

  25. Have customized release strategies

  26. Blue – Green deployments

  27. Canary releases

  28. Dark launching

  29. Mitigating DB issues

  30. Data is persistent

  31. Not all changes can be rolled back

  32. Don’t integrate late

  33. Version control db migration scripts

  34. Embrace DevOps

  35. Adopt a configuration management tool

  36. Test infrastructures with monitoring tools

  37. Virtualization and Cloud helps

  38. Phoenix servers

  39. None
  40. None
  41. Maintaining CD projects

  42. Collaboration is key

  43. None
  44. Enable faster smaller feed back loops

  45. Set up comprehensive dashboard

  46. None
  47. None
  48. None
  49. Churn out cross cutting analytics

  50. Exercise MVP principle at component level

  51. Questions? Suggestion? Violent disagreements?

  52. Thank you