Kubernetes Part - II

Microservices....

  • In functionality having an separate service application will be more flexible and those services were loosely coupled, then we can able to easily deploy the application into production. and also if you want to change or an bug fix in a separate service you can able to fix and deploy it on server, because they are independent applications.
  • also each microservices has own it's DB, and if you are deploying an monolithic application you need to build and deploy the whole code into server and it takes some time, but in microservices has separate service/application so easily build and deploy in few mins, also each service can run with different languages, like business layer is written on spring and roue services were write at angular, like that we can write different languages.
How to convert an Monolithic to Microservice Application....?
    At first you need to break your monolithic application into major services, like consider you have 10 services that currently running in a single application but to convert this into microservices, split into 2 parts one with 5 and another with 5 or max and min model, launch like that with two or three services which will cover your 10 services entirely, now later migrate it into single services and 10 individual services. so based on your design split your application.

Cons..
  1.     Domino Effect, this will play a major role in microservices architecture, like if one service has failed, then if other service has it's dependency will end up with error, even if it's an daily job run service has been down, consider it will bring the user data and update it in your common DB, then the other services was not able to give the proper data to the user.
  2. There are some security risks, while routing and hit the API, need to apply more security features and encryption need to applicated between each services.
  3. The Application complexity will be too high..
  4. To test eh entire application will be tough.
  5. In some cases need to maintain multiple database.
  6. while routing or transition the latency will play a major role.
But it having some high cons, but in general while comparing to Monolithic architecture it is high flexible architecture, because to resolve an error in this architecture we can find easily in which module.


Comments