Cloud Computing and Virtualization is more of an evolution rather than a revolution. Strictly speaking an enterprise can achieve all the services of the what Azure or Amazon Web Services provide (speaking just of the product portfolio for the sake of argument). However costing and management of those infrastructure could be out of the enterprises’s scope.
Tech biggies like Microsoft, Amazon, Google, Yahoo! were using the automatic infra structure management based on demand. They had equipped themselves to do so, but opening or providing the same feature set or power the same to other organizations or individuals just made the difference. Cloud providers manage the infra, by extension; others can concentrate on their core business instead of worrying about the network, server etc. The analogy point here is do you run your own Nuclear or Atomic Power station to electrify your home? This is the same idea behind the cloud as well.
Speaking about the feature set of the cloud. AutoScaling / On demand Scaling is something which enterprises had never before imagined such thing could be a reality. Thanks to virualization.
Schemes of Cloud Scaling
Scale Out and Scale In are the 2 main schemes of scaling or expansion.
|Multiplying or Increating the same / similar compute or infra behind a common entry point like load balancer||Enlarging the existing server / infra with more computing power|
|Example : Making 1 Web Server as 5 Web Servers behing a load balancer||Example : Making 1 Small Instance server as 1 Large Instance Server|
|Easy to Implement provided the application is architected for the scaling||Direct Scale Up with precautions involves downtime|
|Aimed at High Availability, Ease of Scaling and Overall are performance tuning||Aimed at High Performance, Process Intensive Applications|
|Auto Scaling Means, increasing or decreasing the server / infra count||Concept of auto scaling doesn’t make sense and it more like upgradation|
|More Server / infra means, probablity of failure is minimizing||If done with single instance, the problem of single point of failure doesn’t get solved.|
|Done in the use-cases of enterprise applications, blogs, ERP, CRM etc.||Done is the use-cases of process intensive application|
|More Common||Less Common due to its speciality|
Illustration of Scale-Out vs Scale-Up
|Scale-Up vs. Scale-Out|