Slide 1

Slide 1 text

import continuous.delivery.* Anton Arhipov @antonarhipov Product Lead ZeroTurnaround Monday, November 19, 12

Slide 2

Slide 2 text

INDIVIDUALS and INTERACTIONS over Agenda PROCESSES and TOOLS, blah, blah, blah ... Agile Manifesto says: Monday, November 19, 12

Slide 3

Slide 3 text

Agenda PROCESSES and TOOLS Monday, November 19, 12

Slide 4

Slide 4 text

Fedex process • Package • Dropoff • Transfer • Delivery • Profit! Monday, November 19, 12

Slide 5

Slide 5 text

• Package • Test • Approve • Deploy • Profit! Java EE Monday, November 19, 12

Slide 6

Slide 6 text

• What exactly is in prod now? • How did it get deployed? • How did it get there? • Where did it come from? • How did you package the application? Questions? Monday, November 19, 12

Slide 7

Slide 7 text

Fedex FAIL Monday, November 19, 12

Slide 8

Slide 8 text

Software FAIL Monday, November 19, 12

Slide 9

Slide 9 text

Monday, November 19, 12

Slide 10

Slide 10 text

Continuous Delivery Pipeline Monday, November 19, 12

Slide 11

Slide 11 text

A pipeline? Source: http://startupblog.files.wordpress.com/2008/09/pipeline1.jpg Monday, November 19, 12

Slide 12

Slide 12 text

Continuous Delivery pipeline! Source: http://studentthinktank.eu/wp-content/uploads/2012/02/03_TURKMEN-PIPELINE.jpg Monday, November 19, 12

Slide 13

Slide 13 text

• Automate • Record • Test • Recover Philosophy Monday, November 19, 12

Slide 14

Slide 14 text

• Orchestration Platform • Delivery Manager • Artifact Repository The Pipeline Monday, November 19, 12

Slide 15

Slide 15 text

Jenkins (OSS Continuous Integration Server) Monday, November 19, 12

Slide 16

Slide 16 text

Orchestration platform Monday, November 19, 12

Slide 17

Slide 17 text

LiveRebel (Commercial Delivery Manager) Monday, November 19, 12

Slide 18

Slide 18 text

• Deploy/Undeploy • Update • No downtime • No lost sessions • Plain old restarts • Environment/deployment status What can you do with LiveRebel? Monday, November 19, 12

Slide 19

Slide 19 text

• No good OSS alternative • Supports many app servers • No downtime updates • Integrates with OSS projects Why LiveRebel? Monday, November 19, 12

Slide 20

Slide 20 text

And we freakin’ built it! Monday, November 19, 12

Slide 21

Slide 21 text

Artifactory (OSS/Commercial Artifact Repository) Monday, November 19, 12

Slide 22

Slide 22 text

• FTP • Jenkins • Nexus (and the like) Alternatives Monday, November 19, 12

Slide 23

Slide 23 text

Monday, November 19, 12

Slide 24

Slide 24 text

Now let’s build a pipeline! Monday, November 19, 12

Slide 25

Slide 25 text

The Pipeline / The Repos Monday, November 19, 12

Slide 26

Slide 26 text

Test Build Repository Pipeline Build Test QA QA Dist Deployment Test RC GO! Prod Staging Monday, November 19, 12

Slide 27

Slide 27 text

The tools in the pipeline Monday, November 19, 12

Slide 28

Slide 28 text

Pipeline phases Monday, November 19, 12

Slide 29

Slide 29 text

Build phase Monday, November 19, 12

Slide 30

Slide 30 text

Test phase Monday, November 19, 12

Slide 31

Slide 31 text

QA phase Monday, November 19, 12

Slide 32

Slide 32 text

Production phase Monday, November 19, 12

Slide 33

Slide 33 text

Dirty details in Jenkins Monday, November 19, 12

Slide 34

Slide 34 text

• Database • Configuration & Environment • Tests & Monitoring Themes Not Covered Monday, November 19, 12

Slide 35

Slide 35 text

• How do you package the application? • Where did it come from? • Where does it go? • How does it get deployed? • What exactly is in prod now? Questions? Monday, November 19, 12

Slide 36

Slide 36 text

The answers are in the pipeline! Monday, November 19, 12

Slide 37

Slide 37 text

• Jenkins jobs represent the workflow • Artifactory is a sync-point • LiveRebel manages apps and versions • Manual flows with REST • Tracking with scripts & text files Pipeline Summary Monday, November 19, 12

Slide 38

Slide 38 text

Not bad, but what about the process?? Monday, November 19, 12

Slide 39

Slide 39 text

Monday, November 19, 12

Slide 40

Slide 40 text

Traditional Process Developer Release Engineer SysOp QA Monday, November 19, 12

Slide 41

Slide 41 text

Powered by CD Developer CD Engineer SysOp QA Manager Monday, November 19, 12

Slide 42

Slide 42 text

What’s changed? Monday, November 19, 12

Slide 43

Slide 43 text

What’s changed? • Increased significance of automated QA Monday, November 19, 12

Slide 44

Slide 44 text

What’s changed? • Increased significance of automated QA • Reduced manual testing Monday, November 19, 12

Slide 45

Slide 45 text

What’s changed? • Increased significance of automated QA • Reduced manual testing • Infrastructure roles NOT involved with release Monday, November 19, 12

Slide 46

Slide 46 text

What’s changed? • Increased significance of automated QA • Reduced manual testing • Infrastructure roles NOT involved with release • Release approval is a business decision Monday, November 19, 12

Slide 47

Slide 47 text

What’s changed? • Increased significance of automated QA • Reduced manual testing • Infrastructure roles NOT involved with release • Release approval is a business decision • Automation is the key Too good to be true, eh? Monday, November 19, 12

Slide 48

Slide 48 text

Q & A @antonarhipov [email protected] Monday, November 19, 12