What is Scaling in the Cloud? – describing the technology in simple terms.
One of the most attractive features of cloud computing is the ability to scale. Scaling refers to a transformation that enlarges or diminishes. There are different ways to accomplish scaling. One is vertical scaling and the other is horizontal scaling.
You may be curious what the difference is between the two?
Vertical scaling is ‘on-the-fly’ resizing of your server with no change to your code. Its purpose is to increase the capacity of existing hardware or software by adding resources. Vertical scaling is limited by the size of the server.
Horizontal scaling is the ability to connect multiple hardware or software entities, like servers, to work as a single logical unit and cannot be implemented instantaneously. As the name suggests it allows systems to scale wider to deal with higher volumes of traffic.
To use a real-world example to explain let’s meet Ted.
Ted Owns a widget business and owns premises to store his widgets.
Ted orders widgets from his supplier and stores the widgets on his 10 x 10 shelf. The most widgets he can store is 100. When Ted sells widgets he regularly orders more stock, so the number of widgets Ted has in stock increases and decreases below the maximum number of 100, and life is good.
One day there is a rise in the popularity of widgets and Ted wants to increase the number of widgets he keeps in stock, but there is nowhere to store the extra widgets. Ted must buy extra storage shelves for his widgets, he has space for another 10 x 10 shelf, so he adds it next to the first.
This is your cloud environment, where you can add more hardware to the existing machine (RAM and hard drive space) but you are limited to the maximum capacity of the actual machine.
Imagine that now Ted’s widget business has really taken off, there is no more space to add extra storage, so Ted needs to build another building to add more storage racks – this will take time to physically build. Just like scaling your cloud horizontally, you add additional machines to your environment (scaling wider).
Hopefully, Ted and his widget business have helped you understand scaling in the Cloud.