Microservices


You may have certainly come across this term, and may be curious what exactly it refers to. Okay I would say, this mainly refers to an architecture, which is used in developing software applications.

It’s more like implementing specific use cases, independently. That is the software is being decomposed into independently deployable, simple services that could cater a specific business need.

Microservice Architecture


These components may use different languages, technologies, frameworks etc. and finally can communicate each other via well-defined interfaces, or rather APIs. That is they communicate each other in a loosely coupled way.

This I would say, is ideal for large applications, providing better agility in the long term software development process. Especially when working with large teams, so now you can assign certain features of the app to certain team members. Also can scale fast unlike the monolithic architecture. 

If not for micro services, how can people like you and me would ever try to learn the code base of which something previously built? Because, this is very easier than learning/adopting to a monolithic code base.

As you see this is completely the opposite of the traditional way of developing a software application, where all the components of the software are interconnected and interdependent (i.e. in a tightly coupled architecture), also known as monolithic architecture.

APIs vs. Microservices


I would strongly say that APIs are not microservices.

By definition an API is an interface, built for the communication between 2 software components. While microservice architecture refers to break down of a software into smaller software components. Hence an API even could be an interface that expose the functionality of such components. And therefore they are 2 different concepts.

Comments

Popular posts from this blog

What is an API?

API Gateway