The 12 Factor App website introduction looks like Below Statement because we don't need old classical methods and we will Develop and Delivery projects in minimal time.
you must understand before reading the rules what are the difference between website and web apps and web services.
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 which use any combination of backing services (database, queue, memory cache, etc).
we can understand these rules when we practice with serverless container technologies in the cloud. and we can develop cost-effective, zero down-time apps very easily. these rules avoid project management conflicts like auto-scaling, code database maintains, memory, and maintenance issues. project configuration, dev/prod maintenance, etc.
so what are the advantages..?
suppose if we learn and successfully apply these rules in our projects. we can get many benefits like this.
these rules do not change our fate in a single day but change our ideology.
most old-fashioned developers not adopt these rules, especially those using monolithic architecture frameworks and who forced from their manager/boss complete the project in given timelines. Most of the rules I adopted last year when I used cloud technologies. I am just copying Headings from here 12 Factorapp to minimal understand.
if you want a clean explanation please visit this site 12 Factorapp.
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
And Trust your abilities to learn, understand, and implement on each stage. I am sure these rules change every web developer's fate in months. read and practice, best of luck.