Designing Modular Systems poses the critical challenge of determining which services should be deployed together in the same process and which should be deployed separately.
Sometimes, you want to maintain a modular development approach, like in microservices, while opting for a monolithic deployment to optimize performance, reduce costs, or simplify infrastructure complexity.
There are also cases where a service needs to be deployed in the same process with others to maximize performance and at the same time in another process, for other clients, to ensure reliability and availability.
Sometimes, we cannot anticipate this at all and we’d want the flexibility to change it based on usage metrics collected while the system is running.
In this session, I will present the design solution to these challenges. I will show real-life project examples of how to achieve the flexibility to decide only at deployment time, without changing the code, which services communicate in the same process and which use inter-process communication. I will also do a code demo on how it works.
Florin is an accomplished Software Architect and an engaging Technical Trainer with two decades of hands-on experience in complex software development.As the founder of Code Design, he is at the forefront of restoring a focus on robust software design within the industry and ensuring predictability in software development projects. Florin’s courses contain the hard learned lessons he gained in his...