part 3: enabling continuous delivery (pivotal cloud platform roadshow)

62
1 © Copyright 2013 Pivotal. All rights reserved. 1 © Copyright 2014 Pivotal. All rights reserved. Pivotal Cloud Platform Deep Dive Part 3: Enabling Continuous Delivery Pivotal CF Team

Upload: pivotal

Post on 15-Jan-2015

1.106 views

Category:

Software


4 download

DESCRIPTION

Enabling Continuous Delivery The primary goals of this session are to: Give a brief, platform-agnostic overview of the “why” and “what” of Continuous Delivery. The purpose is to simply educate the student and bring everyone to the same level. Explain how Cloud Foundry benefits Continuous Delivery. Provide a hands-on lab experience where the student takes a Spring Boot microservice application and builds a continuous delivery pipeline for it using Jenkins, Artifactory, and Cloud Foundry. This is all done using free trial SaaS versions of the software. Pivotal Cloud Platform Roadshow is coming to a city near you! Join Pivotal technologists and learn how to build and deploy great software on a modern cloud platform. Find your city and register now http://bit.ly/1poA6PG

TRANSCRIPT

Page 1: Part 3: Enabling Continuous Delivery (Pivotal Cloud Platform Roadshow)

1 © Copyright 2013 Pivotal. All rights reserved. 1 © Copyright 2014 Pivotal. All rights reserved.

Pivotal Cloud Platform Deep Dive

Part 3: Enabling Continuous Delivery

Pivotal CF Team

Page 2: Part 3: Enabling Continuous Delivery (Pivotal Cloud Platform Roadshow)

© Copyright 2014 Pivotal. All rights reserved.

Before we get started…

2

Page 3: Part 3: Enabling Continuous Delivery (Pivotal Cloud Platform Roadshow)

© Copyright 2014 Pivotal. All rights reserved.

Setup Prerequisites•CloudBees Account (Jenkins)

http://grandcentral.cloudbees.com

• JFrog Artifactory Online Accounthttps://www.jfrog.com/registration/registration.html

3

Page 4: Part 3: Enabling Continuous Delivery (Pivotal Cloud Platform Roadshow)

© Copyright 2014 Pivotal. All rights reserved.

CloudBees

4

Page 5: Part 3: Enabling Continuous Delivery (Pivotal Cloud Platform Roadshow)

© Copyright 2014 Pivotal. All rights reserved. 5

Page 6: Part 3: Enabling Continuous Delivery (Pivotal Cloud Platform Roadshow)

© Copyright 2014 Pivotal. All rights reserved. 6

Page 7: Part 3: Enabling Continuous Delivery (Pivotal Cloud Platform Roadshow)

© Copyright 2014 Pivotal. All rights reserved. 7

Page 8: Part 3: Enabling Continuous Delivery (Pivotal Cloud Platform Roadshow)

© Copyright 2014 Pivotal. All rights reserved. 8

Page 9: Part 3: Enabling Continuous Delivery (Pivotal Cloud Platform Roadshow)

© Copyright 2014 Pivotal. All rights reserved. 9

Page 10: Part 3: Enabling Continuous Delivery (Pivotal Cloud Platform Roadshow)

© Copyright 2014 Pivotal. All rights reserved. 10

Page 11: Part 3: Enabling Continuous Delivery (Pivotal Cloud Platform Roadshow)

© Copyright 2014 Pivotal. All rights reserved.

Artifactory Online

11

Page 12: Part 3: Enabling Continuous Delivery (Pivotal Cloud Platform Roadshow)

© Copyright 2014 Pivotal. All rights reserved. 12

Page 13: Part 3: Enabling Continuous Delivery (Pivotal Cloud Platform Roadshow)

© Copyright 2014 Pivotal. All rights reserved. 13

Page 14: Part 3: Enabling Continuous Delivery (Pivotal Cloud Platform Roadshow)

© Copyright 2014 Pivotal. All rights reserved. 14

Page 15: Part 3: Enabling Continuous Delivery (Pivotal Cloud Platform Roadshow)

© Copyright 2014 Pivotal. All rights reserved. 15

Page 16: Part 3: Enabling Continuous Delivery (Pivotal Cloud Platform Roadshow)

© Copyright 2014 Pivotal. All rights reserved. 16

Page 17: Part 3: Enabling Continuous Delivery (Pivotal Cloud Platform Roadshow)

© Copyright 2014 Pivotal. All rights reserved. 17

Page 18: Part 3: Enabling Continuous Delivery (Pivotal Cloud Platform Roadshow)

© Copyright 2014 Pivotal. All rights reserved. 18

Page 19: Part 3: Enabling Continuous Delivery (Pivotal Cloud Platform Roadshow)

© Copyright 2014 Pivotal. All rights reserved.

Enabling Continuous Delivery• Setup Prerequisites

• Continuous Delivery Overview

• How Cloud Foundry Enables Continuous Delivery

• Lab: Setup a CD Pipeline with Jenkins, Artifactory, CF Client, and PWS

19

Page 20: Part 3: Enabling Continuous Delivery (Pivotal Cloud Platform Roadshow)

Meet Henry (Our Business Owner)

20

Page 21: Part 3: Enabling Continuous Delivery (Pivotal Cloud Platform Roadshow)

Meet Henry

He needs an app built in the next 8 weeks He knows what the app should do

He expects competitors to try to beat us to market

21

Page 22: Part 3: Enabling Continuous Delivery (Pivotal Cloud Platform Roadshow)

Meet Jane (Our App Architect)

22

Page 23: Part 3: Enabling Continuous Delivery (Pivotal Cloud Platform Roadshow)

Meet Jane

Jane is a little worried: Not everyone understands agile here Environment setup takes a long time

8 Weeks isn’t much time to get a release to production (!)

23

Page 24: Part 3: Enabling Continuous Delivery (Pivotal Cloud Platform Roadshow)

Continuous Delivery To The Rescue!

24

Page 25: Part 3: Enabling Continuous Delivery (Pivotal Cloud Platform Roadshow)

Continuous Deployment

25

Github: On August 23, 2012 – 563 builds and 175 deploys

github.com/blog/1241-deploying-at-github

Page 26: Part 3: Enabling Continuous Delivery (Pivotal Cloud Platform Roadshow)

Continuous Delivery != Continuous Deployment

26

Page 27: Part 3: Enabling Continuous Delivery (Pivotal Cloud Platform Roadshow)

Continuous Delivery != Continuous Deployment

27 twitter.com/ccaum/statuses/372620989257232384

Page 28: Part 3: Enabling Continuous Delivery (Pivotal Cloud Platform Roadshow)

The Difference: !

Who Presses The Button For A Production Deployment?

28

Page 29: Part 3: Enabling Continuous Delivery (Pivotal Cloud Platform Roadshow)

What Could Get In Jane’s Way?

29

Page 30: Part 3: Enabling Continuous Delivery (Pivotal Cloud Platform Roadshow)

Cycle Time

www.flickr.com/photos/nnova/339990495330

How Long Does It Take To Deploy One Line Of Code To Production?

Page 31: Part 3: Enabling Continuous Delivery (Pivotal Cloud Platform Roadshow)

Silos

www.flickr.com/photos/denimdave/633422442831

… But We Have A DevOps Team!

Page 32: Part 3: Enabling Continuous Delivery (Pivotal Cloud Platform Roadshow)

Process

www.flickr.com/photos/kevgilmour/484305133132

You Need To Open A Ticket For That!

Page 33: Part 3: Enabling Continuous Delivery (Pivotal Cloud Platform Roadshow)

Feedback Loop

www.flickr.com/photos/tenspeedphotography/545045678333

Are We Building The Right Thing?

Page 34: Part 3: Enabling Continuous Delivery (Pivotal Cloud Platform Roadshow)

34

ChangeProduction Breaks When Changes Are Made (!)

… Right?

Page 35: Part 3: Enabling Continuous Delivery (Pivotal Cloud Platform Roadshow)

Jane Needs Some Help (This Seems Insurmountable)

35

Page 36: Part 3: Enabling Continuous Delivery (Pivotal Cloud Platform Roadshow)

Strategies For Success

36

Page 37: Part 3: Enabling Continuous Delivery (Pivotal Cloud Platform Roadshow)

Strategies For Success

Do Implement Continuous Integration

37

Page 38: Part 3: Enabling Continuous Delivery (Pivotal Cloud Platform Roadshow)

Strategies For Success

Do Not Create Environment Specific Packages

38

Page 39: Part 3: Enabling Continuous Delivery (Pivotal Cloud Platform Roadshow)

Strategies For Success

Do Externalize Environment Specific Configuration

39

|

Page 40: Part 3: Enabling Continuous Delivery (Pivotal Cloud Platform Roadshow)

Strategies For Success

Do Automate Everything

40

Page 41: Part 3: Enabling Continuous Delivery (Pivotal Cloud Platform Roadshow)

Strategies For Success

Do Not Assume Existing Processes Are Right (Engage In Continuous Improvement)

41

Page 42: Part 3: Enabling Continuous Delivery (Pivotal Cloud Platform Roadshow)

Strategies For Success

Do Not Use A Different Process For Different Environments

42

Page 43: Part 3: Enabling Continuous Delivery (Pivotal Cloud Platform Roadshow)

Strategies For Success

Do Recreate App Environments Frequently (Also Known As: Servers Are Not Puppies)

43

Page 44: Part 3: Enabling Continuous Delivery (Pivotal Cloud Platform Roadshow)

Strategies For Success

Do Ensure Database Changes Are Automated

44

Page 45: Part 3: Enabling Continuous Delivery (Pivotal Cloud Platform Roadshow)

Strategies For Success

Do Deploy Less More Frequently !

45

v2.1

v2.1

v2.3

v2.2

Page 46: Part 3: Enabling Continuous Delivery (Pivotal Cloud Platform Roadshow)

Strategies For Success

Do Automate All Testing Where Test Failures Would Prevent A Production Release From

Occurring !

46

|

Page 47: Part 3: Enabling Continuous Delivery (Pivotal Cloud Platform Roadshow)

Strategies For Success

Do Try To Use Tools That Support The Process (But Don’t Get Stuck In Tool Selection Hell!)

47

g

Page 48: Part 3: Enabling Continuous Delivery (Pivotal Cloud Platform Roadshow)

© Copyright 2014 Pivotal. All rights reserved.

Enabling Continuous Delivery• Setup Prerequisites

• Continuous Delivery Overview

• How Cloud Foundry Enables Continuous Delivery

• Lab: Setup a CD Pipeline with Jenkins, Artifactory, CF Client, and PWS

48

Page 49: Part 3: Enabling Continuous Delivery (Pivotal Cloud Platform Roadshow)

Cloud Foundry Helps Jane…

49

Page 50: Part 3: Enabling Continuous Delivery (Pivotal Cloud Platform Roadshow)

Cloud Foundry Helps Jane…

Get A New App Environment In Seconds

50

in a

Page 51: Part 3: Enabling Continuous Delivery (Pivotal Cloud Platform Roadshow)

Cloud Foundry Helps Jane…

Have Complete Consistency Between Environments

51

Page 52: Part 3: Enabling Continuous Delivery (Pivotal Cloud Platform Roadshow)

Cloud Foundry Helps Jane…

Have A Consistent API To Automate Deployments

52

Page 53: Part 3: Enabling Continuous Delivery (Pivotal Cloud Platform Roadshow)

Cloud Foundry Helps Jane…

Inject Environment Specific Configuration

53

Page 54: Part 3: Enabling Continuous Delivery (Pivotal Cloud Platform Roadshow)

Cloud Foundry Helps Jane…

Inject External Dependencies

54

Page 55: Part 3: Enabling Continuous Delivery (Pivotal Cloud Platform Roadshow)

55

Promote Apps Through Environments With The Same Process

!

Cloud Foundry Helps Jane…

Page 56: Part 3: Enabling Continuous Delivery (Pivotal Cloud Platform Roadshow)

Cloud Foundry Helps Jane…

By Providing New Options: + Canary Deployment

+ Zero Downtime Deployment + A/B Testing

+ Scale Apps On-Demand

56

Page 57: Part 3: Enabling Continuous Delivery (Pivotal Cloud Platform Roadshow)

App Developers Can Be More Successful When They Are Supported

By Agile Infrastructure

57

Page 58: Part 3: Enabling Continuous Delivery (Pivotal Cloud Platform Roadshow)

© Copyright 2014 Pivotal. All rights reserved.

Enabling Continuous Delivery• Setup Prerequisites

• Continuous Delivery Overview

• How Cloud Foundry Enables Continuous Delivery

• Lab: Setup a CD Pipeline with Jenkins, Artifactory, CF Client, and PWS

58

Page 59: Part 3: Enabling Continuous Delivery (Pivotal Cloud Platform Roadshow)

© Copyright 2014 Pivotal. All rights reserved.

Lab• Follow the instructions found at https://github.com/cf-

platform-eng/cf-workshop-cd-module using your:

• Pivotal Web Services Account

•CloudBees Account

•Artifactory Online Account

59

Page 60: Part 3: Enabling Continuous Delivery (Pivotal Cloud Platform Roadshow)

© Copyright 2014 Pivotal. All rights reserved.

Enabling Continuous Delivery• Setup Prerequisites

• Continuous Delivery Overview

• How Cloud Foundry Enables Continuous Delivery

• Lab: Setup a CD Pipeline with Jenkins, Artifactory, CF Client, and PWS

60

Page 61: Part 3: Enabling Continuous Delivery (Pivotal Cloud Platform Roadshow)

© Copyright 2014 Pivotal. All rights reserved.

Coming Up•Break (4:00 - 4:15)

• Part Four (4:15 - 5:30)

• Learn CF Extension Points

•Customize a Buildpack -OR-

•Write and Deploy a Service Broker

61

Page 62: Part 3: Enabling Continuous Delivery (Pivotal Cloud Platform Roadshow)

A NEW PLATFORM FOR A NEW ERA