If the application is complex and large, it will be challenging to incorporate any new changes in it because all the modules are interdependent.
Since all the components are combined into a single program, which increases the size of an application. This can slow down the start-up time.
For any new update, we need to redeploy the entire application.
If there is a bug (e.g memory leak) in one of the modules, it can potentially bring down the entire process. Also, since all instances of the application are identical, that bug might impact the availability of the entire application.