Many businesses either have implemented or claim to be implementing microservice architectures, for better or for worse. Microservice architectures give you strong module boundaries, independent deployment and independent scaling of lightweight pieces, isolation of concerns, and the opportunity to use whatever technology is appropriate for each small service. On the other hand, distributed systems inherently have higher latency and more opportunities for failure than monolithic systems, as well as higher operational complexity, so the application has to be “big enough” to justify the overhead of being distributed.
Let’s assume you have an application that justifies the overhead of being distributed, and you want to implement it as a set of microservices. The next questions to ask are where and how you should deploy and maintain your microservices.
To continue reading this article register now