Survival in the cloud: A shared environment, such as virtual servers, may not be what is best for you
Jonathan - Engineering
Do you like control? You don't like it when your public cloud provider announces a maintenance window and you have no control over that?
We get it. No one likes downtime or forcing you to reboot your virtual servers. But the "cloud", whether it is ColossusCloud or AWS/Azure/Google/etc., needs maintenance.
Every once in a while, we are all forced to reboot hypervisors (the physical servers that host your virtual servers) to install software updates, security patches, because we suspect possible hardware failure or just simply something goes plain wrong.
Each hypervisor can host dozens or hundreds of virtual servers. It is, after all, a shared environment. It is not fully yours.
And when such a maintenance needs to be performed, you have no choice. You will have downtime and you can not schedule that with your provider to a time convenient to your operations. Why? Because there may possibly be a hundred servers in the affected hypervisor, and all those clients would want different times and date convenient to them.
We do hear often something like "we can not have one single second of downtime!". But if that is how you feel about it, then virtual servers in a shared environment is not the solution you seek.
Let's take as an example the recent vulnerabilities on Intel CPUs, known as Spectre. These security vulnerabilities could potentially give a "hacker" access to the lowest level of the hypervisor, allowing this "hacker" to cause damage to your virtual servers.
All providers of virtual servers were forced to reboot hypervisors to install patches to these weaknesses (and we guarantee you that more vulnerabilities will be announced). In fact, as of the writing of this article on November 2018, we are still dealing with ramifications of those Intel security vulnerabilities.
In a shared environment, you have no choice.
However, with your own dedicated servers, fully yours and under your control, you set your own schedules and do as you please.
We always recommend a hybrid environment for our clients. Use dedicated servers for critical systems or applications that are CPU/RAM/Disk intensive, and public cloud, such as ColossusCloud for other less intensive uses.