Frameworks ensure a methodical approach to any task, they help drive stability in an already chaotic world. In software development, we need creativity, but we also need control. I am often reminded of the statement a senior made when I was fresh out of college at a new job, that is that Software development is both an art and a science.
The twelve-factor app, a methodology for building software-as-a-service. The following are goals which this framework addresses:
- declarative formats for setup automation
- minimize time and cost of on/off-boarding developers
- maximum portability between execution environments;
- suitable for modern cloud platforms
- Minimize divergence between development and production
- continuous deployment for maximum agility;
- can scale up without significant changes to tooling, architecture, or development practices.
Anyone that touches code and works in the cloud should be aware of these (12 Factor App ) principles and use it to guide their endeavors.