Let's take our traditional monolith and see what’s good with it. Let's say, our monolith has 4 modules — A, B, C, and D. Now whenever A wants to talk to B, it's very easy.
In today’s era, everyone is talking about microservices. The journey of the microservice architecture begins with a monolith. In a monolith, we are packing our entire app as a single unit, we are developing it and deploying it as a single app. A big chunk of code in a single repository, which is hard to maintain and scale. In order to handle the problems related to the monoliths, there is a common solution i.e. splitting the monolith in the number of manageable, independent services and scale them separately as and when required. These smaller services are known as microservices.
Let's take our traditional monolith and see what’s good with it. Let's say, our monolith has 4 modules — A, B, C, and D. Now whenever A wants to talk to B, it's very easy. It's just a function call as A will be able to call a public method of B as they are the part of the same app. But there exists a lot of problems with such a system like:
Therefore, it is suggested splitting our monoliths into smaller services.
Figure 1 — Splitting a monolith into smaller services
But in a distributed setup, we have to face many challenges like how will module A gonna interact with module B.
Figure 2 — Services communicating via a load balancer
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, 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.
Software writing taught me that: a well written software is a simple software.
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…