What are the downsides of the microservices approach?
Microservice architecture provides flexibility and scalability, but it complicates the development and maintenance of the system. Here are its main downsides:
1. Complex infrastructure
Each service is a separate application with its own database, API, CI/CD, and monitoring. For dozens of services you need containerization, orchestration (Kubernetes), and a mature DevOps environment.
2. Communication complexity
All interaction happens over the network. This brings latency, connection errors, and the need for retry mechanisms and distributed tracing.
3. Complex testing
To verify one scenario, you need to spin up several services and their dependencies. Integration tests become expensive and fragile.
4. Data management
Because of isolated databases, shared queries and transactions are hard to do. You have to use eventual consistency and events, which requires experience and discipline.
5. Growing overhead
More code, configuration, logging, and duplicated logic make the system heavy for small teams.
Summary:
Microservices suit large, distributed projects. But without a mature architecture, DevOps, and team culture, they easily turn into chaos made of hundreds of small, poorly connected services.
Short Answer
Interview readyA concise answer to help you respond confidently on this topic during an interview.