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