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.

How I learned to love the Process

468 views

Published on

Deployment process is important. This presentations shows you why and presents a couple of workflows that can help your team build great infrastructure

  • Be the first to comment

  • Be the first to like this

How I learned to love the Process

  1. 1. Why I Learned to Stop Worrying and Love the Process Flo Motlik @flomotlik flo@codeship.io 1 bit.ly/codeshipprocess
  2. 2. As Developers we love process 2
  3. 3. • TDD • Code Review, • Branching & Merging • Pair programming • … 3
  4. 4. Good process makes good teams win 4
  5. 5. Bad process makes great teams suck 5
  6. 6. Deployment/Delivery is 2nd class citizen 6
  7. 7. “Unshipped Code is technical debt. No benefits, only costs” Alex Tacho @alexandertacho 7
  8. 8. Hard to resolve 8
  9. 9. Not just technical problem 9
  10. 10. Customer Feedback essential 10
  11. 11. late feedback, slow improvement 11
  12. 12. Money not a barrier to entry 12
  13. 13. All about speed of innovation 13
  14. 14. Processes that helped us at Codeship 14
  15. 15. Repository driven infrastructure 15
  16. 16. Developer Automated Deployment Push to production branch Notify when ready or problems 16
  17. 17. Full automation to focus on development 17
  18. 18. Repo is one true source 18
  19. 19. • No Misunderstandings • One last commit per Branch • We live in our repos 19
  20. 20. Eventually consistent infrastructure 20
  21. 21. You push to repo, eventually infrastructure is up to date 21
  22. 22. Full system automation 22
  23. 23. • Testing • Deployment • Metrics & Health Checks • Validation • Recovery • Feedback and Notifications 23
  24. 24. Updating servers often risks inconsistent server state 24
  25. 25. Rip out and replace 25
  26. 26. Stop thinking “single server”, start thinking “part of a system” 26
  27. 27. Immutable Infrastructure 27
  28. 28. Build new images for every change 28
  29. 29. Test in Isolation 29
  30. 30. Replace in production 30
  31. 31. Start 1 or 500 instances from same image 31
  32. 32. • Atomic Deployments • Reversible • Ephemeral • Forces State isolation and boundaries • Fast Recovery • Testability 32
  33. 33. Automate every layer 33
  34. 34. Empty machine to full image must be automated 34
  35. 35. Why we needed to build this way 35
  36. 36. make innovation faster and remove fear 36
  37. 37. “Fear is the path to the dark side. Fear leads to Inertia. Inertia leads to Paralysis. Paralysis leads to going out of business.” 37 DevOps Yoda
  38. 38. As developers we are responsible for shipping our features 38
  39. 39. Code in repo is not shipping 39
  40. 40. It’s shipped when at customer and we get actionable metrics 40
  41. 41. Need to embrace process and push for it, not wait for somebody else to come up with it. 41
  42. 42. Codeship.io 42 Continuous Delivery as a service

×