Continuous Deployment

Fred
Chief Evangelist
(@fredfigueiredo)
June 26, 2013
#Webcat
1
Continuous Deployment
Deliver Fast & Frequently
(original title)

2
Continuous Deployment
Deliver Fast & Furious
(improved title?)

3
Continuous Deployment
Deliver Fast & Furious

4
Fast & Furious series

5

Continuous Deployment / @fredfigueiredo / #WebCat / June 2013
Fast & Furious series (Stats)

Data retrieved from Wikipedia and IMDB

6

Continuous Deployment / @fredfigueiredo / #WebCat / June 2013
Production VS. Release

Average Production: 1 Year - 2 Years

1 Movie Sequel / 2 Years

Average extrapolated from several sources

7

Continuous Deployment / @fredfigueiredo / #WebCat / June 2013
Curiosity?

8

Continuous Deployment / @fredfigueiredo / #WebCat / June 2013
Continuous deployment?

Small, frequent changes
to production
(as defined by Etsy.com)

9

Continuous Deployment / @fredfigueiredo / #WebCat / June 2013
About…
Partial refunds on plane tickets

J Passengers get partial refunds
J Airlines get available seats
J ChangeYourFlight gets, well…

10

Continuous Deployment / @fredfigueiredo / #WebCat / June 2013
In numbers

3 years “in the making”
1.5 years since launch

2 clients / airlines (more soon)
6 team members (currently)
4+ engineers

11

Continuous Deployment / @fredfigueiredo / #WebCat / June 2013
Today

12

Continuous Deployment / @fredfigueiredo / #WebCat / June 2013
October 2011

13

Continuous Deployment / @fredfigueiredo / #WebCat / June 2013
Technology stack (initial)

14

Continuous Deployment / @fredfigueiredo / #WebCat / June 2013
When I joined?

NO Version Control (feature tracking, what is that?)
NO Documentation (if any, in Spanish)
NO Testing (it was never tested)
NO System Integration (it simply did not worked)
NOT Live (THANK GOD!)
What we had?
A 740MB DVD!

15

WTF?
Continuous Deployment / @fredfigueiredo / #WebCat / June 2013
nd
22

16

December 2011

Continuous Deployment / @fredfigueiredo / #WebCat / June 2013
Minimum Valuable Product (MVP)

Emails, “Algorithm”

Requests

CYF Team
Get

Add

“DB”
17

Continuous Deployment / @fredfigueiredo / #WebCat / June 2013
How we released?

18

Continuous Deployment / @fredfigueiredo / #WebCat / June 2013
How we released?

19

Continuous Deployment / @fredfigueiredo / #WebCat / June 2013
How we released?

Average: 1 to 2 releases / month

20

Continuous Deployment / @fredfigueiredo / #WebCat / June 2013
First release?

21

Continuous Deployment / @fredfigueiredo / #WebCat / June 2013
Feelings?

22

Continuous Deployment / @fredfigueiredo / #WebCat / June 2013
Integration hell!

23

Continuous Deployment / @fredfigueiredo / #WebCat / June 2013
AKA: Big bang releases

24

Continuous Deployment / @fredfigueiredo / #WebCat / June 2013
31st August 2012

25

Continuous Deployment / @fredfigueiredo / #WebCat / June 2013
Inspiration…

26

Continuous Deployment / @fredfigueiredo / #WebCat / June 2013
Less than 3 months after…

27

Continuous Deployment / @fredfigueiredo / #WebCat / June 2013
Confidence as a Service
(as said by Etsy CEO at SXSW12)

28

Continuous Deployment / @fredfigueiredo / #WebCat / June 2013
+30 Monthly releases

Everyone deploys, even our co-founders!

29

Continuous Deployment / @fredfigueiredo / #WebCat / June 2013
Continuous integration (via Jenkins)
•  Over 60 automated integration tests
•  Over 200 unit tests
•  Smoke & nightly tests

30

Continuous Deployment / @fredfigueiredo / #WebCat / June 2013
Nightly build – Green

31

Continuous Deployment / @fredfigueiredo / #WebCat / June 2013
Nightly build – Red (FIX IT!)

32

Continuous Deployment / @fredfigueiredo / #WebCat / June 2013
Tools

33

Continuous Deployment / @fredfigueiredo / #WebCat / June 2013
What we gained?

34

Continuous Deployment / @fredfigueiredo / #WebCat / June 2013
Continuous deployment?

35

Continuous Deployment / @fredfigueiredo / #WebCat / June 2013
Continuous deployment?

It’s a cultural mind-set!

36

Continuous Deployment / @fredfigueiredo / #WebCat / June 2013
Transparency

37

Continuous Deployment / @fredfigueiredo / #WebCat / June 2013
Communication

38

Continuous Deployment / @fredfigueiredo / #WebCat / June 2013
Collaboration

39

Continuous Deployment / @fredfigueiredo / #WebCat / June 2013
Automation
Commercial status Kanban

40

Continuous Deployment / @fredfigueiredo / #WebCat / June 2013
Does it scale?

https://www.udemy.com/lean-startup-sxsw-2012-videos-and-presentations/#lecture/73944

41

Continuous Deployment / @fredfigueiredo / #WebCat / June 2013
Recommendation?

42

Continuous Deployment / @fredfigueiredo / #WebCat / June 2013
Do what?

Do whatever works for you.
No more. No less.
But do it!

43

Continuous Deployment / @fredfigueiredo / #WebCat / June 2013
We are looking for…

44

Continuous Deployment / @fredfigueiredo / #WebCat / June 2013
Thank You!
@fredfigueiredo
Chief Evangelist at…

45

Continuous Deployment / @fredfigueiredo / #WebCat / June 2013

"Continuous Deployment" por @fredfigueiredo