The place where your application is deployed and the deployment topology also plays a significant impact on the scalability of the system. For example, if you have deployed code on physical systems in a datacenter, then scalability is limited to how often can you procure hardware. The implications are as follows:
- The deployment is not elastic: you cannot scale up and scale down easily within minutes.
- You cannot scale cost easily: Hardware comes with specific quantum of capacity and cost. Also, if you want to scale down, then you cannot get back the cost of the hardware easily.
In contrast, in a cloud environment such as Amazon Web Service (AWS), you can spin up, compute, and store resources of fine-grained capacity on demand. You pay literally for the exact time you are using the resources. In addition, they have auto-scaling capabilities, which automate...