A monolithic software application is one in which all of the necessary components are delivered by a single solution. Unlike microservices, the individual components cannot be decoupled and scaled or replaced at an application level. This means it can be more difficult to make quick changes or scale individual applications because anything you do affects the whole system.