The challenges with MVC architecture are as follows:
- Scalability: As we still need to deploy the whole application as a single unit, MVC cannot guarantee scalability. As we cannot scale only the parts relating to performance, the application needs to be scaled as a whole.
- Testability: The testability of the application is not straightforward with MVC. Although we can test one component independently, we need to integrate all the parts before we can test one functionality end to end.