What is Architecture
A good architecture:
- allows major decisions to be deferred (to a time when you have more information). A good architecture maximizes the number of decisions that are not made.
- makes the choice of tools (database, frameworks, etc.) irrelevant.
- Plug in the simplest thing that works.
If the framework is at the center, you have no architecture at all. You have tools lying in a heap on your workbench with no concept of the thing those tools will build.
Why is this important
A well-designed architecture can greatly facilitate the speed and stability of the release process and the systems delivered.
High performance is possible with all kinds of systems when they are designed with loose coupling. This means they can be changed and validated independently from other components.
This essential architectural characteristic allows for straightforward testing and deployment of individual components. Furthermore, decoupling from hardware or other dependencies improves the system’s adaptability and robustness.
References
- Accelerate: The Science of Lean Software and DevOps - Publisher ItRevolution (ISBN 9781942788331, 2018)
- State of DevOps Report - Google