Luis Hernandez
lhernandez@nearsoft.com
DockerHub-GitHub: /luishvz
It comes when an application is broken down into smaller, composable pieces which work together.
Microservices are a contrast to a traditional, "monolithic" application which is all developed all in one piece.
Agility and productivity:
Teams can build, deploy, and test it independently of other components in much faster iteration cycles.
Scalability:
The microservices development team can scale the component at run time independently of other microservice components
Monolithic
Microservices
Resilience:
The separate run time immediately provides resilience that is independent of failures in other components.
Complexity:
Requires big knowledge in architecture patterns to build and connect everything in the right place.
Over-Design:
Sometimes is difficult to define exactly what a microservice means in terms of bussiness logic or functionality.
Integration Testing:
When it comes to test the scenario of all the services working together it can be a situation a little bit difficult to handle.