The Rocky Road to Continuous Delivery - Reloaded

The Rocky Road to Continuous Delivery - Reloaded

0b5d242584112741f7c14c9a2e1a299d?s=128

André Neubauer

April 19, 2012
Tweet

Transcript

  1. The Rocky Road to CLD Mainz | 19.04.2012 | André

    Neubauer & Oliver Schmitz-Hennemann Immobilien Scout GmbH
  2. | Titel der Präsentation | Autor der Präsentation Seite 2

    About us ... André Neubauer, @devpg! ! Team and tech lead! ! Speaker, author, ! out-of-the-box thinker!
  3. About us ... Oliver Schmitz- Hennemann, @Oschmi! ! Head of

    IT Architecture! ! OrgDev, agile evangelist, inconvenient!
  4. End 2010: ! What is next in 2011?! ! Continuous

    Delivery!! Go live within 24 hours!! From hunted to hunter
  5. http://www.flickr.com/photos/tonz/4688643653/sizes/o/in/photostream/ Train and improve build, test and deployment procedures! !

    Reduce customer impact! ! Be prepared for incidents! IT! Motivation Why CD? * Business ideas are hypothesis -> most are wrong! ! * Validated learning! Business!
  6. Scopes http://www.flickr.com/photos/vickisnature/2108280435/sizes/o/in/photostream/

  7. Don‘t panic! http://www.flickr.com/photos/iboy/4854792124/sizes/o/in/photostream/ This will not work! It ‘s impossible!

    Before we can do that, we need to run this 100 manyear project!
  8. None
  9. http://www.flickr.com/photos/devpg/5821570094/sizes/l/in/photostream/ Scope Greenfield projects Question processes! ! Remove Silos!

  10. IS24 legacy app! ! > 1 Mio LoC ! !

    Something like 20% unit-test coverage! http://www.flickr.com/photos/derelllicht/264546918/sizes/o/in/photostream/ Scope Legacy apps
  11. Some context ... ImmobilienScout24 > 5 Million unique users! >

    2 Billion PI! > 250 Million Expose views! ~ 1,2 Million active listings! > 120.000 vendors! ... per month! 2 datacenter! ~100 physical ! ~800 virtual! ... Machines! >100 functional groups!
  12. http://www.flickr.com/photos/11746801@N04/7069259807/sizes/o/in/photostream/ Some context ... Tooling

  13. http://www.flickr.com/photos/11746801@N04/7069259807/sizes/o/in/photostream/ Some context ... Tooling Version Control ": Subversion! Build

    " " ": Maven! Maven Repo" ": Nexus! Continuous Int. ": Teamcity (Jenkins)! Deployment" ": YADT RPMs! Configuration ": YADT Config SVN! Virtualization ": static XEN, " " " dynamic VMware!
  14. http://www.flickr.com/photos/y_i/2330044065/sizes/l/in/photostream/ How to tackle it?

  15. http://www.flickr.com/photos/iamdonte/607891424/sizes/o/in/photostream/ How to tackle it? 1st approch: Cut off

  16. http://www.flickr.com/photos/bildungskatastrophe/5139983001/sizes/o/in/photostream/ How to tackle it? 2nd approch: Squeeze

  17. Roadmap to CLD Monolith – Squeeze http://www.flickr.com/photos/bravenboer/385640486/sizes/l/in/photostream/ How to tackle

    it? 2nd approch: Squeeze Don‘t destory but remove the unnecessary!
  18. Roadmap to CLD Monolith – Squeeze http://www.flickr.com/photos/bravenboer/385640486/sizes/l/in/photostream/ How to tackle

    it? 2nd approch: Squeeze Don‘t destory but remove the unnecessary! IS24! Shorten release cycles! 2008: monthly! 2011: weekly!
  19. http://www.flickr.com/photos/ponchopenguin/3262869038/sizes/l/in/photostream/ How to tackle it? Taskforce

  20. http://www.flickr.com/photos/ponchopenguin/3262869038/sizes/l/in/photostream/ How to tackle it? Taskforce Setup! ! * Dev,

    Ops, DB! ! * Rotation!
  21. http://www.flickr.com/photos/ponchopenguin/3262869038/sizes/l/in/photostream/ How to tackle it? Taskforce Goals! ! * Tested

    release on staging within 4 hours! ! * Feedback from webtests after a commit within 20 minutes! ! * Transparency about our delivery chain (measurability, acceptance)! ! * Infrastructure reliability of 99% ! ! * Check out of a working runnable copy of our software at any time. !
  22. http://www.flickr.com/photos/pfly/159453939/sizes/o/in/photostream/ Ready, steady, go!

  23. http://www.flickr.com/photos/joecrimmings/2238699461/sizes/l/in/photostream/ Minimal Database without user data

  24. http://www.flickr.com/photos/joecrimmings/2238699461/sizes/l/in/photostream/ Minimal Database without user data Thought about it for

    more than 2 years! ! >> Worked on the first day!! >> Finished after 2 weeks!!
  25. http://www.flickr.com/photos/pfly/159453939/sizes/o/in/photostream/ Fast & specific feedback

  26. http://www.flickr.com/photos/pfly/159453939/sizes/o/in/photostream/ Fast & specific feedback * Less commits! per build!

    ! * Parallel builds! >> Maven sucks! ! * Lanes (SoC)!
  27. http://www.flickr.com/photos/pfly/159453939/sizes/o/in/photostream/ Continuous Integration Continuous Deployment! Continuous Delivery! Evolutionary stages to

    ! Continuous Delivery!
  28. http://www.flickr.com/photos/pfly/159453939/sizes/o/in/photostream/ Continuous Integration Take „last known good“!

  29. http://www.flickr.com/photos/pfly/159453939/sizes/o/in/photostream/ If it hurts do it more often Release every

    green build! - Maven Release sucks! - TRUNK-SNAPSHOT!
  30. http://www.flickr.com/photos/pfly/159453939/sizes/o/in/photostream/ Continuous Integration - „Last known good“! 5! 12! 54!

    20! 69! 60! 51! 28! 41! 69! 95! 57! 49! 23! 59! 24! 50! 44! 26! 34! Green release builds/ week!
  31. http://www.flickr.com/photos/77203870@N00/397807257/sizes/l/in/photostream/ Keep it green!

  32. http://www.flickr.com/photos/pfly/159453939/sizes/o/in/photostream/ Stabilize ... * Test: Reverse test order! ! *

    Deployment: Remove environment differences!
  33. Hand crafted DBs Each is different http://www.flickr.com/photos/paulcoster/3123319325/sizes/l/in/photostream/ http://www.flickr.com/photos/dok1/5602802847/sizes/l/in/photostream/ http://www.flickr.com/photos/zoesdare/6060779044/sizes/l/in/photostream/

  34. Hand crafted DBs Each is different http://www.flickr.com/photos/paulcoster/3123319325/sizes/l/in/photostream/ http://www.flickr.com/photos/dok1/5602802847/sizes/l/in/photostream/ http://www.flickr.com/photos/zoesdare/6060779044/sizes/l/in/photostream/ *

    Remove differences! ! * Give DBAs a simple tool! ! * Automate!
  35. http://www.flickr.com/photos/jmv/11714963/sizes/o/in/photostream/ Where we‘re heading to * Last known good for

    staging! ! * RPM deployment!
  36. http://www.flickr.com/photos/andyinnyc/2369987590/sizes/o/in/photostream/ Lessons learned Get commitment from IT + Business !!!

    Move discussions from ! if you can do it, to! how you can do it !
  37. http://www.flickr.com/photos/andyinnyc/2369987590/sizes/o/in/photostream/ Lessons learned Start small!

  38. http://www.flickr.com/photos/andyinnyc/2369987590/sizes/o/in/photostream/ Lessons learned If it hurts do it more often!

  39. Was/Is it worth it?

  40. Further information http://www.flickr.com/photos/jonathan_moreau/418008212/sizes/o/in/photostream/ CD companies! ! Flickr! Etsy! Amazon! People!

    ! Jez Humble! John Allspaw! Poppendieck! Eric Ries!