Microservice
Web application to microservice
People think for new architectural view for web applications like Microservices.
Let’s see about Web application into microservices.
Monolithic applications
It has single executable file for your entire application. Sometimes, this may not be executable but the main thing is the entire applications packet into one file.
For example : Car renting system has applications like UI application, Customer registration, car registration, billing process. This all applications will be zipped as a one file then it is called as monolithic application.
It has advantages as well as disadvantages.
If you change simple thing in one application where you need to send entire file. because of testing , performance test and putdown and send it to offline to release new version.
If you consider it maintain huge code base. If we need to debug there it is really hard.
Deployment process- Traffic
So all need to work entirely whole day.
Advantages
- Easy to test.
- Easy to monitor.
Because It is a single file.
Let’s go through the Microservices.
Microservices is not a service oriented architecture. It carry features of service oriented architecture. It doesn't have exact definition. Based on practice and architectural view we can understand.
Get Vetharsana Thangarajah’s stories in your inbox
Join Medium for free to get updates from this writer.
Let’s see the characteristic of Microservices.
- It has dedicated purpose of living. It is domain driven development. It has to have a exact define scope.
- Run own processes.
- Microservices can communicate in light way with mechanism. Mostly with HTTP.
- Should be able to scale and deploy independently.
- We need to maintain decentralized control as much as possible.
Base line for microservice is ‘Do one.. Do it well.’ Example : Unix commands — ls , ps , touch
If we consider independent scalability of Microservice.
Applications should be able to out through X-axis (means use more than one instances if one is not enough)
Z-axis — should be able to shady(database shady)
Y-axis — should be able to functionally decomposition.
Main point of microservice is need to maintain right balance in microservices to communicate the services. it get latency. Otherwise project will be failed.
How can we develop microservice applications?
- Language can be chosen by us.
- Consider domain driven design(make sure this service not depend on other factors. )
- Don’t try to reinvent the wheel.
- you built it. you own it. (You are responsible for whole project and maintenance)
Advantages
- If protection issue comes , team know what happens. So It is easy to figure out.
- Even though it is complex, service is isolated.
- Service can scalable.
- It is very easy to migrate to different languages.







![System Design Interview Series:3/30[Back-of-Envelope Estimation]](https://miro.medium.com/v2/resize:fit:1358/format:webp/1*xgLXa5l3deDFviuJtxrtqA.png)