Building distributed systems can get complicated. So can building a monolithic one, to be fair. But the difference is most of us choose more complexity than we need by going distributed. Any experienced developer or architect will tell you that most people actually don’t need to embrace microservices entirely. All the ones I’ve spoken to
We live in an age where massive scale, Internet-facing systems like Google, Amazon, Facebook and the like are engineering icons. They handle vast volumes of requests every second and manage data repositories of unprecedented size. Getting precise traffic numbers on these systems is not easy for commercial-in-confidence reasons. Still, the ability of these sites to
Data consistency is hardest part of the microservices architecture. Because in a traditional monolith application, a shared relational database handles data consistency. In a microservices architecture, each microservice has its own data store if you are using database per service pattern. So databases are distributed among the applications. Each application may use different technologies to manage their data like
Serverless Architecture is a term that has been getting a lot of attention lately. Naturally, technical leaders are looking to come up to speed on the concept and are evaluating how best to make use of it. The first order of business is to understand what Serverless Architecture is. That prepares us to explore the
A Microservices architecture makes it possible to isolate failures through well-defined service boundaries. But like in every distributed system, there is a higher chance for network, hardware or application level issues. As a consequence of service dependencies, any component can be temporarily unavailable for their consumers. To minimize the impact of partial outages we need to build fault tolerant