Upgrading and Splitting Monolithic Systems
The Xebia team designed and implemented several strategies to decommission the monolith, transitioning to a purely micro services-oriented architecture, and providing the proper level of isolation, scaling capabilities, and resilience. The new architecture allowed us to use different inter-service communication protocols like sync HTTP, RPC, or async AMQP protocols, depending on the specific challenge or problem. Additionally, those changes include creating back-pressure to prevent underlying services from exhausting and implementing isolation bulkheads and timeout mechanisms to deal with slow downstream services and to avoid system degradation.
In addition, while focusing on critical systems development, several solutions were proposed that could be exported to other areas, serving as the standard for the rest of the organization for microservices development, including documentation and best practices.