Nowadays many organizations are heading towards numerous cloud solutions, while, even more, organizations are already there. In order not to negate advantages that cloud can provide us with, I would like to go through a methodology or rather a set of best practices designed to improve maintainability scalability and portability of applications created for cloud platforms.
4. “Cloud - access to a pool of
computing resources
(servers, storage, networks,
services etc) that can be
rapidly provisioned and
made available with minimal
overhead”
⦿
7. BENEFITS
OF THE 12
FACTORS
▸ Minimize time and cost for a
new developer joining the
project
▸ Maximum portability between
execution environments
▸ Scale up without significant
changes
⦿
8. 12 factors
Set of principles that prepare your app for the best experience
in cloud
⦿
15. 12 FACTOR
CONFIG
Backing services
Resource handles
to the services
that are required
for the app
Example:
Database
Passwords
Credentials to
external services
Example:
Twitter
Per-deploy values
Values that differ
based on an
environment
Example:
Hostname
3
16. 12 FACTOR
CONFIG
Backing services
Resource handles
to the services
that are required
for the app
Example:
Database
Passwords
Credentials to
external services
Example:
Twitter
Per-deploy values
Values that differ
based on an
environment
Example:
Hostname
3
17. 12 FACTOR
CONFIG
Backing services
Resource handles
to the services
that are required
for the app
Example:
Database
Passwords
Credentials to
external services
Example:
Twitter
Per-deploy values
Values that differ
based on an
environment
Example:
Hostname
3
19. CONFIGURATION
FILES
3
Number of configuration
files that you have right
now for all of your
environments
Number of
environments may grow
over time as well as
number of configuration
files in your app’s
repository
20. CONFIG
The 12 factor app stores config in
environment variables3 ▸ OS-agnostic standard
▸ Little chance of committing into the repo
Having config separated helps to scale out easier
32. SELF
CONTAINED
7
The 12 factor app is self-contained
▸ Do not require an application container
▸ Embeds a webserver library
The web app exports HTTP as a service by
binding to a port
33. SELF
CONTAINED
7
The 12 factor app is self-contained
▸ Do not require an application container
▸ Embeds a webserver library
The web app exports HTTP as a service by
binding to a port
34. SELF
CONTAINED
7
The 12 factor app is self-contained
▸ Do not require an application container
▸ Embeds a webserver library
The web app exports HTTP as a service by
binding to a port