The Twelve-Factor App Methodology Part I: Introduction

Feri Lukmansyah
2 min readJul 17, 2022
Photo by Markus Winkler on Unsplash

In the modern era, the software is commonly delivered as a service: called web apps, or software-as-a-service. The twelve-factor app is a methodology for building software-as-a-service apps that:

  • Use declarative formats for setup automation, to minimize time and cost for new developers joining the project;
  • Have a clean contract with the underlying operating system, offering maximum portability between execution environments;
  • Are suitable for deployment on modern cloud platforms, obviating the need for servers and systems administration;
  • Minimize divergence between development and production, enabling continuous deployment for maximum agility;
  • And can scale up without significant changes to tooling, architecture, or development practices

The twelve-factor methodology can be applied to apps written in any programming language and that use any combination of backing services (database, queue, memory cache, etc)

In this case, I will use python for practice, I will use Flask framework with modular pattern use MVC for project structure

Background

I just designed an application to run a service in one of my jobs, then I did an analysis of the project structure design on the application I made, after I read from various sources, I found readings about the 12 Factor App methodology, then I applied the methodology earlier. into the application that I made.

From various sources I have read, including the book Two Scoops of Django 3 by Daniel Roy Greenfeld and Audrey Roy Greenfeld, they have already implemented this methodology, so how do you apply this methodology in a different framework? flask for example?

So in the next chapter, we will explain what the 12 Factor App are and how to apply them in the flask framework 😀

--

--