An amazing discovery - the 12 Factor App

 I have a daily reminder that pops up and reminds me to write something on this blog.

As you can see, I have not been persuaded nor inspired nor had enough free time to do so.

But today I discovered The Twelve Factor App - and I'm excited enough to want to share it - and document it so that I don't lose track of it.

For example, it seems that I'm not the only one who treats things like Version Control as a crucial part of development. 

Yes, I know, some of you will be aghast at the thought that this isn't always so.  Others will wonder what that is. 

12 years ago I promised that "In a future post we'll discuss why you never want to allow your project to proceed without some form of Version Control" - looks like I'm in good company.

In a nutshell, the 12 factors - copied from their site - are:

I. Codebase

One codebase tracked in revision control, many deploys

II. Dependencies

Explicitly declare and isolate dependencies

III. Config

Store config in the environment

IV. Backing services

Treat backing services as attached resources

V. Build, release, run

Strictly separate build and run stages

VI. Processes

Execute the app as one or more stateless processes

VII. Port binding

Export services via port binding

VIII. Concurrency

Scale out via the process model

IX. Disposability

Maximize robustness with fast startup and graceful shutdown

X. Dev/prod parity

Keep development, staging, and production as similar as possible

XI. Logs

Treat logs as event streams

XII. Admin processes

Run admin/management tasks as one-off processes


Of course, the devil is in the details; I plan on studying how they see each of these 12 steps - and commenting on them. Stay tuned.

No comments:

Post a Comment

Meet the author!

Do Projects Ever End Early?

Finally, after many years of thinking about it, my book, titled " Do Projects Ever End Early ?" is ready to download. Do Projects ...

Popular posts