Microservices are not a Technical Solution, They’re a Teamwork Solution. The first answer to “make this more reliable” isn’t “make it a set of microservices”
Here in Expedia Group™️, we’ve developed a short 2-hour introductory session on reliability engineering. The session has a short exercise at the end with a simple architecture, and we ask the students for suggestions to make it more reliable.
Inevitably the first suggestion is to break up the large central service into microservices. It’s not surprising. Microservices seem to be touted as a benefit for so many reasons. But the answer is wrong. It’s very simple to see why. Take a set of components all working together in a service, and do nothing other than break them up into separate services so that each component is now a service communicating with the other services. All you have done is introduced many more points of failure into your system — each inter-component communication (which would have an incredibly low failure rate) has now become an inter-service network call (or at minimum inter-process call), with a much higher though still low chance of failure.
In this article, see if there are any differences between software developers and software engineers. What you’re about to read mostly revolves around my personal thoughts, deductions, and offbeat imagination. If you have different sentiments, add them in the comment section, and let’s dispute! So, today’s topic…
Companies need to be thinking long-term before even starting a software development project. These needs are solved at the level of architecture: business owners want to assure agility, scalability, and performance.
Science and Engineering in Software Architecture - We are passing through tough times, “The moment everything changed” with COVID-19, quarentine, people trying adapt their day to day…
In this article, take a look at the service mesh in the microservices world. The software industry has come a long journey and throughout this journey, Software Architecture has evolved a lot. Starting with 1-tier (Single-node), 2-tier (Client/ Server), 3-tier, and Distributed are some of the Software Architectural patterns we saw in this journey.
In this article, look at different ways to test microservices and how you can have a suitable testing strategy to begin with.