pivotal centurylink cloud platform seminar presentations: enabling continuous delivery

47
© Copyright 2014 Pivotal. All rights reserved. Pivotal Cloud Platform Deep Dive Enabling Continuous Delivery Andrew Ripka [email protected] @rippmn 1

Upload: pivotal

Post on 21-Aug-2015

150 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: Pivotal CenturyLink Cloud Platform Seminar Presentations: Enabling Continuous Delivery

© Copyright 2014 Pivotal. All rights reserved.

Pivotal Cloud Platform Deep DiveEnabling Continuous Delivery

Andrew Ripka [email protected] @rippmn

1

Page 2: Pivotal CenturyLink Cloud Platform Seminar Presentations: Enabling Continuous Delivery

© Copyright 2014 Pivotal. All rights reserved.

Enabling Continuous Delivery• Continuous Delivery Overview

• How Cloud Foundry Enables Continuous Delivery

• DEMO: A CD Pipeline with Jenkins, Artifactory, CF Client, and PWS

2

Page 3: Pivotal CenturyLink Cloud Platform Seminar Presentations: Enabling Continuous Delivery

Meet Henry (Our Business Owner)

3

Page 4: Pivotal CenturyLink Cloud Platform Seminar Presentations: Enabling Continuous Delivery

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

4

Page 5: Pivotal CenturyLink Cloud Platform Seminar Presentations: Enabling Continuous Delivery

Meet Jane (Our App Architect)

5

!

Page 6: Pivotal CenturyLink Cloud Platform Seminar Presentations: Enabling Continuous Delivery

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 (!)

6

!

Page 7: Pivotal CenturyLink Cloud Platform Seminar Presentations: Enabling Continuous Delivery

Continuous Delivery To The Rescue!

7

Page 8: Pivotal CenturyLink Cloud Platform Seminar Presentations: Enabling Continuous Delivery

Continuous Deployment

8

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

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

Page 9: Pivotal CenturyLink Cloud Platform Seminar Presentations: Enabling Continuous Delivery

Continuous Delivery != Continuous Deployment

9

Page 10: Pivotal CenturyLink Cloud Platform Seminar Presentations: Enabling Continuous Delivery

Continuous Delivery != Continuous Deployment

10 twitter.com/ccaum/statuses/372620989257232384

Page 11: Pivotal CenturyLink Cloud Platform Seminar Presentations: Enabling Continuous Delivery

The Difference:

Who Presses The Button For A Production Deployment?

11

Page 12: Pivotal CenturyLink Cloud Platform Seminar Presentations: Enabling Continuous Delivery

What Could Get In Jane’s Way?

12

Page 13: Pivotal CenturyLink Cloud Platform Seminar Presentations: Enabling Continuous Delivery

Cycle Time

www.flickr.com/photos/nnova/339990495313

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

Page 14: Pivotal CenturyLink Cloud Platform Seminar Presentations: Enabling Continuous Delivery

Silos

www.flickr.com/photos/denimdave/633422442814

… But We Have A DevOps Team!

Page 15: Pivotal CenturyLink Cloud Platform Seminar Presentations: Enabling Continuous Delivery

Process

www.flickr.com/photos/kevgilmour/484305133115

You Need To Open A Ticket For That!

Page 16: Pivotal CenturyLink Cloud Platform Seminar Presentations: Enabling Continuous Delivery

Feedback Loop

www.flickr.com/photos/tenspeedphotography/545045678316

Are We Building The Right Thing?

Page 17: Pivotal CenturyLink Cloud Platform Seminar Presentations: Enabling Continuous Delivery

17

ChangeProduction Breaks When Changes Are Made (!)

… Right?

Page 18: Pivotal CenturyLink Cloud Platform Seminar Presentations: Enabling Continuous Delivery

Jane Needs Some Help (This Seems Insurmountable)

18

Page 19: Pivotal CenturyLink Cloud Platform Seminar Presentations: Enabling Continuous Delivery

Strategies For Success

19

Page 20: Pivotal CenturyLink Cloud Platform Seminar Presentations: Enabling Continuous Delivery

Strategies For Success

Do Implement Continuous Integration

20

Page 21: Pivotal CenturyLink Cloud Platform Seminar Presentations: Enabling Continuous Delivery

21 http://en.wikipedia.org/wiki/Margaret_Hamilton_%28scientist%29

Page 22: Pivotal CenturyLink Cloud Platform Seminar Presentations: Enabling Continuous Delivery

Strategies For Success

Do Not Create Environment Specific Packages

22

Page 23: Pivotal CenturyLink Cloud Platform Seminar Presentations: Enabling Continuous Delivery

Strategies For Success

Do Externalize Environment Specific Configuration

23

Page 24: Pivotal CenturyLink Cloud Platform Seminar Presentations: Enabling Continuous Delivery

Strategies For Success

Do Automate Everything

24

Page 25: Pivotal CenturyLink Cloud Platform Seminar Presentations: Enabling Continuous Delivery

Strategies For Success

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

25

!

Page 26: Pivotal CenturyLink Cloud Platform Seminar Presentations: Enabling Continuous Delivery

Strategies For Success

Do Not Use A Different Process For Different Environments

26

Page 27: Pivotal CenturyLink Cloud Platform Seminar Presentations: Enabling Continuous Delivery

Strategies For Success

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

27

Page 28: Pivotal CenturyLink Cloud Platform Seminar Presentations: Enabling Continuous Delivery

Strategies For Success

Do Ensure Database Changes Are Automated

28

Page 29: Pivotal CenturyLink Cloud Platform Seminar Presentations: Enabling Continuous Delivery

Strategies For SuccessDo Ensure Database Changes Are Automated

http://www.amazon.com/Refactoring-Databases-Evolutionary-paperback-Addison-Wesley/dp/0321774515/

See also - https://www.simple-talk.com/sql/database-administration/continuous-delivery-and-the-database/

29

Page 30: Pivotal CenturyLink Cloud Platform Seminar Presentations: Enabling Continuous Delivery

Strategies For Success

Do Deploy Less More Frequently

30

" " " " " "" " " " " "" " " " " "

v2.1

" " " "v2.1

" " "v2.3

" " " " " " "v2.2

Page 31: Pivotal CenturyLink Cloud Platform Seminar Presentations: Enabling Continuous Delivery

Strategies For Success

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

Occurring

31

Page 32: Pivotal CenturyLink Cloud Platform Seminar Presentations: Enabling Continuous Delivery

Strategies For Success

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

32

g

Page 33: Pivotal CenturyLink Cloud Platform Seminar Presentations: Enabling Continuous Delivery

© Copyright 2014 Pivotal. All rights reserved.

Enabling Continuous Delivery• Continuous Delivery Overview

• How Cloud Foundry Enables Continuous Delivery

• DEMO: A CD Pipeline with Jenkins, Artifactory, CF Client, and PWS

33

Page 34: Pivotal CenturyLink Cloud Platform Seminar Presentations: Enabling Continuous Delivery

Cloud Foundry Helps Jane…

34

Page 35: Pivotal CenturyLink Cloud Platform Seminar Presentations: Enabling Continuous Delivery

Cloud Foundry Helps Jane…

Get A New App Environment In Seconds

35

in a

Page 36: Pivotal CenturyLink Cloud Platform Seminar Presentations: Enabling Continuous Delivery

Cloud Foundry Helps Jane…

Have Complete Consistency Between Environments

36

Page 37: Pivotal CenturyLink Cloud Platform Seminar Presentations: Enabling Continuous Delivery

Cloud Foundry Helps Jane…

Have A Consistent API To Automate Deployments

37

Page 38: Pivotal CenturyLink Cloud Platform Seminar Presentations: Enabling Continuous Delivery

Cloud Foundry Helps Jane…

Inject Environment Specific Configuration

38

Page 39: Pivotal CenturyLink Cloud Platform Seminar Presentations: Enabling Continuous Delivery

Cloud Foundry Helps Jane…

Inject External Dependencies

39

Page 40: Pivotal CenturyLink Cloud Platform Seminar Presentations: Enabling Continuous Delivery

40

Promote Apps Through Environments With The Same Process

#$#

$

#$

Cloud Foundry Helps Jane…

%

Page 41: Pivotal CenturyLink Cloud Platform Seminar Presentations: Enabling Continuous Delivery

Cloud Foundry Helps Jane…

By Providing New Options: + Canary Deployment

+ Zero Downtime Deployment + A/B Testing

+ Scale Apps On-Demand

41

Page 42: Pivotal CenturyLink Cloud Platform Seminar Presentations: Enabling Continuous Delivery

App Developers Can Be More Successful When They Are Supported

By Agile Infrastructure

42

Page 43: Pivotal CenturyLink Cloud Platform Seminar Presentations: Enabling Continuous Delivery

© Copyright 2014 Pivotal. All rights reserved.

Enabling Continuous Delivery• Continuous Delivery Overview

• How Cloud Foundry Enables Continuous Delivery

• DEMO: A CD Pipeline with Jenkins, Artifactory, CF Client, and PWS

43

Page 44: Pivotal CenturyLink Cloud Platform Seminar Presentations: Enabling Continuous Delivery

© Copyright 2014 Pivotal. All rights reserved.

Continuous Delivery Demo

Full video at http://goo.gl/kocrtC

(Note - file sharing blocks may prevent viewing in google drive)

44

Page 45: Pivotal CenturyLink Cloud Platform Seminar Presentations: Enabling Continuous Delivery

© Copyright 2014 Pivotal. All rights reserved.

Artifact Repository

Continuous Delivery Process with Pivotal Cloud Foundry

45

CI Deployment

Server

SCM Repository

Runtime

1. Commit Code

2. CI/CD Server Builds Artifact and pushes to Repo

3. CI/CD Pushes Artifact and config to Dev

4. Triggered CI/CD Push into Test

5. Trigger CI/CD Push into Stage

Commit Code "

Dev Test Stage

Page 46: Pivotal CenturyLink Cloud Platform Seminar Presentations: Enabling Continuous Delivery

© Copyright 2014 Pivotal. All rights reserved.

Enabling Continuous Delivery• Continuous Delivery Overview

• How Cloud Foundry Enables Continuous Delivery

• DEMO: A CD Pipeline with Jenkins, Artifactory, CF Client, and PWS

46

Page 47: Pivotal CenturyLink Cloud Platform Seminar Presentations: Enabling Continuous Delivery

© Copyright 2014 Pivotal. All rights reserved.

THANK YOU!Get Pivotal Cloud Platform at http://network.pivotal.io!

47