The main problem of classic monolith applications is that over time they become too complex and difficult to support. Implementing and releasing new functionality can take too much time, because all parts of an application should be tested and integrated; adding or updating some feature may lead to exceptions in other parts of the system.

Microservices and cloud-native approach can solve these issues. Having an architecture based on microservices means that a system consists of multiple separately deployed units (microservices) built in accordance with their business functions. This approach is not only an architectural design, but is also an approach for development leading to maximum build and test automation.

The benefits of microservices:

The system consists of multiple microservices, which can be updated and deployed separately. It is also easier to make changes in these applications—they can be tested and deployed faster than the whole monolith app. Flexible scalability of the system, which is divided into multiple apps that are deployed separately. Each of the microservices can be scaled independently from other services. The microservices approach introduces maximum automation of the testing and building processes.

However, re-platforming is not that simple. There is a set of challenges that should be solved during the process:

finding the right way to split the system into microservices

providing communication between microservices

updating microservices

addressing failover of the system

implementing load balancing

enabling authorization

ensuring security

The main goal of this video is to share our experience in the re-platforming process. During this webinar, we will explain its main concepts: how to start the process correctly and prevent major mistakes.