6,534
edits
Changes
m
Fixed headings (do not use single =)
Who am I? This article originally written by [http://www.perkel.com Marc Perkel] - a new VPS user - expressing my overview of OpenVZ from my perspective as a new user talking to other new users about my experience in learning this new environment. I am not an OpenVZ expert and I want to write this while I'm still new to OpenVZ so I can express my view from a new user's perspective. If you are just reading about VPS for the first time I am not that far ahead of you. This article is an attempt by me to give back a little to those who created this free software and give you new people an overview of the big picture as I learn this myself.
== Why use Virtual Private Servers instead of Dedicated Servers ==
Like many of you when I first heard of the idea of VPS I pictured it is some small lame server that is sold to 12 year olds trying to start hosting companies on the cheap. It had never quite caught my attention until I decided I needed a remote name server and all I needed was enough of a server to run bind, but didn't want to buy a dedicated box just to do that. So I got a VPS based on Virtuozzo for $80/year and it worked great.
I don't own a data center business myself but I have a friend who does and I colo several servers there. He has several racks of some old Celeron boxes with 512 mgs of ram and one or two 80 gig drives depending on if the customer has any concept of backups, which most of them don't. I'm looking at the racks of Celerons and P4s thinking that each rack could be consolidated into a single modern server and that the customers would actually have a better server than the one they are on now. And the cost saving is tremendous.
== Advantages of VPS ==
Most small dedicated servers are a waste of resources. People buy bigger servers than they need and the excess capacity is wasted. These servers take both space and power which is expensive in a data center and you have hardware costs associated with each server that you have to recoup. People often don't do any backups so after several years the hard drive fails and they lose everything. And it's your fault for not backing them up in the first place.
On a dedicated computer the user is stuck with an old slow 32 bit processor, a limited amount of ram, and an old slow hard drive with no backups. In a VPS that same user is running on a shared dual core 64 bit CPU sharing 8 gigs of ram with fast modern large hard drives with raid backup. That is a significant improvement over having their own dedicated box. So this is a better deal for the customer.
=== Administration Advantages ===
If a customer needs you to fix something on their dedicated server you have to either know the root password or take the server down and boot from a rescue CD to get in and fix it. You also can't access the customer's files without logging in to their server as root. In a VPS you as host can enter their server at any time without a password. (Keeping the host environment very secure of course.) That allows you to do maintenance without having to look up the person's root password.
=== Ease of Setup ===
Setup couldn't be easier as compared to building a dedicated server. All you have to do is type a few commands and the new virtual server is ready to go. You can have the customer running while you are still on the phone taking the order. A dedicated box requires setup, installation, and often has to be scheduled. This involves cost and time. VPS is ready instantly and easily. Any distro you want with all the latest updates installed. When a customer places an order they want it now. With VPS you can deliver it now.
=== Backup Advantages ===
Additionally you can access the customers files directly from the host environment. This allows you to run rsync scripts to back up all the virtual servers to external storage or backup servers without the customer being aware that you are doing sophisticated backups. Then when the customer calls you up in a panic and says, "I totally screwed up my server and deleted a bunch of files by accident. Can you get it back?" You can magically restore their lost data and you are forever their hero.
=== IP Allocation Advantages ===
Tired of allocating 4 IP addresses just to give the customer 1 usable? Or giving them 8 so they have 5 usable and most of them only use one? How inefficient is that? With OpenVZ you can allocate IP addresses individually so that if a customer only needs one IP then they get only 1 IP. But if they need 9 IP addresses you can give them exactly 9 of them. They can call you up and say I need one more IP and you can give it to them in seconds. On a dedicated server if you gave them a /29 vlan and they are using all 5 IPs and they need another one - that is a huge hassle.
=== Disk Space Allocation ===
On dedicated servers you have to install a big hard drive that is mostly wasted. If the customer wants backups then it's two hard drives. In OpenVZ you just allocate space in the raid array based on what the customer actually needs and they only use the space that they use rather than what's allocated. The "allocation" is really just a software limit and that is a line in a text file that you can instantly change the moment the customer needs more space. On a dedicatd box if the customer needs a bigger drive then it's a trip to the data center with a new drive and a few hours time to copy everything over and replacing the drive, not to mention the down time.
=== Memory Upgrades ===
Memory upgrades are as easy as hard drive upgrades. Just one command than the user has more ram. But what if the server is full and you don't have any more ram? No problem. Just copy the user's VE (virtual environment) over to another physical server with rsync and start them up there. In only a few minutes you've migrated them to a new box and they are up and running.
=== Migration ===
Suppose a customer just needs a bigger server. Migration is easy in the VPS environment because the VE is consistent between servers. You just copy over the files and start it up. You don't have to build a new server, install an OS, copy it all over, and then mess with it for an hour getting everything to work.
=== Emergency Procedures ===
Let's say that a server fries. With VPS and good backups you have more options. You can copy the backup of the VPS onto another server and restore it as of the last (nightly) backup. (I'm a backup freak - but it pays.) That gets the customers up instantly if they need that while a tech can go down there and fox the server with less pressure. This give you more options when bad things happen.
=== Load Balancing ===
OpenVZ allows you to migrate servers live from one physical server to another. I haven't yet done that but I have done a shutdown, copy, and restart of the VE on another server and it's so easy to do that. So suppose you have a server that's a little crowded and some user starts hogging some resources. No problem. You just move a few users to another box and problem solved. This could probably be done automatically with some well configured cluster and I would love it if someone wrote a wiki page telling us how to do it.
=== Protecting your Customers ===
Since you are managing the host system you can create IP filters and port blocking policies that help keep users from exploiting you or keep hackers from exploiting your users. Instead of a separate box that is all theirs you have them in a more managed shell allowing you to keep the inexperienced out of trouble. This provides them with a service that watched it more closely allowing them to do their own thing, but keeping you closer by to keep them out of trouble.
== Cost ==
The cost savings are rather obvious. An entire rack compressed into one or two computers. Picture the space and power savings. The greenhouse gas not being generated by the power you're not using. The number of computers that you are not buying. The hours you are saving in setup time and administrative time. When it comes to saving money this is definitely a winner. You can take that extra money and pass some on to customers and keep some extra for yourself.
== The Down Side ==
Any time you add another layer then you have another layer of things that can go wrong. It takes some learning to understand the process and there is the possibility that one person can screw up the system for everyone. As virtualization develops it will get better. OpenVZ is very stable in that it is far less intrusive than other virtualization methods. It is limited to Linux only so BSD and Windows users will have to do something else.
== Conclusion ==
I believe that VPS represents the future of computing. The space, power, and cost savings are too great to ignore. I see data centers that are massive clusters running tens of thousands of logical servers that transparently migrate around the physical resources and are up 100% of the time. Customers no longer will have to deal with issues of backups the way they have to now, and it will simplify the hosting process. I think that every data center should be looking into virtualization technology now with the idea that you are going to be doing this and it's time to at least start thinking about it and exploring it with an eye towards the future.