Software as a Service (SaaS) has been an important part of the IT landscape for years, especially in the area of software development.
There are very specific requirements to be met:
When developing a software solution or a web app, these criteria are particularly important and are also evaluated by users. The Twelve-Factor App is a method for implementing development objectively as well as efficiently.
The method is primarily intended to helping developers in order to build apps that run as services. But also the administrators who manage or deploy these apps.
It offers the opportunity to raise awareness of system-related problems within current application development, provide a common vocabulary to discuss these problems, and a solution portfolio to these problems with associated terminology.
The developers behind the 12-Factor framework are experts who have worked on many app developments for the "Heroku" cloud application platform. A major advantage of the Heroku cloud is that, as an open source project, it allows developers as well as users to have efficient development work done by experts working internationally. (Source)
A declarative format is used in order to automate configuration. Therefore , time and cost for new developers in the project can be minimized.
A clean foundation is being established with the underlying operating system in order to provide maximum portability between execution environments.
The agreement on a modern cloud platform is important for the deployment to reduce the effort for servers and their administration.
To enable maximum agile continuous deployment, it is important to minimize the divergence between development and production.
Scalability in architecture or development procedures without significant changes in the tool is also a common requirement.
In addition, the twelve-factor method can be applied to apps written in any programming language, using any combination of supporting services (database, queue, cache, ...). (Source)
These twelve points are a synthesis of numerous experiences and the observations of a wide range of software-as-a-service apps:
In subsequent blog posts on "The Tweleve-Factor App," we'll go into more detail about the twelve factors.