Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
From 10 to 500 releases a year,
a Continuous Delivery Journey
MCJUG - 03/16/2016
&
* The ferrets
#ContinuousDeliveryMCJUG
Raphael Brugier @rbrugier
#ContinuousDeliveryMCJUG
● Insurance comparison website
● Launched 2012
● 2.5M quotes/year
#ContinuousDeliveryMCJUG
IT team - Feature teams
Site conversion
Landing Funnel Panel
Data ArchOps
#ContinuousDeliveryMCJUG
Architecture
● Monolithic Architecture
● 1 codebase
● Java (tomcat) & GWT(client)
● 400k LOC
● 40...
The journey
#ContinuousDeliveryMCJUG
2012
● Scrum
● 3 weeks / sprint
● 15-minute build
● 1h selenium tests
#ContinuousDeliveryMCJUG
2012 - 12 releases
plan / estimate / code / test / fix
#ContinuousDeliveryMCJUG
Since 2014
● Kanban
● 3-minute build
● 15-minute seleniums
● Deliver each feature separately
○ wh...
The basics
#ContinuousDeliveryMCJUG
Agile manifesto #1
“Our highest priority is to satisfy the customer
through early and continuous ...
#ContinuousDeliveryMCJUG
more at: http://paulhammant.com/2013/03/13/facebook-tbd-take-2/
#ContinuousDeliveryMCJUG
● build fast
● reliable build
● automated & simple deployment
● production monitoring and alerts
...
Step by step
#ContinuousDeliveryMCJUG
Start by the end
5. Ops
4. Deployment
3. Validation
2. Development workflow
1. Implementation
#ContinuousDeliveryMCJUG
5. Ops
Functional monitoring
#ContinuousDeliveryMCJUG
5. Ops
Key metrics
#ContinuousDeliveryMCJUG
4. Deployment
● Jenkins + Scripts
○ versionned
● 1 developer every day
○ From A to Z
○ Anyone wit...
#ContinuousDeliveryMCJUG
4. Blue/Green Deployment
#ContinuousDeliveryMCJUG
3. Validation
● QA each feature separately
○ Code reviews
○ Demo
○ “Ready for production” status ...
#ContinuousDeliveryMCJUG
3. Visual validation - ZENO Pixel
github.com/lesfurets/zeno-pixel
#ContinuousDeliveryMCJUG
2. Development workflow
● Git Flow
nvie.com/posts/a-successful-git-branching-model
#ContinuousDeliveryMCJUG
Let’s do both!
#ContinuousDeliveryMCJUG
Git octopus - continuous merge
github.com/lesfurets/git-octopus
Prod 4.17
#ContinuousDeliveryMCJUG
Git octopus
github.com/lesfurets/git-octopus
Prod 4.17
#ContinuousDeliveryMCJUG
Git octopus
github.com/lesfurets/git-octopus
Prod 4.17
#ContinuousDeliveryMCJUG
Git octopus
github.com/lesfurets/git-octopus
Prod 4.18
#ContinuousDeliveryMCJUG
Git octopus in action!
github.com/lesfurets/git-octopus
#ContinuousDeliveryMCJUG
1. Implementation
● (almost) No feature toggles
● Hardcode anything! (behavior config)
● Requires...
What changed?
#ContinuousDeliveryMCJUG
For the developers
● More responsibilities
○ QA
○ Monitoring
○ Deployment
● Many teams, same code...
#ContinuousDeliveryMCJUG
For the business
● Manage projects, not teams
● 10 - 15 days
● Faster time to market
Q&A
github.com/lesfurets
@IpponUSA@beastiefurets
github.com/ippontech
image references
big data cover: https://www.manning.com/books/big-data
spark and cassandra logos: apache foundation
java ...
References:
http://fr.slideshare.net/beastiefurets/devoxx-
france-2015-git-octopus
Upcoming SlideShare
Loading in …5
×

Continuous delivery journey - Montgomery county JUG

305 views

Published on

Continuous delivery journey at LesFurets.com - Montgomery county Java User Group

Published in: Technology
  • Be the first to comment

Continuous delivery journey - Montgomery county JUG

  1. 1. From 10 to 500 releases a year, a Continuous Delivery Journey MCJUG - 03/16/2016 & * The ferrets
  2. 2. #ContinuousDeliveryMCJUG Raphael Brugier @rbrugier
  3. 3. #ContinuousDeliveryMCJUG ● Insurance comparison website ● Launched 2012 ● 2.5M quotes/year
  4. 4. #ContinuousDeliveryMCJUG IT team - Feature teams Site conversion Landing Funnel Panel Data ArchOps
  5. 5. #ContinuousDeliveryMCJUG Architecture ● Monolithic Architecture ● 1 codebase ● Java (tomcat) & GWT(client) ● 400k LOC ● 40k unit tests
  6. 6. The journey
  7. 7. #ContinuousDeliveryMCJUG 2012 ● Scrum ● 3 weeks / sprint ● 15-minute build ● 1h selenium tests
  8. 8. #ContinuousDeliveryMCJUG 2012 - 12 releases plan / estimate / code / test / fix
  9. 9. #ContinuousDeliveryMCJUG Since 2014 ● Kanban ● 3-minute build ● 15-minute seleniums ● Deliver each feature separately ○ when ready ● One delivery per day
  10. 10. The basics
  11. 11. #ContinuousDeliveryMCJUG Agile manifesto #1 “Our highest priority is to satisfy the customer through early and continuous delivery of valuable software” www.agilemanifesto.org/principles.html
  12. 12. #ContinuousDeliveryMCJUG more at: http://paulhammant.com/2013/03/13/facebook-tbd-take-2/
  13. 13. #ContinuousDeliveryMCJUG ● build fast ● reliable build ● automated & simple deployment ● production monitoring and alerts ● root cause analysis
  14. 14. Step by step
  15. 15. #ContinuousDeliveryMCJUG Start by the end 5. Ops 4. Deployment 3. Validation 2. Development workflow 1. Implementation
  16. 16. #ContinuousDeliveryMCJUG 5. Ops Functional monitoring
  17. 17. #ContinuousDeliveryMCJUG 5. Ops Key metrics
  18. 18. #ContinuousDeliveryMCJUG 4. Deployment ● Jenkins + Scripts ○ versionned ● 1 developer every day ○ From A to Z ○ Anyone with a ready feature ● Rollback
  19. 19. #ContinuousDeliveryMCJUG 4. Blue/Green Deployment
  20. 20. #ContinuousDeliveryMCJUG 3. Validation ● QA each feature separately ○ Code reviews ○ Demo ○ “Ready for production” status in Jira ● Seleniums for non regression ○ Selenium grid in a “big” server ● Visual regression tool
  21. 21. #ContinuousDeliveryMCJUG 3. Visual validation - ZENO Pixel github.com/lesfurets/zeno-pixel
  22. 22. #ContinuousDeliveryMCJUG 2. Development workflow ● Git Flow nvie.com/posts/a-successful-git-branching-model
  23. 23. #ContinuousDeliveryMCJUG
  24. 24. Let’s do both!
  25. 25. #ContinuousDeliveryMCJUG Git octopus - continuous merge github.com/lesfurets/git-octopus Prod 4.17
  26. 26. #ContinuousDeliveryMCJUG Git octopus github.com/lesfurets/git-octopus Prod 4.17
  27. 27. #ContinuousDeliveryMCJUG Git octopus github.com/lesfurets/git-octopus Prod 4.17
  28. 28. #ContinuousDeliveryMCJUG Git octopus github.com/lesfurets/git-octopus Prod 4.18
  29. 29. #ContinuousDeliveryMCJUG Git octopus in action! github.com/lesfurets/git-octopus
  30. 30. #ContinuousDeliveryMCJUG 1. Implementation ● (almost) No feature toggles ● Hardcode anything! (behavior config) ● Requires a good code base
  31. 31. What changed?
  32. 32. #ContinuousDeliveryMCJUG For the developers ● More responsibilities ○ QA ○ Monitoring ○ Deployment ● Many teams, same codebase ● Less risk
  33. 33. #ContinuousDeliveryMCJUG For the business ● Manage projects, not teams ● 10 - 15 days ● Faster time to market
  34. 34. Q&A github.com/lesfurets @IpponUSA@beastiefurets github.com/ippontech
  35. 35. image references big data cover: https://www.manning.com/books/big-data spark and cassandra logos: apache foundation java logo: oracle effeil tower: http://www.uniquecoloringpages.com/wp-content/uploads/2014/03/Coloring- Pages-Eiffel-Tower-Paris.jpg USA flag: wikipedia https://upload.wikimedia. org/wikipedia/commons/thumb/3/3e/USA_Flag_Map.svg/640px-USA_Flag_Map.svg.png water truck:http://cdn-7.psndealer.com/e2/dealersite/images/wiclark/water-truck-ds.jpg water truck lego: http://images.moc-pages. com/user_images/15600/1363559810m_SPLASH.jpg water tap: http://visianinfo.com/wp-content/uploads/low-flow-water-faucet.jpg
  36. 36. References: http://fr.slideshare.net/beastiefurets/devoxx- france-2015-git-octopus

×