To reduce coupling and increase cohesion, and to be flexible wherever possible to inject
Any system depends on many things below it. Know what they are.
Ability to change decisions outweigh the importance of the decisions
System Architecture Notion
Structuring your Infrastructure as Code | lbr.
If you’re thinking of migrating to another infrastructure as code tool (and why would you, everything is great in the IaC world now, right?!) you might find yourself asking yourself
Flexible systems | Organizing Chaos
Most decisions that you make are not nearly as important as your ability to change them in the future. When designing systems, it’s easy to get caught up in the minutia of each decision that has to be made along the way. Technical systems may raise concerns about choosing the appropriate logging framework or determining the most effective concurrency model. Human systems may instead be concerned with how many meetings to hold, with whom, and how often.