What are benefits of Monolithic Applications?
- Easy to test as a single unit.
- Easy to deploy as a single unit.
- Easy to scale.
- Easy to manage changes.
- Easy to manage versions.
What are the challenges of Microservices?
- Multiple services to manage
- Sophisticated Monitoring: Required to monitor multiple services
- Design services for failures
- Latency, as now services will call each other over network
- Embracing DevOps Culture
- Chances for cyclic dependencies: which needs to be identified and resolved
- Transactions can go over multiple services
- Sometimes features span multiple services
- Multiple services are required to be tested together
- Version management
- Fault Tolerance: One service shouldn’t bring down the complete system