Monolithic architecture vs. microservice architecture
In monolithic architectures, software is conceived as a single entity, a single project, developed with a single programming language, and distributed in a single package. In fact, all processes are tightly interconnected and run as a single service. Every single change involves the redistribution of the entire application.
With a microservice-based architecture, an application is built from independent components that run each application process as a service. These services communicate through a well-defined interface using APIs. Services are built for business functions, and each microservice performs only one function – a company’s business needs will define the scope and number of microservices needed. Because they run independently, each service can be updated, deployed, and scaled to meet the demand for specific functions of an application.