Documente Academic
Documente Profesional
Documente Cultură
Table of Content
• About Me
• What is 12 Factor App
• Summary
• 12 Factor App Check List
About Me
• http://12factor.net
• Manifesto written around 2012
• by Adam Wiggins (Heroku, co-founder)
For Who?
• Minimize time and cost for new developers joining the project.
• Offer maximum portability between execution environments.
• Enable continuous deployment for maximum agility.
• Obviate the need for servers and systems administration.
• Can scale up without significant changes to tooling, architecture,
or development practices.
How?
• Demo
• Git
• https://github.com/laeshiny/12factorapp
II. Dependencies
• Python
• Virtualenv
• Ruby
• Gemfile
• Demo
III. Config
What is config?
• Demo
• python code
IV. Backing services
• Any service the app consumes over the network as part of its
normal operation.
IV. Backing services
• locally-managed services,
• datastores : MySQL or CouchDB
• messaging/queueing systems : RabbitMQ or Beanstalkd
• SMTP services : Postfix
• caching systems : Memcached or Redis
Lookup apiserver.com
10.10.10.10
{“data1”: 123,
{“data1”: 123}
“data2”: “abc”}
{“data2”: “abc”}
Get https://apiserver.com/resource/1
V. Build, release, run
• Use strict separation between the build, release, and run stage
V. Build, release, run
VI. Processes
•Ex)
•http://main-portal.com/users/laeshiny >> http://main-
portal.com:5001/users/laeshiny
•http://main-portal.com/config/app1 >> http://main-
portal.com:5002/config/app1
VIII. Concurrency
• Logs are the stream of aggregated, time-ordered events collected from the
output streams of all running processes and backing services
• Logs provide visibility into the behavior of a running app
• Treat logs as event streams
XI. Logs
• Scalable
• Easy Management