Heroku Open Sources the Twelve-Factor App Definition
- Last Updated: November 12, 2024
Today, we are excited to announce Twelve-Factor is now an open source project. This is a special moment in the journey of Twelve-Factor over the years. Published over a decade ago by Heroku co-founder Adam Wiggins to codify the best practices for writing SaaS apps, the ideas espoused on the Twelve-Factor App website inspired many generations of software engineers and the principles we take for granted in modern application development.
Open sourcing the 12-Factor App is an important milestone to take the industry forward and codify best practices for the future. As the modern app architecture reflected in the 12-Factors became mainstream, new technologies and ideas emerged, and we needed to bring more voices and experiences to the discussion.
Vish Abrams
Chief Architect, Heroku by Salesforce
What is a 12-Factor app?
A 12-Factor App is an application designed in accordance with the 12-Factor App principles, which aim to maximize portability, scalability, and reliability in the cloud. The core ideas include maintaining a single codebase, declaring dependencies explicitly, storing configuration in the environment, and treating backing services as attached resources. These guidelines inspired developers to create resilient apps supported by modern cloud application platforms like Heroku. It has helped countless teams to build innovative applications, and the 12-factor app methodology remains the foundation for modern application development in the cloud.
Why is Heroku open-sourcing Twelve-Factor?
We’re open sourcing Twelve-Factor because the principles were always meant to serve the broader software community, not just one company. Over time, SaaS went from a growing area of software delivery to the dominant distribution method for software. Concurrently, IaaS overtook data centers for infrastructure. The cloud is now the default.
At the same time the technology landscape changed. Containers and Kubernetes have done to the application layer what virtual machines did to servers and have spawned huge ecosystems and communities of their own focused on a new layer of app and infrastructure abstraction.
With these in mind, we looked at how to drive Twelve-Factor forward; to be even more relevant in the decades to come. Collectively we in the industry, end users and vendors, have learned so much from running apps and systems at scale over the past decade. It is this collective knowledge that we need to codify to help the next wave of app teams be successful. The 12-Factor App movement is bigger than one company and to open it to an industry conversation, we are open sourcing it.
When I wrote Twelve Factor nearly 14 years ago, I never would have guessed these principles would remain relevant for so long, but cloud and backends have changed a lot since 2011! So it makes sense to turn Twelve-Factor into a community-maintained document that can evolve over time.
Adam Wiggins
Heroku Founder, now GM of Platform at The Browser Company
What does this mean for Heroku? We will continue to support Twelve-Factor as part of the community. The Heroku platform has always been an implementation of the Twelve-Factors to make the act of building and deploying apps easier, and this will continue to be the case as the Twelve-Factors evolves; Heroku will evolve.
We invite you to get to know the project vision, meet the maintainers, and participate in the project. Read more about the project and community on the Twelve-Factor blog.
- Originally Published:
- best practicesopen sourcetwelve-factor