Monolithic architecture
A monolithic architecture is one in which a software application is designed to work as a single, self-contained unit. Applications that have this type of architecture are common. The components within a monolithic architecture are interconnected and interdependent, resulting in tightly coupled code.
The following diagram shows an application with a monolithic architecture:

The different concerns of an application, such as user interface, business logic, authorization, logging, and database access, are not kept separate in a monolithic architecture. These different pieces of functionality are intertwined in a monolithic application.
Benefits of a monolithic architecture
Despite some obvious disadvantages to using a monolithic architecture, if an application is relatively small, then there are benefits to using one. Applications with a monolithic architecture typically have better performance. With the interaction between the machine running the application and other...