After using shared hosting services on Linux servers for the past few years, I was thinking about experimenting with a VPS (virtual private servers). Currently shared hosting services are highly competitive. If you shop around you can find great deals to host a simple website most with a comprehensive feature set. However these are all very limited. My basis for a VPS was to acquire a server that had room to grow but yet more manageable and more affordable than a dedicated server. These were some of my considerations.
There are VPS solutions as cheap as $30/month for a fairly basic setup. By basic I’ve seen: 5GB disk space, 100GB transfer bandwidth and CPanel service. However availability and/or reliability of the cheaper service tend to make them a poorer choice. Through my research I found that a fairly typical price was between $40-60/month. And some competitive features were 7-10GB disk, with 100-150GB. Even then, the typical “step-up” options were almost doubled features with a price of $100/month. Logically this doesn’t seem very practical as you can obtain some dedicated servers for $100 or even do a co-location server for less. Hence my target was $50/month.
The more I read, the more I realized that reliability is a serious concern with VPS’s. Apparently many people have experienced considerable downtime or hard to diagnose problems. My guess would be poor technical support as it is very easy to misconfigure or corrupt a virtualized operating system. I came to accept that some VPS providers may have more downtime compared to shared hosting providers. Again this is only preliminary research.
Many providers do offer some sort of monitoring service (either free or extra charge). These can vary from simple
ping commands from an external server at timed intervals. Or significantly more complex tools, however they all seem to imply that monitoring is in your best interest.
Almost all VPS providers will use some distribution of Linux. Technically, it could be another form of Unix (or even Windows with “Remote Desktop”). Additionaly most will have a preference to a Redhat variation (Redhat 9.0, Fedora Core, CentOS, RHEL). The benefit here is that I can duplicate a great deal of testing at home before I deploy a complex setup on the VPS.
Virtuozzo (the VPS management software in Linux) relies on some tweaking done to the virtuallized booting kernel in VPS. Hence when I saw Fedora Core 2 available, I blindly assumed it used a 2.6 based kernel, when in fact it was a 2.4 variant. On other VPS’s running CentOS, I’ve seen similar characteristics. — The bottom line is that it is beneficial to have a more up to date distribution even if you really shouldn’t modify it too heavily (i.e. Redhat 9.0 is almost 3 years old).
Software on the distributions will be fairly typical to any Linux: apache, database, mail, etc. However for management there are some options such as CPanel or Plesk or even perhaps a service specific option. If you want to save money (between $7-20/month) you can forgo the specialized options and even elect Webmin. However I doubt that it is nicely geared to be helpful for webhosting on a VPS or for running multiple shared websites.
This is final most significant factor. Depending on the partitioning of the VPS on the host machine, the VPS may or may not be able to grow. Example: If a 100GB disk layout was cut up in to 10 separate 10GB partitions and 1 user required an upgrade, this would not be possible!. They would have to buy a new VPS or transfer to another physical host. Hence it is very important that you understand your growth. Keep in mind that 1GB of disk space already goes to the Linux installed. Basic upgrades like software packages and bandwidth may be available, but physical resources may be fixed upon setup. Know these facts in advance.
Getting a VPS took me a little more time than I expected, but the research was much less than when I learned shared hosting in 2002. I plan to be up and running with my selection in the next few days.
From what Rob mentioned from his VPS experience, selection was probably the easy part!