Microservices
In classical software architecture, the architecture is often layered. There is one layer for the user interface, another for the application logic, and yet another for accessing persistent data (such as a database). In classical software architecture, an application server is used, which will run the different services (such as different entry points of a web site, or different parts of the business application). The problem with this approach is that such application servers often do not scale very well, they need a lot of resources, and services are often tightly coupled.