2018-11-15
Why do experts still recommend a dedicated server infrastructure/private cloud over the public cloud?
Jonathan - Engineering
2018-11-15
See that uptime? It is not easy to get that with a virtual server in a shared environment.
Why? It is true in any system that the more moving parts a system contains, the more likely it will fail.
The same applies to the "cloud", or VPS service or virtual servers, however you may wish to call it. It is a very complex technology, with many moving parts that can fail.
For virtual servers to operate, and your app to run on those virtual servers, all of the following layers are required:
- Physical machines, with CPUs and plenty of RAM.
- An operating system, such as Linux or Windows.
- A virtualization layer running on top of that operating system, such as Xen, KVM or Microsoft's Hyper-V.
- A high speed network dedicated solely to accessing a distributed data storage system
- A distributed data storage system (a highly complex kind of software), which is made up of: Many physical servers with a lot of disks Physical servers to monitor the status of those physical servers with the disks A management server
- A virtualized network switch, which interacts with a dedicated, physical network made up of many switches.
- Then, your virtual servers must run special drivers to interact with the virtualization layer optimally.
- And then, your app is hosted in that virtual server.
On the other hand, when you run your app on a dedicated server, just four layers are required:
- Physical machines, with CPUs and plenty of RAM.
- An operating system, such as Linux or Windows.
- SSD disks, preferably managed by a hardware RAID PCI Express card.
- And then, your app is hosted in that operating system.
That's it.
On top of that complexity, because virtual server hosting is a shared environment, many reboots per year are required to install patches and security updates so that a "hacker" can't break into other virtual servers in the same platform. In a non shared environment, you can install updates only if you wish to.
Some people might say "but a dedicated environment is a single server. What happens if something goes wrong with it?" The truth is, a Enterprise level server from a quality vendor, such as SuperMicro, will easily run 10+ years with no failure whatsoever. Of course though, always have a good data backup plan on top of it all.
In a cloud virtual server environment, it is also a single server solution, as your virtual server runs in one single physical server, which can fail. The difference though is that we can restart your virtual server in another hypervisor within, say, ten minutes.
However, all new enterprise level dedicated servers we offer, have redundant power feeds, dual CPUs for redundancy, self correcting RAM (ECC Registered) as well as dual network uplinks for redundancy.
Form our own experience, they will easily run for a decade, non stop, and failure free.
We understand that virtualization is quite convenient, but if uptime is of the essence, dedicated is the way to go. Use a hybrid model where highly essential and intensive functions are in your dedicated machines, while you can use low cost virtual servers for other functions.