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.

Continuous deployment @ Coolblue, talk @ LeaseWeb TechSummit

1,370 views

Published on

Slides of presentation about our continuous deployment process @ Coolblue. Presentation held at LeaseWeb TechSummit

Published in: Engineering
  • Be the first to comment

Continuous deployment @ Coolblue, talk @ LeaseWeb TechSummit

  1. 1. DEPLOYMENT. @ Coolblue.
  2. 2. PAUL. DevOp / Team lead
  3. 3. •One of the largest e-commerce companies in the Benelux •>1k employees, 334 webshops, 7 physical stores and 2 warehouses •All mission-critical software developed in-house •100% growth every 20 months, so scalability matters COOLBLUE.
  4. 4. DEPLOYING SOFTWARE. Delivering packaged high quality software on servers.
  5. 5. • +/- 15 deploys per day on web platform • Single button deployment • Developers do their own deployment FACTS AND FIGURES.
  6. 6. LANGUAGE AGNOSTIC. Same principles apply.
  7. 7. THE ROAD AHEAD. From new feature to deployment.
  8. 8. UNIT TESTS.All code is guilty, until proven otherwise.
  9. 9. CODING STANDARDS. Rules may apply.
  10. 10. FORKS. Personal cutlery.
  11. 11. PULL REQUESTS. Share, review and discuss.
  12. 12. PULL REQUESTS. Small commits, small context.
  13. 13. TEAM CHECK. None of us is as smart as all of us.
  14. 14. QUALITY CONTROL. Check standards have been met.
  15. 15. BUILD SERVER. Construction completed.
  16. 16. TEAMCITY. Central point of inspection and deployment.
  17. 17. BUILD CHAINS. Sequence of builds with specific purpose.
  18. 18. BUILD SCRIPTS. Automate workflow.
  19. 19. BUILD STEP 1. Continuous inspection..
  20. 20. • Automated tests • Unit testing • Functional testing • Static code analysers • Lint checkers • Code duplication checkers • Code sniffers • Code metrics QUALITY ASSURANCE.
  21. 21. MERGE PULL REQUEST. Integrate into the main repository..
  22. 22. ACHIEVEMENT. Continuous integration.
  23. 23. BUILD STEP 2: PACKAGING. Not a box of chocolates..
  24. 24. • Close to the OS • RPMs on package repository • Installed/Updated via OS package manager • Updates triggered via puppet LINUX.
  25. 25. • Control over file permissions & rights • Clean uninstallation • Package managers are simple and well-known • Easily distributed • No added complexity of third-party tools RPMS ARE POWERFUL.
  26. 26. • Octopus Deploy • Web Services • Desktop applications • Workflow: • Builds NuGet packages • Deploys NuGet packages using tentacles • Installs them WINDOWS.
  27. 27. OCTOPUS DEPLOY. Pushing packages to servers.
  28. 28. BUILD STEP 3. Publish to test environment.
  29. 29. ACHIEVEMENT. Continuous delivery.
  30. 30. BUILD STEP 4: PUBLISH TO ACCEPT. Publish to accept environment..
  31. 31. BUILD STEP 5. Publish to production environment.
  32. 32. ACHIEVEMENT. Continuous deployment.
  33. 33. ACHIEVEMENT. Continuous deployment.
  34. 34. CONTINUOUS. delivery vs deployment
  35. 35. • Automated inspection • Automated delivery • Except production CONTINUOUS DELIVERY.
  36. 36. • Continuous delivery • Automated deployment to production • Automated post-deploy tests CONTINUOUS DEPLOYMENT.
  37. 37. DEVELOP, TEST, DEPLOY, REPEAT. Review & testWrite code Commit & push Open pull request Build Package Staging Production Post-deploy tests
  38. 38. POST-DEPLOY Tests
  39. 39. • Website still up? • Working functionality? CHECK FOR SUCCESS.
  40. 40. AUTOMATE. Post-deploy smoke test.
  41. 41. MONITORING. Monitor application state.
  42. 42. STATISTICS. Measure everything.
  43. 43. FUNCTIONAL TESTS. Automated regression testing..
  44. 44. APPROACHES automated deployment
  45. 45. DEPLOY & REVERT. Revert in case of problems.
  46. 46. PRE-DEPLOYMENT TESTS. Run post-deploy test on acceptance environment.
  47. 47. CANARY DEPLOYMENT. Deploy to a cluster and do a live test.
  48. 48. DEVELOP, TEST, DEPLOY, REPEAT. Review & testWrite code Commit & push Open pull request Build Package Staging Production Post-deploy tests Post-deploy
 tests
  49. 49. ACHIEVEMENT. Continuous deployment.
  50. 50. PROBLEM / CHALLENGE. Reverting data/data structures..
  51. 51. FEEDBACK. Please.
  52. 52. WE HAVE A BEER FOR YOU. Drinks @ 17:45.
  53. 53. • p.deraaij@coolblue.nl • @pderaaij • http://slideshare.net/paulderaaij • http://devblog.coolblue.nl/ • http://careersatcoolblue.com/ THANK YOU.

×