Microservices Architecture
Traditionally, developers created large monolithic architectures. This means a single monolith had all the code for the application. This can become a problem as more features are added to the application or when the traffic for the application increase.
So, to handle a big application in a sort of divide and conquer way, an architecture pattern emerged called Microservices Architecture Pattern.
Basic idea is that a big application is simpler to build and maintain if it is broken down into small pieces, but they work seamlessly together. These "pieces" can be developed in different programming languages and can be singly deployable. They all have some kind of interface or an API which is used to communicate with other microservices.
For example, in an IoT system, there can be multiple microservices like device management, authorization service, user interface, database, etc.
