Until virtualization and cloud computing came around, scaling meant increasing costs, paying for idle time and using a great deal of resources in terms of hardware and manpower.
Thankfully, with Infrastructure as a Service, that’s a thing of the past.
We are used to throw this term on a daily basis but let’s go back a little and explain what does it mean exactly.
Scaling refers to the extension of a resource to match a given demand. But that’s just some vague definition that actually could apply to a website that’s handling a certain amount of users, a database processing queries or any other application that needs to grow.
There are a lot of technics, caveats, guidelines and whatnot that we could not possibly explain in this tiny article so let’s concentrate on two major ways of scaling: horizontal and vertical.
Horizontal scaling means duplicating resources and using tools like load balancers, proxy servers and firewall rules, that redirect requests to a pool of resources so they don’t get depleted. The more requests there are, the more servers need to be added to that pool. For instance, imagine a website that suddenly needs to grow, you could add another server with the exact same website and put a load balancer in front of them, effectively increasing the request throughput.
Vertical scaling means increasing the capacity of a specific server, in terms of memory, cpu or even disk processing so it can handle more requests at any given time.
Fortunately for you, vertical scaling in City Cloud is as easy as a couple of clicks.
Vertical Scaling on City Cloud
No really, a couple of clicks is all what’s needed to increase the capacity of a server. And the best way to show this is with an example.
On City Cloud, you usually create a server with the “Small” profile, which has 1 cpu core and 512 MB of RAM. Great for small servers but not that great if demands start to ramp up.
Once this server is running, you just need to turn it off, go to the Powered-off VMs section, select the details box on the corresponding virtual machine and change the “Hardware Template” combox box to the one fitting your needs.
After that, you just need to turn it back on. And that’s about it! Your server will immediately use the corresponding profile capabilities. For instance, the “Large” one has 4 cores and 4 GB of RAM. So we went from 512 MB to 4 GB in under a minute.
You can repeat this process as many times as you’d like, you can also go back to a smaller profile if you need to.
For a full reference on profile capabilities, you can check out this page.
The benefits of this approach are obvious. Since you pay by the hour, you could scale up to more memory and processors for a day, handle the increased traffic and then go back down.
The ability to go from 1 core to 8 cores and from 512 MB of RAM up to 16 GB gives you unprecedented flexibility and best of all, your cost will not increase dramatically if you are careful.
Next time, we will show you a more complex way of increasing your resources, we are talking about Horizontal Scaling. Both methods are not mutually exclusive and have their own scenarios where they can shine.