Why Are Software Engineers Quitting Microservices?
Microservices
Microserices: Poorer Choice for Small Teams
I’m pretty sure everyone knows why.
- Designs are complex
- Microservice is for scaling and not small projects
- Small projects are not complicated
- monolith = coupled
- less network traffic
- usually better performance
Microservices has to be deploy-able without needing to test integration testing.
Microservices are:
- Small
- Focused on One Task
- Aligned with Bounded Context
- Owned by Autonomous Teams
- Independently Deployable
- Loosely-Coupled
Need to think about decentralized data management and deployment.
- Need to preserve a difference or at minimum a potential difference between its internal representation of the service and its external contract with other services.
- Slower
- Call across a network and this cost is dramatically higher than any local in process core.