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.
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
Post a Comment