1
Jan 15, 2015
1
Continuous Delivery with Cloud Foundry
2
CloudCredoLondon
3
4
realness ->
tim
e ->
Deployment Pipeline
4
Refresher:Why are we doing this?
5
6
⟳6
Cloud Foundry
7
Consistent Interface for Deployment
$ cf push
8
8
Avoid making breaking changes that delay feedback
9
9
cloudfoundry.com »
10
Feedback
10
decomposed the application into services »
11
Feedback
11
custom release »
12
Feedback
12
multiple platforms, multi-region »
13
Feedback
13
600,000transactions in 7 hours
14
Feedback
14
500user journeys every second
15
Feedback
15
10,000call center operators
16
Feedback
16
♥beat17
Feedback
17
Production-like Environment
18
Build and scale new environments repeatably
19
Environments
19
Perform load testing within your pipeline
20
Environments
20
Externalizing Configuration
21
Environments
21
12factor.net
22
Environments
22
Reproducible Environments
23
Environments
23
BOSH
24
Environments
24
Artifact Repositories
25
Environments
25
Blue / Green Deployments
26
Environments
26
Things to watch out for
27
Manual application changes
28
Gotchas
28
Branching Deployments
29
Gotchas
29
Adding infrastructure code to the pipeline
30
31
Application Code
Infrastructure Code
Base OS
Your service
31
✔ Validation of BOSH Manifests
32
Infrastructure code
32
⇑ Automate upload of BOSH releases
33
Infrastructure code
33
⇓ Automate updates from upstream releases, binaries
34
Infrastructure code
34
Key Takeaways
• Cloud Foundry makes building continuous delivery pipelines much easier.
• Cloud Foundry makes it easy to Do the Right Thing.
• PaaS abstraction allows you to grow from small-scale to large scale and maintain a steady heartbeat of delivery.
35
35