why i learned to stop worrying and love the process

Post on 27-Nov-2014

316 Views

Category:

Software

1 Downloads

Preview:

Click to see full reader

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

Why I Learned to Stop Worrying and Love the Process

Flo Motlik @flomotlik

flo@codeship.io

1bit.ly/codeshipprocess

As Developers we love process

2

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

3

Good process makes good teams win

4

Bad process makes great teams suck

5

Deployment/Delivery is 2nd class citizen

6

“Unshipped Code is technical debt. No benefits, only costs”

Alex Tacho @alexandertacho

7

Hard to resolve

8

Not just technical problem

9

Customer Feedback essential

10

late feedback, slow improvement

11

Money not a barrier to entry

12

All about speed of innovation

13

Processes that helped us at Codeship

14

Repository driven infrastructure

15

Developer Automated Deployment

Push to production branch

Notify when ready or problems

16

Full automation to focus on development

17

Repo is one true source

18

• No Misunderstandings • One last commit per Branch • We live in our repos

19

Eventually consistent infrastructure

20

You push to repo, eventually infrastructure is up to date

21

Full system automation

22

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

23

Updating servers often risks inconsistent server state

24

Rip out and replace

25

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

26

Immutable Infrastructure

27

Build new images for every change

28

Test in Isolation

29

Replace in production

30

Start 1 or 500 instances from same image

31

• Atomic Deployments • Reversible • Ephemeral • Forces State isolation and boundaries • Fast Recovery • Testability

32

Automate every layer

33

Empty machine to full image must be automated

34

Why we needed to build this way

35

make innovation faster and remove fear

36

“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

As developers we are responsible for shipping our

features

38

Code in repo is not shipping

39

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

40

Need to embrace process and push for it, not wait for somebody

else to come up with it.

41

Codeship.io

42

Continuous Delivery as a service

top related