Microservices is a hot topic these days. Everybody wants to create applications using microservice architecture.
What are #microservices? 🧵⬇️
Software installed on your computer are traditional apps. When developing a traditional app, a single coding project is created and code is added with functionality to output a single app. Having a single app is called a monolithic application.
1/
Why did we need to change from monolithic applications?
1. It was difficult to deploy large applications
2. They are complex to scale
3. It makes it difficult for developers to work together
Microservices were introduced to overcome these challenges.
2/
In order to easily understand the concept of microservices architecture, let’s borrow an analogy from the automotive industry.
3/
Manufacturing a car used to be a monolithic operation. A single person/team built all the vehicle parts. This made production slower & less efficient. So they switched to a distributed model with more teams involved in developing each part separately.
4/
The new approach led to:
1. Increased agility and reusability.
2. Faster production of vehicles.
3. A fall in redundancies.
4. Production of parts with higher quality and efficiency.
5/
Similarly, #microservices are a way of breaking your app down into standalone independent services that can be run on different hardware/server instances. In our car scenario, the car is the software product, and each part of the vehicle acts as a microservice.
6/
You now don’t have one app to build and deploy, you have several mini apps responsible for doing small functionalities that need to be built and deployed separately. And they are brought together at runtime to complete the application.
7/
The benefits of Microservices:
Flexibility: Each team can focus and excel on building their services.
Easy maintenance: Faulty components can be replaced without impacting other components.
Flexible scaling: Required components of the system can be scaled independently.
8/
The challenges with Microservices:
Complexity - Communication between services can be complex.
Discovery - Service discovery needs to be well planned.
Skill - You will require skilled development teams who understand and manage all the services.
9/
When managed correctly, microservices can be the agile remedy to the complex monolithic architectures that often drain the time and energy of their companies and employees.
Share this Scrolly Tale with your friends.
A Scrolly Tale is a new way to read Twitter threads with a more visually immersive experience.
Discover more beautiful Scrolly Tales like this.
