Microservices Overkill for CRUD
We built a distributed system for a CRUD app. 8 services, message queues, event sourcing. Traffic: 50 users.
The architecture:
- API Gateway service
- Authentication service
- User service
- Product service
- Order service
- Notification service
- Analytics service
- Admin service
- Plus: Kafka, Redis, PostgreSQL, Elasticsearch
The reality:
- 50 daily active users
- ~200 orders per day
- A single SQLite file could handle this
- Infrastructure cost: $3,000/month
- Development velocity: glacial
What would have been enough:
- Django/Rails monolith
- PostgreSQL
- $20/month DigitalOcean droplet
- Ship in 2 weeks, not 6 months
Lesson: Solve the problems you have, not the problems you imagine you'll have at Netflix scale.