Pro Yearly is on sale from $80 to $50! »

Let's deploy on fridays

Let's deploy on fridays

6fa1cdda524d49996a8bc6917328de3d?s=128

Damien Mathieu

November 08, 2016
Tweet

Transcript

  1. Let’s deploy on fridays I’m not slacking off, I’m deploying.

  2. None
  3. None
  4. None
  5. None
  6. None
  7. None
  8. None
  9. None
  10. None
  11. None
  12. None
  13. None
  14. Build instance • Poll, waiting for a build • Process

    a build • Build a container • Release the container
  15. None
  16. Can you see it? Change is coming

  17. None
  18. None
  19. None
  20. Build instance • Poll, waiting for a build • Process

    a build • Build a container • Release the container
  21. Build instance • Poll, waiting for a build • Build

    a container • Release the container • Process a build
  22. Build instance • Poll, waiting for a build • Process

    a build • Build a container • Release the container
  23. None
  24. None
  25. None
  26. None
  27. Upgrade API version Upgrade fetching posts Upgrade fetching users Use

    uuids
  28. Team Communication

  29. Upgrade API version Upgrade fetching posts Upgrade fetching users Use

    uuids
  30. None
  31. None
  32. git revert

  33. None
  34. DEPLOY!!!

  35. None
  36. Canary deploys

  37. Request Server A Server B Router

  38. Request Server A Server B Router 50% 50%

  39. Request Server A Server B Router 50% 50%

  40. Request Server A Server B Router 33% 33% Server C

    33%
  41. github.com/dmathieu/sidekiq-canary

  42. Refactoring and benchmarking

  43. None
  44. Customer-facing changes

  45. None
  46. Granularity

  47. None
  48. Multitask

  49. Gradual rollouts

  50. Request 99% 1% Old code path New code path Server

  51. def partial_roll?(id) id % 100 < 1 end if partial_roll?(user_id)

    call_new_method else call_old_method end
  52. Refactoring and benchmarking

  53. Customer-facing changes

  54. Feature flags

  55. None
  56. Going further

  57. None
  58. None
  59. None
  60. bit.ly/ deploy-friday

  61. Thank you Damien MATHIEU

  62. None
  63. Thank you Questions? damien@heroku.com dmathieu