OpenVZ Hosting : Compare Hosting
Oops! No Hosting Plans Match Your Search
You've selected a combination of features that none of the web hosts we profile offer. We suggest you remove your last filter or reset & start again.
Ask Our Experts
Need help with your hosting? Tell us exactly what you are looking for and we’ll do our very best to help. Please allow one working day for a response.
Please fill in all fields.
Thanks! Your request has been sent. We'll reply within 24 hours.
Recommended Host for OpenVZ
What is OpenVZ?
OpenVZ is a container-based virtualization solution that allows site administrators to deploy multiple, independent instances of an Operating System on a web server.
One of the more annoying problems that plagues web application developers is the tendency for environmental changes to affect the way an application operates. Development of software apps is complicated and — even to the best developers — somewhat mysterious. The number of layers of abstraction between high-level programming code and its execution, combined with the typical dependency on dozens or even hundreds of individual libraries and utilities, makes it hard to know if the software that works just fine on your development computer will function properly when deployed to a production server in the cloud.
Developers try to avoid this problem by writing solid, standards-based code instead of relying on weird hacks or tool peculiarities to get things done. But sometimes the line between the right way and the weird way to do something isn’t very clear, especially if you are doing novel and interesting things in your software. And sometimes even the best code breaks when run against a different version of some library or utility that it depends on.
Moreover, different apps might require different versions of the same dependency. Perhaps your ecommerce system has a weird fluke when run on PHP 5.3.2, but the data API run by your shipping department relies on that exact version, and won’t run properly on either 5.3.1 or 5.3.3.
This sort of thing happens all the time, and it is absolutely maddening.
So, what’s the solution?
Containerization is a special form of virtualization, where the idea of running software on a virtual machine is brought down to the level of individual apps.
Virtual machines have existed for awhile, and you are probably familiar with them, at least a bit. A virtual machine is a software emulation of an entire real computer, on which is run a complete operating system and set of applications.
Many web hosts run virtual machines for their web hosting customers. The customer interacts with their own server as if it were a physical machine somewhere, but it is actually just a virtual machine running on commodity hardware in a data center owned by someone else.
This virtualization of servers allows multiple customers to run their web apps and services from a single machine (or cluster of machines) without interfering with each other.
Container-based virtualization (or containerization) brings this idea down to the level of a single app, instead of a single user or customer. A container emulates only the operating system, not the entire machine.
The container runs all the libraries, utilities, and dependencies that the primary app needs to function correctly, and nothing else. The operating system inside the container, and everything else about the environment, can be tweaked or adjusted as needed to get the application running the way it needs to, and this will have no effect on other software being run outside the container.
This also makes deployment much simpler: The idea is that you can run a container on your development machine, build your app, and then copy the entire container to the production server without any loss of continuity or disturbing anything else running on the server.
Containers: An Analogy
In the early days of shipping, cargo was loaded into a boat by hand. Boxes, crates, furniture of all shapes and sizes was just loaded into the hold, secured as well as possible, and then unloaded later. This was done by hand, by dock workers. This was extremely inefficient. Things broke. Things were lost. Cargo shifted around, endangering the balance of the ship. It was difficult to weigh cargo for proper pricing.
Eventually, shipping companies invented the idea of shipping containers. These are large, uniformly sized boxes that can be automatically loaded onto a ship and unloaded from it automatically by cranes and other machinery. The containers can be stacked. They can be placed on the back of a truck or on a train car. They can be uniformly priced. They are loaded by the customer or their agents, instead of people operating the ship. In fact, the people operating the ship don’t have to know anything at all about what is inside the container.
This is almost exactly the same idea with software containers.
OpenVZ is one of the most popular and mature container-based virtualization solutions available. It provides individual, independent installations of the Linux kernal. Each container acts as a stand-alone instance and can run it own apps, reboot independently, and use its own libraries and configuration files.
OpenVZ requires Linux, and the development team highly recommends CentOS or Red Hat Enterprise. The other requirements are widely supported, but require specific Linux expertise to configure properly.
While OpenVZ could, in theory, be set up on most Linux servers (given the right expertise), it is highly recommended that you use a web hosting company that specifically supports OpenVZ and optimizes their servers to run it properly.