Moving away from monolithic architecture : design and implementation - Liu, Yanjun (2020)
Many applications are using server-side architecture monolithically as it is the easiest way to make a minimum viable product. However, along with the user size grow, some performance issue may arise that cannot be easily resolved with the limited scalability. Monolith also slows down the development due to many developers working on the same codebase. Microservices has been a hot topic during the last decade. It is an architecture that brings the benefits of agility, high scalability, availability, observability, independent deployability to the system. Nevertheless, the main challenge is how to adopt microservice architectures into an existing monolithic application. The key idea in this paper is to analyse different architecture design patterns in order to migrate to microservices architecture incrementally. For this purpose, the paper includes an introduction of different application architectures, different microservices design patterns with a real-world example. As a result, demonstrate the tools and patterns that have been selected for transformation planning. None of the architecture is a silver bullet for every problem. It is vital to design an architecture that fits the specific use case.