The current microservices architecture was primarily motivated by the requirement to support externally hosted engines. This requirement has proven to be unnecessary. The architecture adds a lot of complexity to the development, maintenance, and deployment of Serval. Since the original requirement is no longer needed, it now makes sense to move to a modular monolith architecture. Rearchitecting Serval will provide the opportunity to improve Serval in other ways, such as moving from a layered to a vertical slice architecture.
The current microservices architecture was primarily motivated by the requirement to support externally hosted engines. This requirement has proven to be unnecessary. The architecture adds a lot of complexity to the development, maintenance, and deployment of Serval. Since the original requirement is no longer needed, it now makes sense to move to a modular monolith architecture. Rearchitecting Serval will provide the opportunity to improve Serval in other ways, such as moving from a layered to a vertical slice architecture.