Are Virtual Dedicated Servers Worth The Cost?
xtremex asks: "I just had an online conference with a company called Ensim and they have made an appliance that takes all the servers in your data center and chops them into 'virtual' dedicated servers, so instead of a dedicated server client wasting 50% of his space and server power, it'll take one server and issue a percentage of processor power, memory and disk space, each virtual server having their own root password, etc., and a Web based control panel for both resellers and owners...this thing got me salivating..until the told me the price..$25,000. I almost fell off my chair. It looks REALLY good, but is it worth $25,000? They even offered to come down and install it and I have the unit for 30 days free..Does anyone know about this amazing product? Is it worth the price?"
- You want each client to run and admin their own webserver.
- You don't want each client to be able to affect the others. This means no rampant interfering resource usage.
Now, lets talk about how one might do this using off the shelf stuff.- Two ways to run multiple indepentenly admined web servers come to mind:
- The new FreeBSD kernel supports the jail syscall. This can attach collection of processes to a particular ip address. I rather suspect that this is exactly the sort of thing that it is meant to be used for.
- On linux, you can permission individual ports. Each client runs their webserver on a different port. Use ip masquerading to redirect connections to diffent ips (port 80) to different ports (localhost).
- Unix timesharing systems have been hit with all sort of internal dos attacks. My personal favorite is the shell script which does nothing but call itself in an infinite loop. Hence the creation if killall. All of these attacks (which can be negligence as much as anything intentional) have defenses. Unix is meant to be multi-user, even if we forget in the PC-laden age. We have:
- Quotas - x% of the hard drive, coming right up.
- Process limits - With not too hostile users, it shouldn't be too difficult to keep their web servers from running away. Note that csh is the ussual interface to this functionality.
So what do you really get for your 25k? My guess is a little bit of convenience. Maybe a bit of transparency to your users - don't have to tell them it is a shared box if you replace login to use per ip password file, could rewire the reboot command to do a kill for the users in question and rerun 'their'And if this package doesn't take off and becomes unsupported... then where are you? It doesn't quite sound like the sort of thing which will work with the next version of whatever OS it is for. Unless it is a colletion of perl and shell scripts (about what I would use), in which case you could patch it up if necessary. Do you get a source code license for your 25K? Is their customer care any good?
It might be worth it, if they make it truely easy to multi host, and give you a source license, and you are short of rack space and/or using really expensive boxen. But I wouldn't bet on it.
Hey, so we should avoid PVCs, VPNs, and VLANs? I know of a few companys that would be not very happy upon hearing your advice, including some phone companys.
"Please don't sigh like that, maam"
- A.P.
--
"One World, one Web, one Program" - Microsoft promotional ad
"Remember when the U.S. had a drug problem, and then we declared a War On Drugs, and now you can't buy drugs anymore?"
Although Sun's products don't split multiple domains across a single CPU, the high-end Sun servers provide the facility to have multiple 'domains' or "virtual" computers running on a large system. Lots of people do this with their E10ks, partitioning them into three or four different servers.
IBM's VM mainframe systems also kind of do this (I'm not overly informed on their internals.) Essentially you can have multiple "virtual machines" on a single mainframe.
Again this technology/cost shows that once again Linux can now be made to jump through the same flaming hoops that other OSes were doing years and years ago. Sure, it can do it cheaper but is using PC hardware the right solution?
Lots of people(tm) (Sun client sites, large enterprise shops) use those multiple 'virtual machines' as a true development environment. They'll have one VM setup for "development" another for "test" and another for "production." The development VM can be rebooted and messed with all the time... the "test" VM takes frozen code from devel VM and tests it through. The production VM is where the stuff actually runs.
Let's take an inventory of what you really need. You want each client to run and admin their own webserver. You don't want each client to be able to affect the others. This means no rampant interfering resource usage.
No. You've confused "dedicated server" with "virtual host". Which may be understandable, given the title of the article. But these are not the same thing. With a dedicated server[1]:
1. Customers want to be able to run servers and apps beyond just HTTPD and its front/backends.
2. Customers want the freedom and control of root access, and don't want anyone else to have it. (In some cases, not even the hosting provider!)
3. Customers don't want to worry about anyone else clogging their server's pipe.
Providing the first two items to multiple customers of the same box is going to be messy on any OS you come across. The product being described is interesting, but the price tag is excessive. One wonders what sort of installations will be able to turn a profit. My workplace has maybe 4-5 dozen deds. Being able to condense some of the lower-usage customers might free up a handful of boxes. Would it be $25,000 worth? I don't know.
On the other hand, I wonder how they can address the third item. If two customers on the same ded suddenly ring up a lot of traffic at the same time, there could be contention, which would cause both customers to cry foul.
Not only that, but you'd either have to cheat your customers, or you'd have to be up front about the fact that you're not really giving them a DEDICATED server. [2] And then, you wouldn't be able to charge as much. Thus cutting into the margin you would need in order to make up for the cost of this product.
It seems to me if your users' aren't using their full capacity, that's great. They're paying you for something they aren't using, and you're making more money off them. If they are spendthrifts, that's their problem. If a dedicated server is more than they need, then they should get a vhost and be happy.
[1] This reflects the definition of "dedicated server" used by my employer, Shore.Net. YRMV. Incidentally, the term is being phased out in favor of "managed colocated server".
[2] "Shared dedicated server" is an oxymoron.
Terrorists can attack freedom, but only Congress can destroy it.
To answer questions raised in other comments:
Even though an Ensim private server appears to the applications running on it to be a dedicated server, it runs in the same operating system as the host. This means that it can take advantage of services provided by the OS with much less overhead than VMware, in terms of both CPU and memory usage. A private server is a fully featured virtual machine and provides a lot more flexibility than traditional web hosting. It is cheaper than a dedicated server (both for the ISP/ASP and the customer) while providing guaranteed resource allocation. We can do it