Why Microservices?

I have a few tidbits about why to use microservices and why it makes sense to create few microservices as a side project and learn from the same
Software Development
by Jey Geethan | December 16, 2022

A lot has been said on why you should use microservices in the internet, that said, I look at it from a practical point of view and give you a very basic idea why we should use microservices and stop monoliths from becoming huge mountains of code in the future.


Advantages

  • Simpler codebase(s) - Multiple projects with simpler code to maintain.
  • Single responsibility - The microservice has a single responsibility and moves the developer from the mindset of developing everything together into separating multiple functional aspects into separate codebase.
  • Test coverage naturally increases - since the codebase becomes smaller, the code coverage increases and bugs are figured out earlier in the development lifecycle.
  • Readable codebase - Smaller equals precise and more readable and understandable. You have to understand this is different from simpler codebase because readability is a different aspect in itself.
  • More power to the developer - Developers can choose and implement their own languages or databases as long as the other teams can also chip and debug if necessary. So developers get more freedom to do what they want to do - code away!
  • Time taken to develop each microservice becomes less.
  • Change is less expensive to implement - As the services are small and easily readable and created within days and weeks, the changes to the same codebase becomes really less and better to make those changes and deploy them easily
  • Versioning becomes mainstream - incase of APIs, microservices make you follow versioning and it becomes the first nature of developers to implement versioning in their endpoints/REST api endpoints so that other microservices can still depend on the old endpoints. This helps in making versioning an explicit way of programming with microservices.

There are other reasons as well, but the above summarizes why you would need microservices and you can depend on the microservices to build your next project/sideproject. There are complexities as well in orchestrating the microservices, but I will work on them as a post at a later point of time.



Related Articles

Top 5 Tips for Software Development Managers To Conduct Effective 1 on 1s With Your Reports
Software Development

Top 5 Tips for Software Development Managers To Conduct Effective 1 on 1s With Your Reports

by Jey Geethan | October 05, 2020
Some of the effective tips that can enhance your 1 on 1s with your reports. In 2020, software development is one of the major industries which provides millions of jobs. In fact, if you look at the statistics, this industry is poised to grow even further. According to Slashdata, it's expected to reach 45 million developers by 2030. As a manager, it's your responsibility that 1 on 1s are effective and help your reports. I want to talk about a few of the things that make this process really effective.

Ruby on Rails - Complex route constraints made easy
Software Development

Ruby on Rails - Complex route constraints made easy

by Jey Geethan | March 31, 2019
In Rails, we know that the routes are the most important entry-point where we define the which url hits which controller. We also know how to define the resources and add some conditions to the routing.