why i learned to stop worrying and love the process

42
Why I Learned to Stop Worrying and Love the Process Flo Motlik @flomotlik [email protected] 1 bit.ly/codeshipprocess

Upload: codeship

Post on 27-Nov-2014

316 views

Category:

Software


1 download

DESCRIPTION

Build better applications by thinking through your deployment workflows: Deployment process is important. This presentations shows you why and presents a couple of workflows that can help your team build great infrastructure --- Codeship is a free hosted Continuous Integration and Delivery Service. You can find us on https://www.codeship.io and can also check out our blog at http://blog.codeship.io

TRANSCRIPT

Page 1: Why I Learned to Stop Worrying and Love the Process

Why I Learned to Stop Worrying and Love the Process

Flo Motlik @flomotlik

[email protected]

1bit.ly/codeshipprocess

Page 2: Why I Learned to Stop Worrying and Love the Process

As Developers we love process

2

Page 3: Why I Learned to Stop Worrying and Love the Process

• TDD • Code Review, • Branching & Merging • Pair programming • …

3

Page 4: Why I Learned to Stop Worrying and Love the Process

Good process makes good teams win

4

Page 5: Why I Learned to Stop Worrying and Love the Process

Bad process makes great teams suck

5

Page 6: Why I Learned to Stop Worrying and Love the Process

Deployment/Delivery is 2nd class citizen

6

Page 7: Why I Learned to Stop Worrying and Love the Process

“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

Hard to resolve

8

Page 9: Why I Learned to Stop Worrying and Love the Process

Not just technical problem

9

Page 10: Why I Learned to Stop Worrying and Love the Process

Customer Feedback essential

10

Page 11: Why I Learned to Stop Worrying and Love the Process

late feedback, slow improvement

11

Page 12: Why I Learned to Stop Worrying and Love the Process

Money not a barrier to entry

12

Page 13: Why I Learned to Stop Worrying and Love the Process

All about speed of innovation

13

Page 14: Why I Learned to Stop Worrying and Love the Process

Processes that helped us at Codeship

14

Page 15: Why I Learned to Stop Worrying and Love the Process

Repository driven infrastructure

15

Page 16: Why I Learned to Stop Worrying and Love the Process

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

Full automation to focus on development

17

Page 18: Why I Learned to Stop Worrying and Love the Process

Repo is one true source

18

Page 19: Why I Learned to Stop Worrying and Love the Process

• 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

Eventually consistent infrastructure

20

Page 21: Why I Learned to Stop Worrying and Love the Process

You push to repo, eventually infrastructure is up to date

21

Page 22: Why I Learned to Stop Worrying and Love the Process

Full system automation

22

Page 23: Why I Learned to Stop Worrying and Love the Process

• Testing • Deployment • Metrics & Health Checks • Validation • Recovery • Feedback and Notifications

23

Page 24: Why I Learned to Stop Worrying and Love the Process

Updating servers often risks inconsistent server state

24

Page 25: Why I Learned to Stop Worrying and Love the Process

Rip out and replace

25

Page 26: Why I Learned to Stop Worrying and Love the Process

Stop thinking “single server”, start thinking “part of a system”

26

Page 27: Why I Learned to Stop Worrying and Love the Process

Immutable Infrastructure

27

Page 28: Why I Learned to Stop Worrying and Love the Process

Build new images for every change

28

Page 29: Why I Learned to Stop Worrying and Love the Process

Test in Isolation

29

Page 30: Why I Learned to Stop Worrying and Love the Process

Replace in production

30

Page 31: Why I Learned to Stop Worrying and Love the Process

Start 1 or 500 instances from same image

31

Page 32: Why I Learned to Stop Worrying and Love the Process

• 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

Automate every layer

33

Page 34: Why I Learned to Stop Worrying and Love the Process

Empty machine to full image must be automated

34

Page 35: Why I Learned to Stop Worrying and Love the Process

Why we needed to build this way

35

Page 36: Why I Learned to Stop Worrying and Love the Process

make innovation faster and remove fear

36

Page 37: Why I Learned to Stop Worrying and Love the Process

“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

As developers we are responsible for shipping our

features

38

Page 39: Why I Learned to Stop Worrying and Love the Process

Code in repo is not shipping

39

Page 40: Why I Learned to Stop Worrying and Love the Process

It’s shipped when at customer and we get actionable metrics

40

Page 41: Why I Learned to Stop Worrying and Love the Process

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

Codeship.io

42

Continuous Delivery as a service