When to Use Microservices Architecture
1. Make Sure You Have a “Really Good Reason” for Implementing Microservices
2. Iterate with Small Changes and Keep the Single-Process Monolith as Your “Default”
3. Required to Independently Deploy New Functionality with Zero Downtime
4. Required to Independently Scale a Portion of Application
5. Required to Data Partitioning with different Database Technologies
6. Technology Diversity
7. Required to Autonomous Teams with Organizational Upgrade
When Not to Use Microservices — Anti-Patterns of Microservices ,
1. Don’t do Distributed Monolith
2. Don’t do microservices without DevOps or cloud services
3. Limited Team sizes, Small Teams
4. Brand new products or startups
5. The Shared Database anti-pattern