Independent scalability

If we need to scale a monolithic application, the entire system should be deployed on different servers. The servers should be really powerful to allow the application to perform well. Not all of the features have the same traffic, but since all the code is bundled as a single artifact, there is no way to scale only the desired features. With microservices, we have the freedom to scale only what we need. It's common to find cloud providers offering the chance to scale an application by provisioning more servers on demand or adding more resources automatically when they are needed.