"Continuous Deployment" por @fredfigueiredo

45
1 Continuous Deployment Fred Chief Evangelist (@fredfigueiredo) June 26, 2013 #Webcat

description

Presentación realizada en el #webcat Barcelona de Junio 2013. Autor: Frederico Figueiredo (@fredfigueiredo) ------------------------------------------------ RECURSOS: - Jenkins jenkins-ci.org/ - VirtualBox www.virtualbox.org - Vagrant www.vagrantup.com/ - Cucumber cukes.info/ - Puppet Labs puppetlabs.com/

Transcript of "Continuous Deployment" por @fredfigueiredo

Page 1: "Continuous Deployment" por @fredfigueiredo

1

Continuous Deployment

Fred Chief Evangelist (@fredfigueiredo)

June 26, 2013

#Webcat

Page 2: "Continuous Deployment" por @fredfigueiredo

2

Continuous Deployment Deliver Fast & Frequently

(original title)

Page 3: "Continuous Deployment" por @fredfigueiredo

3

Continuous Deployment Deliver Fast & Furious

(improved title?)

Page 4: "Continuous Deployment" por @fredfigueiredo

4

Continuous Deployment Deliver Fast & Furious

Page 5: "Continuous Deployment" por @fredfigueiredo

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

Fast & Furious series

Page 6: "Continuous Deployment" por @fredfigueiredo

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

Fast & Furious series (Stats)

Data retrieved from Wikipedia and IMDB

Page 7: "Continuous Deployment" por @fredfigueiredo

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

Production VS. Release

1 Movie Sequel / 2 Years

Average Production: 1 Year - 2 Years

Average extrapolated from several sources

Page 8: "Continuous Deployment" por @fredfigueiredo

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

Curiosity?

Page 9: "Continuous Deployment" por @fredfigueiredo

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

Continuous deployment?

Small, frequent changes

to production (as defined by Etsy.com)

Page 10: "Continuous Deployment" por @fredfigueiredo

10 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…

Page 11: "Continuous Deployment" por @fredfigueiredo

11 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

Page 12: "Continuous Deployment" por @fredfigueiredo

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

Today

Page 13: "Continuous Deployment" por @fredfigueiredo

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

October 2011

Page 14: "Continuous Deployment" por @fredfigueiredo

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

Technology stack (initial)

Page 15: "Continuous Deployment" por @fredfigueiredo

15 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!

WTF?

Page 16: "Continuous Deployment" por @fredfigueiredo

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

22nd December 2011

Page 17: "Continuous Deployment" por @fredfigueiredo

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

Minimum Valuable Product (MVP)

CYF Team Requests

Emails, “Algorithm”

“DB”

Add Get

Page 18: "Continuous Deployment" por @fredfigueiredo

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

How we released?

Page 19: "Continuous Deployment" por @fredfigueiredo

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

How we released?

Page 20: "Continuous Deployment" por @fredfigueiredo

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

How we released?

Average: 1 to 2 releases / month

Page 21: "Continuous Deployment" por @fredfigueiredo

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

First release?

Page 22: "Continuous Deployment" por @fredfigueiredo

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

Feelings?

Page 23: "Continuous Deployment" por @fredfigueiredo

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

Integration hell!

Page 24: "Continuous Deployment" por @fredfigueiredo

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

AKA: Big bang releases

Page 25: "Continuous Deployment" por @fredfigueiredo

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

31st August 2012

Page 26: "Continuous Deployment" por @fredfigueiredo

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

Inspiration…

Page 27: "Continuous Deployment" por @fredfigueiredo

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

Less than 3 months after…

Page 28: "Continuous Deployment" por @fredfigueiredo

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

Confidence as a Service (as said by Etsy CEO at SXSW12)

Page 29: "Continuous Deployment" por @fredfigueiredo

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

+30 Monthly releases

Everyone deploys, even our co-founders!

Page 30: "Continuous Deployment" por @fredfigueiredo

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

Continuous integration (via Jenkins) •  Over 60 automated integration tests •  Over 200 unit tests •  Smoke & nightly tests

Page 31: "Continuous Deployment" por @fredfigueiredo

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

Nightly build – Green

Page 32: "Continuous Deployment" por @fredfigueiredo

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

Nightly build – Red (FIX IT!)

Page 33: "Continuous Deployment" por @fredfigueiredo

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

Tools

Page 34: "Continuous Deployment" por @fredfigueiredo

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

What we gained?

Page 35: "Continuous Deployment" por @fredfigueiredo

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

Continuous deployment?

Page 36: "Continuous Deployment" por @fredfigueiredo

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

Continuous deployment?

It’s a cultural mind-set!

Page 37: "Continuous Deployment" por @fredfigueiredo

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

Transparency

Page 38: "Continuous Deployment" por @fredfigueiredo

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

Communication

Page 39: "Continuous Deployment" por @fredfigueiredo

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

Collaboration

Page 40: "Continuous Deployment" por @fredfigueiredo

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

Automation

Commercial status Kanban

Page 41: "Continuous Deployment" por @fredfigueiredo

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

Does it scale?

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

Page 42: "Continuous Deployment" por @fredfigueiredo

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

Recommendation?

Page 43: "Continuous Deployment" por @fredfigueiredo

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

Do what?

Do whatever works for you. No more. No less.

But do it!

Page 44: "Continuous Deployment" por @fredfigueiredo

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

We are looking for…

Page 45: "Continuous Deployment" por @fredfigueiredo

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

Thank You!

@fredfigueiredo Chief Evangelist at…