Some folks swear a microservices architecture is always a good choice and that a monolith architecture is always a bad choice. But is this true? And is this true for you and your product? Come to think of it – what architecture is a good choice for you and your product?
Not all software architectures are equal. When choosing an architecture, we need to consider how the code is logically broken into modules (separation of concerns), how common behavior like observability, authentication, and error handling are managed (cross-cutting concerns), how easy it is to change the system (malleability), how easy it is to test the system (testability), and how scalable and available the solution is. Each architectural pattern has its trade-offs. In this session, we’ll look at a few architectural patterns and explore their pros and cons. In the end, you’ll be able to identify some architecture patterns, recognize which ones amplify agility and which ones impede agility, and better understand what architecture is most suitable to your needs.