part 3: enabling continuous delivery (pivotal cloud platform roadshow)
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/1poA6PGTRANSCRIPT
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
© Copyright 2014 Pivotal. All rights reserved.
Before we get started…
2
© 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
© Copyright 2014 Pivotal. All rights reserved.
CloudBees
4
© Copyright 2014 Pivotal. All rights reserved. 5
© Copyright 2014 Pivotal. All rights reserved. 6
© Copyright 2014 Pivotal. All rights reserved. 7
© Copyright 2014 Pivotal. All rights reserved. 8
© Copyright 2014 Pivotal. All rights reserved. 9
© Copyright 2014 Pivotal. All rights reserved. 10
© Copyright 2014 Pivotal. All rights reserved.
Artifactory Online
11
© Copyright 2014 Pivotal. All rights reserved. 12
© Copyright 2014 Pivotal. All rights reserved. 13
© Copyright 2014 Pivotal. All rights reserved. 14
© Copyright 2014 Pivotal. All rights reserved. 15
© Copyright 2014 Pivotal. All rights reserved. 16
© Copyright 2014 Pivotal. All rights reserved. 17
© Copyright 2014 Pivotal. All rights reserved. 18
© 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
Meet Henry (Our Business Owner)
20
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
Meet Jane (Our App Architect)
22
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
Continuous Delivery To The Rescue!
24
Continuous Deployment
25
Github: On August 23, 2012 – 563 builds and 175 deploys
github.com/blog/1241-deploying-at-github
Continuous Delivery != Continuous Deployment
26
Continuous Delivery != Continuous Deployment
27 twitter.com/ccaum/statuses/372620989257232384
The Difference: !
Who Presses The Button For A Production Deployment?
28
What Could Get In Jane’s Way?
29
Cycle Time
www.flickr.com/photos/nnova/339990495330
How Long Does It Take To Deploy One Line Of Code To Production?
Silos
www.flickr.com/photos/denimdave/633422442831
… But We Have A DevOps Team!
Process
www.flickr.com/photos/kevgilmour/484305133132
You Need To Open A Ticket For That!
Feedback Loop
www.flickr.com/photos/tenspeedphotography/545045678333
Are We Building The Right Thing?
34
ChangeProduction Breaks When Changes Are Made (!)
… Right?
Jane Needs Some Help (This Seems Insurmountable)
35
Strategies For Success
36
Strategies For Success
Do Implement Continuous Integration
37
Strategies For Success
Do Not Create Environment Specific Packages
38
Strategies For Success
Do Externalize Environment Specific Configuration
39
|
Strategies For Success
Do Automate Everything
40
Strategies For Success
Do Not Assume Existing Processes Are Right (Engage In Continuous Improvement)
41
Strategies For Success
Do Not Use A Different Process For Different Environments
42
Strategies For Success
Do Recreate App Environments Frequently (Also Known As: Servers Are Not Puppies)
43
Strategies For Success
Do Ensure Database Changes Are Automated
44
Strategies For Success
Do Deploy Less More Frequently !
45
v2.1
v2.1
v2.3
v2.2
Strategies For Success
Do Automate All Testing Where Test Failures Would Prevent A Production Release From
Occurring !
46
|
Strategies For Success
Do Try To Use Tools That Support The Process (But Don’t Get Stuck In Tool Selection Hell!)
47
g
© 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
Cloud Foundry Helps Jane…
49
Cloud Foundry Helps Jane…
Get A New App Environment In Seconds
50
in a
Cloud Foundry Helps Jane…
Have Complete Consistency Between Environments
51
Cloud Foundry Helps Jane…
Have A Consistent API To Automate Deployments
52
Cloud Foundry Helps Jane…
Inject Environment Specific Configuration
53
Cloud Foundry Helps Jane…
Inject External Dependencies
54
55
Promote Apps Through Environments With The Same Process
!
Cloud Foundry Helps Jane…
Cloud Foundry Helps Jane…
By Providing New Options: + Canary Deployment
+ Zero Downtime Deployment + A/B Testing
+ Scale Apps On-Demand
56
App Developers Can Be More Successful When They Are Supported
By Agile Infrastructure
57
© 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
© 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
© 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
© 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
A NEW PLATFORM FOR A NEW ERA