pivotal centurylink cloud platform seminar presentations: enabling continuous delivery
TRANSCRIPT
© Copyright 2014 Pivotal. All rights reserved.
Pivotal Cloud Platform Deep DiveEnabling Continuous Delivery
Andrew Ripka [email protected] @rippmn
1
© 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
Meet Henry (Our Business Owner)
3
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
Meet Jane (Our App Architect)
5
!
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
!
Continuous Delivery To The Rescue!
7
Continuous Deployment
8
Github: On August 23, 2012 – 563 builds and 175 deploys
github.com/blog/1241-deploying-at-github
Continuous Delivery != Continuous Deployment
9
Continuous Delivery != Continuous Deployment
10 twitter.com/ccaum/statuses/372620989257232384
The Difference:
Who Presses The Button For A Production Deployment?
11
What Could Get In Jane’s Way?
12
Cycle Time
www.flickr.com/photos/nnova/339990495313
How Long Does It Take To Deploy One Line Of Code To Production?
Silos
www.flickr.com/photos/denimdave/633422442814
… But We Have A DevOps Team!
Process
www.flickr.com/photos/kevgilmour/484305133115
You Need To Open A Ticket For That!
Feedback Loop
www.flickr.com/photos/tenspeedphotography/545045678316
Are We Building The Right Thing?
17
ChangeProduction Breaks When Changes Are Made (!)
… Right?
Jane Needs Some Help (This Seems Insurmountable)
18
Strategies For Success
19
Strategies For Success
Do Implement Continuous Integration
20
21 http://en.wikipedia.org/wiki/Margaret_Hamilton_%28scientist%29
Strategies For Success
Do Not Create Environment Specific Packages
22
Strategies For Success
Do Externalize Environment Specific Configuration
23
Strategies For Success
Do Automate Everything
24
Strategies For Success
Do Not Assume Existing Processes Are Right (Engage In Continuous Improvement)
25
!
Strategies For Success
Do Not Use A Different Process For Different Environments
26
Strategies For Success
Do Recreate App Environments Frequently (Also Known As: Servers Are Not Puppies)
27
Strategies For Success
Do Ensure Database Changes Are Automated
28
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
Strategies For Success
Do Deploy Less More Frequently
30
" " " " " "" " " " " "" " " " " "
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
31
Strategies For Success
Do Try To Use Tools That Support The Process (But Don’t Get Stuck In Tool Selection Hell!)
32
g
© 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
Cloud Foundry Helps Jane…
34
Cloud Foundry Helps Jane…
Get A New App Environment In Seconds
35
in a
Cloud Foundry Helps Jane…
Have Complete Consistency Between Environments
36
Cloud Foundry Helps Jane…
Have A Consistent API To Automate Deployments
37
Cloud Foundry Helps Jane…
Inject Environment Specific Configuration
38
Cloud Foundry Helps Jane…
Inject External Dependencies
39
40
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
41
App Developers Can Be More Successful When They Are Supported
By Agile Infrastructure
42
© 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
© 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
© 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
© 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
© Copyright 2014 Pivotal. All rights reserved.
THANK YOU!Get Pivotal Cloud Platform at http://network.pivotal.io!
47