When dealing with a Cloud Architecture the ability to scale out becomes available by adding computational resources to process job queues. The application’s work load is divided across a number of servers who each process a job or set of jobs retrieved from a queue.
What you lose in the power earned from Classic Architecture you gain in power though parallelism and cost saving through flexibility in Cloud Architecture. In Cloud Architecture, when more resources are needed more servers are added and when demand has been met and those resources are no longer needed they are removed.
This type of resource management is powerfully meaningful from a cost perspective when the process of scaling out and back is automated.
Classic Applications are usually comprised of three core components. The Web Application, a Document Storage System, and a Database System. In the Classic Application Architecture model these components are distributed across one or more servers.
When resources become maxed out on these servers new hardware must be added to meet the demand. This is called Scaling up because you scale up your hardware’s specification to meet the demands of your application’s requirements and will probably lead to big servers, slow servers, or high maintenance costs, so it’s not very flexible or efficient from a resource management perspective.
But this is fine actually because this resource management model is perfectly well suited to clients who can accurately predict their usage of an application and have adequate resources to hand.