Microservices allow to decompose a monolithic application into cohesive and multiple decoupled services. Each service is running in its own process and communicate using lightweight mechanisms, such as HTTP API. These services are built around business capabilities or functional decomposition. Microservice also enables true polyglot architecture – both in terms of language and data. It truly allows you to employ the right tool for the right job. Each service is independently deployable and lends very well to fully automated deployment machinery.
Can you take an existing Java EE application and decompose it into microservices? What tools are required to enable CI/CD? How does it enable polyglot? What are different design patterns for microservices? What options are available for Service Discovery, distributed logging, load balancing? What tools do you need to manage such services? Is the complexity being pushed around from service implementation to orchestration?
This session will explain how to refactor an existing monolith into microservices and the complexities and benefits it introduces.