How Does a Virtual Server Work?

There are actually a few different ways to turn a single physical machine into a virtual server. In this post, we’re going to take a look at the motivations behind virtual servers and the different ways that virtual servers can be created.

Virtual Servers

Virtual servers basically operate through the process of virtualization. Traditionally, we think of a single piece of hardware as running a single operating system. Your laptop is a single physical piece of equipment and it runs one operating system on it. It isn’t virtualizing multiple operating systems. But sometimes you want to run different operations without making multiple pieces of hardware.

For instance, say you want to run 100 different websites all with their own OS and software installations. In order to do this without virtualization, you’d need 100 different pieces of hardware. This is not an efficient way to run 100 different websites if they are all small and don’t need a ton of resources. This makes it expensive for everyone who wants to get a website.

In order to keep costs down, you’d have to run a bunch of different websites on a single piece of hardware. The old way of doing this was to use a shared server. A shared server keeps all of the resources in a single virtual component and essentially runs the whole system of websites off of one operating system. This means that you can’t install a bunch of different software or OS versions for the different websites.

In order to have a higher degree of security and customization, you would need to have different servers running on the same piece of hardware. While you can’t do this at a 1 to 1 ratio with hardware to software, you can simulate different virtual server environments on the same piece of hardware through a management system.

Virtualization

Server computers need to have high performance in order to deliver the right kinds of files and services on networks. Most of these have a CPU (central processing unit) that has a bunch of different processors so that the computer can run bigger bits of information. When you’re a network admin, you’re responsible for dedicating different servers to different things. When you run a single application on a single server it makes it easier to run the whole network and makes it easier to isolate problems. Of course, doing this means that you aren’t using the total power of the computer. If you have too many computers it takes too much power, and so you need a way to run these different tasks without having too many physical servers. You need a way to split a single physical server into different virtual machines.

There is special software that an admin can use to turn a single physical server into a number of different virtual servers with individual operating systems. Virtualization has been used for years, but it is a recent development in web hosting that allows hosting companies to deliver great hosting solutions to clients for cheaper than dedicated server costs.

When a company uses virtualization it consolidates the server into different virtual spaces. This can mean that less physical space is needed for the servers. It also allows you to run more streamlined network processes without paying for additional hardware. Running redundant programs is often a safety measure that companies use to prevent service from being interrupted if any of the servers fail. If you are running the same application simultaneously on a few different virtual servers, the failure of any one virtual server (or physical server) would not interrupt the process. IT admins usually will run ghost redundancies of the same program on different physical servers as a backup.

Running tests on machines can be expensive. If you want to see how an application works or changes performance, you don’t need new hardware. Virtual machines make it easy for admins to run A-B tests on the same network without adding additional servers. Companies can test how different things work without using individual physical servers to run different types of operations.

Ways to Create Virtual Servers

There are actually a few different kinds of ways that virtual servers can be created on top of the physical server’s power.

Full Virtualization

Full virtualization uses a hypervisor on top of the physical CPU and disk to act as a springboard for the additional OS that the virtual servers will use. The hypervisor splits the virtual servers from each other. This is for security reasons. The virtual servers don’t even know that the other virtual servers are on the same machine. A hypervisor is helpful because you can run different brands of OS, like Linux and Windows, on the very same physical machine.

A hypervisor is responsible for splitting the virtual servers and supporting their OS. It does this by moving resources from the physical server to the different virtual servers. It does drain the power a bit, because the hypervisor itself must also receive some processing speed. This means that when you go for full virtualization, you are bootstrapping some of the resources onto the hypervisor. The virtual machines do not retain the full capacity that the physical server has.

Paravirtualization

Full virtualization means that every single virtual server acts as if it is a full physical server, and as if it is not connected to any other virtual servers on the same machine. In a paravirtualization technique, the hypervisor doesn’t drain the resources of the physical machine as much. It can be used to keep the most power possible for the virtual machines. Each of the virtual servers sees how much power each of the other virtual servers need, and they play as a team. This teamwork prevents the added drain on power that a full virtualization hypervisor adds.

OS Virtualization

On the OS level, there is no hypervisor to split the resources. Rather the host’s OS runs the hypervisor look alike, and this allows all the power to remain in the hands of the virtual servers. However, in an OS virtualized environment, each virtual server can’t run a different operating system–they must run whatever the host runs on the OS. If the host doesn’t want to offer different kinds of OS or customization, then the OS virtualization will generally be a bit faster and more powerful than other ways of running the virtualization.

What is the Best Virtualization?

It depends on the needs of the hosting company, the clients, and the specs of the physical machines that are being used. Paravirtualization is a newer way of splitting machines, and full virtualization with a hypervisor is the old way. While paravirtualization is a bit stronger because it doesn’t have to allocate as many resources to the host, many companies currently don’t offer it or have it.

What kind of virtualization should you look for on a client side? Well, OS virtualization will technically give you the most resources available and full virtualization technically has the least. But also keep in mind that the kind of virtualization will matter less than the amount of data that the physical machine has and the amount of websites running on the same physical server. Depending on the way that hosts allocate resources, different types of server virtualization won’t make a difference.

Why do Hosting Companies Like Virtual Servers?

Managing hardware is expensive, time consuming, and requires a lot of space. If you have a single server operating with a single website, you have proportionally less space than if you have 100 websites operating on a single server. Managing that much hardware requires renting more room, maintaining the different servers, and running more electricity. There’s more room for hardware failure so additional liability is taken on by the host. Virtual servers allow hosting companies to manage a greater number of websites and clients for less cost.

They can also create, destroy, and modify virtual servers very easily. When you are a hosting company, you have a certain amount of turnover to expect from customers. You need to be able to dynamically move around resources. The more difficult this is, the more expensive and time consuming it can become. It can also affect the performance of your clients, which you don’t want as a hosting company.

Virtual servers allow hosting companies to quickly scale and move servers around in ways that physical servers take time. When you’re using a physical server, you have to have people move memory and make physical hardware changes. Virtual servers can be built and torn down without ever touching the physical server. This allows for something called migration. Migration is the process of moving a particular set of server data from one place to another. It used to work only if the physical machines had a lot of things in common, like the same OS and processor. Nowadays, with virtual machines, you can move a virtual server to a different machine and only the processor has to be from the same manufacturer. This allows companies to have a lot more freedom in scaling and reorganizing their hosting services without tearing things down or interrupting service.