Benefits of Microservices Architecture
Here you can find list of benefits about using Microservices Architectures:
Agility, Innovation and Time-to-market
Flexible Scalability
Small, focused teams
Small and separated code base
Easy Deployment
Technology agnostic, Right tool for the job
Resilience and Fault isolation
Data isolation
Microservices Architecture
Challenges of Microservices Architecture
Microservices has significant benefits but also has significant challenges. Moving from monolith to microservices means a lot more management complexity. Here are some of the challenges we need to consider before applying to microservices architecture.
Complexity
Distributed System
Network problems and latency
Development and testing
Data integrity
Deployment
Deployments also a challenge, at least in initial set up. In order to make deployment easier, you must first invest in quite a lot of devops automation processes and tools. Because the complexity of microservices becomes overwhelming for human deployment. Think about how you’re going to roll services out and in what order.
Logging & Monitoring
With distributed systems, you need centralized logs to bring everything together. Otherwise, the scale is impossible to manage. It’s critical to have a centralized view of the system to monitor sources of problems.
Debugging
Remote debugging through your local integrated development environment (IDE) isn’t an option and it won’t work across dozens or hundreds of services. Unfortunately there’s no single answer to how to debug at this time.