2042 views • Designing μ-services
Everyone’s talking about Microservices, but what exactly are they? Are they just a set of functions hosted over a network or something more?
Microservices in simple terms are like the regular functions from our programming language but just a more extensive set of responsibilities and served via a network.
So, you may have a microservice that handles everything related to Payments, a service that handles Notifications, and a service that deals with analytics. We see each service having focussed responsibility.
Microservices are no silver bullet, and they would not magically solve all the problems you have. It has its own fair share of drawbacks.
Almost all products start monolith where every feature is put into a single codebase which is deployed as one artifact across all the servers. For example, the code handling payments, notifications, and analytics are all part of the same codebase deployed within the same binary.
Monoliths are always simple to build, develop, test, and scale. Given their simplicity, they are the go-to option for anyone starting up. With a lean team working on monolith would ensure very quick feature delivery.
Migrating from monolith to microservices is a slow process and to start you would club a related set of functions and fork out a service out of it. The process would be repeated for other sets of functions, eventually breaking the entire monolith.
If you like what you read subscribe you can always subscribe to my newsletter and get the post delivered straight to your inbox. I write essays on various engineering topics and share it through my weekly newsletter.
2225 views • 114 likes • 2022-07-04
As your application evolves, supporting multiple types of clients like Desktop, Mobile apps, etc becomes tricky. The bac...
850 views • 50 likes • 2022-06-27
Running microservices in isolation does not make any sense. To get something done, multiple microservices need to talk t...
856 views • 35 likes • 2022-06-20
An engineer working on Microservices should not only just focus on engineering; there are so many other aspects to look ...
631 views • 27 likes • 2022-06-17
We all love creating microservices, but what if every team creates its own microservice uniquely and uses its own conven...
A set of courses designed to make you a better engineer and excel at your career; no-fluff, pure engineering.
Being a passionate engineer, I love to talk about a wide range of topics, but these are my personal favourites.
Arpit's Newsletter read by 17000+ engineers
🔥 Thrice a week, in your inbox, an essay about system design, distributed systems, microservices, programming languages internals, or a deep dive on some super-clever algorithm, or just a few tips on building highly scalable distributed systems.
Powered by this tech stack.