Monolithic architecture
When a system is designed organically, the tendency is to generate a single unitary block of software that contains the whole functionality of the system.
This is a logical progression. When a software system is designed, it starts small, typically with a simple functionality. But, as the software is used, it grows in terms of its usage and starts getting requests for new functionality to complement the existing ones. Unless there are sufficient resources and planning to structure the growth, the path of least resistance will be to keep adding everything into the same code structure, with little modularity.
Figure 9.1: A monolithic application
This process ensures that all the code and functionality are tied together in a single block, hence the name monolithic architecture.
And, by extension, software that follows this pattern is called a monolith.
Although this kind of structure is quite common, in general, monolithic...