Software Architecture Complexity
How to build simple software architectures instead of creating complex architectures that are hard to understand, maintain and operate?
Occurrences
Microservices Envy
Term coined by ThoughtWorks: Microservice envy (Technology Radar)
Microservices has emerged as a leading architectural technique in modern cloud-based systems, but we still think teams should proceed carefully when making this choice. Microservice envy tempts teams to complicate their architecture by having lots of services simply because it's a fashionable architecture choice. Platforms such as Kubernetes make it much easier to deploy complex sets of microservices, and vendors are pushing their solutions to managing microservices, potentially leading teams further down this path. It's important to remember that microservices trade development complexity for operational complexity and require a solid foundation of automated testing, continuous delivery and DevOps culture.
How to manage architectural complexity?
Sensible default practices
One of the benefits of sensible defaults is that they can guard you against the allure of novelty and hype.
Starting out with sensible default practices | Thoughtworks
Embrace the monolith
Prefer simple solutions
Rich Hickey β Simple Made Easy
In defense of simple architectures (HN)
I'm a programmer and I'm stupid
πReferences
Why embracing complexity is the real challenge in software today | Thoughtworks