twelve-factor...
TRANSCRIPT
![Page 1: Twelve-factor applicationspublic.dhe.ibm.com/software/dw/Courses/CDC1/Presentations/CDC1_Twelve... · © 2015, 2016 IBM Corporation • How to design, develop, deploy, and manage](https://reader034.vdocuments.us/reader034/viewer/2022042109/5e8a0d5abf60c87db32ace53/html5/thumbnails/1.jpg)
© 2015, 2016 IBM Corporation
Twelve-factor applications
![Page 2: Twelve-factor applicationspublic.dhe.ibm.com/software/dw/Courses/CDC1/Presentations/CDC1_Twelve... · © 2015, 2016 IBM Corporation • How to design, develop, deploy, and manage](https://reader034.vdocuments.us/reader034/viewer/2022042109/5e8a0d5abf60c87db32ace53/html5/thumbnails/2.jpg)
© 2015, 2016 IBM Corporation
• How to design, develop, deploy, and manage an IBM Bluemix PaaS application by following the Twelve-Factor App methodology: (http://12factor.net/)
– Codebase
– Dependencies
– Config
– Backing Services
– Build, release, run
– Processes
– Port binding
– Concurrency
– Disposability
– Dev/prod parity
– Logs
– Admin processes
After you complete this section, you should understand:
2
![Page 3: Twelve-factor applicationspublic.dhe.ibm.com/software/dw/Courses/CDC1/Presentations/CDC1_Twelve... · © 2015, 2016 IBM Corporation • How to design, develop, deploy, and manage](https://reader034.vdocuments.us/reader034/viewer/2022042109/5e8a0d5abf60c87db32ace53/html5/thumbnails/3.jpg)
© 2015, 2016 IBM Corporation
Twelve-factor methodology
• In the modern era, software is commonly delivered as a service:
called web apps, or software-as-a-service.
• By using twelve-factor methodology, you can write apps in any
programming language and use any combination of backing
services (database, queue, memory cache, etc.)
Source: http://www.12factor.net
3
![Page 4: Twelve-factor applicationspublic.dhe.ibm.com/software/dw/Courses/CDC1/Presentations/CDC1_Twelve... · © 2015, 2016 IBM Corporation • How to design, develop, deploy, and manage](https://reader034.vdocuments.us/reader034/viewer/2022042109/5e8a0d5abf60c87db32ace53/html5/thumbnails/4.jpg)
© 2015, 2016 IBM Corporation
The twelve factors
1. Codebase - One codebase tracked in revision control, many deploys
2. Dependencies - Explicitly declare and isolate dependencies
3. Config - Store configuration in the environment
4. Backing Services - Treat backing services as attached resources
5. Build, release, run - Strictly separate build and run stages
6. Processes - Execute the app as one or more stateless processes
7. Port binding - Export services via port binding
8. Concurrency - Scale out via the process model
9. Disposability - Maximize robustness with fast startup and graceful shutdown
10.Dev/prod parity - Keep development, staging, and production as similar as
possible
11.Logs - Treat logs as event streams
12.Admin processes - Run administration and management tasks as one-off
processes
4
![Page 5: Twelve-factor applicationspublic.dhe.ibm.com/software/dw/Courses/CDC1/Presentations/CDC1_Twelve... · © 2015, 2016 IBM Corporation • How to design, develop, deploy, and manage](https://reader034.vdocuments.us/reader034/viewer/2022042109/5e8a0d5abf60c87db32ace53/html5/thumbnails/5.jpg)
© 2015, 2016 IBM Corporation
Twelve factor and Bluemix: 1.Codebase
5
![Page 6: Twelve-factor applicationspublic.dhe.ibm.com/software/dw/Courses/CDC1/Presentations/CDC1_Twelve... · © 2015, 2016 IBM Corporation • How to design, develop, deploy, and manage](https://reader034.vdocuments.us/reader034/viewer/2022042109/5e8a0d5abf60c87db32ace53/html5/thumbnails/6.jpg)
© 2015, 2016 IBM Corporation
Codebase: Bluemix DevOps Services
6
![Page 7: Twelve-factor applicationspublic.dhe.ibm.com/software/dw/Courses/CDC1/Presentations/CDC1_Twelve... · © 2015, 2016 IBM Corporation • How to design, develop, deploy, and manage](https://reader034.vdocuments.us/reader034/viewer/2022042109/5e8a0d5abf60c87db32ace53/html5/thumbnails/7.jpg)
© 2015, 2016 IBM Corporation
Twelve factor and Bluemix: 2. Dependencies
7
![Page 8: Twelve-factor applicationspublic.dhe.ibm.com/software/dw/Courses/CDC1/Presentations/CDC1_Twelve... · © 2015, 2016 IBM Corporation • How to design, develop, deploy, and manage](https://reader034.vdocuments.us/reader034/viewer/2022042109/5e8a0d5abf60c87db32ace53/html5/thumbnails/8.jpg)
© 2015, 2016 IBM Corporation
Dependencies
8
![Page 9: Twelve-factor applicationspublic.dhe.ibm.com/software/dw/Courses/CDC1/Presentations/CDC1_Twelve... · © 2015, 2016 IBM Corporation • How to design, develop, deploy, and manage](https://reader034.vdocuments.us/reader034/viewer/2022042109/5e8a0d5abf60c87db32ace53/html5/thumbnails/9.jpg)
© 2015, 2016 IBM Corporation
Twelve factor and Bluemix: 3.Config
9
![Page 10: Twelve-factor applicationspublic.dhe.ibm.com/software/dw/Courses/CDC1/Presentations/CDC1_Twelve... · © 2015, 2016 IBM Corporation • How to design, develop, deploy, and manage](https://reader034.vdocuments.us/reader034/viewer/2022042109/5e8a0d5abf60c87db32ace53/html5/thumbnails/10.jpg)
© 2015, 2016 IBM Corporation
Config
10
![Page 11: Twelve-factor applicationspublic.dhe.ibm.com/software/dw/Courses/CDC1/Presentations/CDC1_Twelve... · © 2015, 2016 IBM Corporation • How to design, develop, deploy, and manage](https://reader034.vdocuments.us/reader034/viewer/2022042109/5e8a0d5abf60c87db32ace53/html5/thumbnails/11.jpg)
© 2015, 2016 IBM Corporation
Twelve factor and Bluemix: 4.Backing Services
11
![Page 12: Twelve-factor applicationspublic.dhe.ibm.com/software/dw/Courses/CDC1/Presentations/CDC1_Twelve... · © 2015, 2016 IBM Corporation • How to design, develop, deploy, and manage](https://reader034.vdocuments.us/reader034/viewer/2022042109/5e8a0d5abf60c87db32ace53/html5/thumbnails/12.jpg)
© 2015, 2016 IBM Corporation
Backing Services
12
![Page 13: Twelve-factor applicationspublic.dhe.ibm.com/software/dw/Courses/CDC1/Presentations/CDC1_Twelve... · © 2015, 2016 IBM Corporation • How to design, develop, deploy, and manage](https://reader034.vdocuments.us/reader034/viewer/2022042109/5e8a0d5abf60c87db32ace53/html5/thumbnails/13.jpg)
© 2015, 2016 IBM Corporation
Twelve factor and Bluemix: 5.Build, Release, Run
13
![Page 14: Twelve-factor applicationspublic.dhe.ibm.com/software/dw/Courses/CDC1/Presentations/CDC1_Twelve... · © 2015, 2016 IBM Corporation • How to design, develop, deploy, and manage](https://reader034.vdocuments.us/reader034/viewer/2022042109/5e8a0d5abf60c87db32ace53/html5/thumbnails/14.jpg)
© 2015, 2016 IBM Corporation
Build, Release, Run
CF Buildpacks + immutable Warden Containers
14
![Page 15: Twelve-factor applicationspublic.dhe.ibm.com/software/dw/Courses/CDC1/Presentations/CDC1_Twelve... · © 2015, 2016 IBM Corporation • How to design, develop, deploy, and manage](https://reader034.vdocuments.us/reader034/viewer/2022042109/5e8a0d5abf60c87db32ace53/html5/thumbnails/15.jpg)
© 2015, 2016 IBM Corporation
Twelve actor and Bluemix: 6.Processes
![Page 16: Twelve-factor applicationspublic.dhe.ibm.com/software/dw/Courses/CDC1/Presentations/CDC1_Twelve... · © 2015, 2016 IBM Corporation • How to design, develop, deploy, and manage](https://reader034.vdocuments.us/reader034/viewer/2022042109/5e8a0d5abf60c87db32ace53/html5/thumbnails/16.jpg)
© 2015, 2016 IBM Corporation
Processes
Stateless:
CF Warden Containers: no clustered memory, no shared FS
Desired State
ActualState
16
![Page 17: Twelve-factor applicationspublic.dhe.ibm.com/software/dw/Courses/CDC1/Presentations/CDC1_Twelve... · © 2015, 2016 IBM Corporation • How to design, develop, deploy, and manage](https://reader034.vdocuments.us/reader034/viewer/2022042109/5e8a0d5abf60c87db32ace53/html5/thumbnails/17.jpg)
© 2015, 2016 IBM Corporation
Twelve factor and Bluemix: 7.Port Binding
17
![Page 18: Twelve-factor applicationspublic.dhe.ibm.com/software/dw/Courses/CDC1/Presentations/CDC1_Twelve... · © 2015, 2016 IBM Corporation • How to design, develop, deploy, and manage](https://reader034.vdocuments.us/reader034/viewer/2022042109/5e8a0d5abf60c87db32ace53/html5/thumbnails/18.jpg)
© 2015, 2016 IBM Corporation
Twelve factor and Bluemix: 8.Concurrency
18
![Page 19: Twelve-factor applicationspublic.dhe.ibm.com/software/dw/Courses/CDC1/Presentations/CDC1_Twelve... · © 2015, 2016 IBM Corporation • How to design, develop, deploy, and manage](https://reader034.vdocuments.us/reader034/viewer/2022042109/5e8a0d5abf60c87db32ace53/html5/thumbnails/19.jpg)
© 2015, 2016 IBM Corporation
Concurrency
19
![Page 20: Twelve-factor applicationspublic.dhe.ibm.com/software/dw/Courses/CDC1/Presentations/CDC1_Twelve... · © 2015, 2016 IBM Corporation • How to design, develop, deploy, and manage](https://reader034.vdocuments.us/reader034/viewer/2022042109/5e8a0d5abf60c87db32ace53/html5/thumbnails/20.jpg)
© 2015, 2016 IBM Corporation
Twelve factor and Bluemix: 9.Disposability
20
![Page 21: Twelve-factor applicationspublic.dhe.ibm.com/software/dw/Courses/CDC1/Presentations/CDC1_Twelve... · © 2015, 2016 IBM Corporation • How to design, develop, deploy, and manage](https://reader034.vdocuments.us/reader034/viewer/2022042109/5e8a0d5abf60c87db32ace53/html5/thumbnails/21.jpg)
© 2015, 2016 IBM Corporation
Twelve factor and Bluemix: 10.Dev/Prod parity
21
![Page 22: Twelve-factor applicationspublic.dhe.ibm.com/software/dw/Courses/CDC1/Presentations/CDC1_Twelve... · © 2015, 2016 IBM Corporation • How to design, develop, deploy, and manage](https://reader034.vdocuments.us/reader034/viewer/2022042109/5e8a0d5abf60c87db32ace53/html5/thumbnails/22.jpg)
© 2015, 2016 IBM Corporation
Twelve factor and Bluemix: 11.Logs
22
![Page 23: Twelve-factor applicationspublic.dhe.ibm.com/software/dw/Courses/CDC1/Presentations/CDC1_Twelve... · © 2015, 2016 IBM Corporation • How to design, develop, deploy, and manage](https://reader034.vdocuments.us/reader034/viewer/2022042109/5e8a0d5abf60c87db32ace53/html5/thumbnails/23.jpg)
© 2015, 2016 IBM Corporation
Logs
Messaging
ThirdParty
(Logstash,Splunk)
Bluemix Elastic Runtime
23
Health Manager
Cloud Controller
Messaging
Syslog
Aggregator
![Page 24: Twelve-factor applicationspublic.dhe.ibm.com/software/dw/Courses/CDC1/Presentations/CDC1_Twelve... · © 2015, 2016 IBM Corporation • How to design, develop, deploy, and manage](https://reader034.vdocuments.us/reader034/viewer/2022042109/5e8a0d5abf60c87db32ace53/html5/thumbnails/24.jpg)
© 2015, 2016 IBM Corporation
Twelve factor and Bluemix: 12.Admin Processes
24