Monolithic architecture-based systems existed before the SOA or Microservices movement. These types of systems are exactly the opposite of what SOA tries to achieve.
A typical Monolithic system is an enterprise-based application, and this application might be in the form of a large website with all the working modules packaged in together into one single package, or it might be in the form of a service which talks to a website. It might be packaged as a large executable that is deployed on a machine.
In these systems, we added different components to an application to keep growing; there's no restriction in size, and there's no division. There's always one package which contains everything, and therefore, we end up with a large code base.
The high-level architecture diagram of a Monolithic system would look as follows:
![](https://static.packt-cdn.com/products/9781786463951/graphics/assets/5c3624ff-fa30-4027-a2d3-504e16b06bfa.png)