VPSes are all the rage these days in server hosting, mainly because they are fast to set up and cheap. Choosing a good reliable VPS hosting provider isn’t easy however. In this article I describe some points to consider, and even list major providers to choose from.
Cost is often a major deciding factor. There is a lot of price difference in this space, perhaps because the VPS market is relatively new. For example for an unmanaged VPS with 512 MB RAM price can vary from less than $3 to more than $25 per month, a crazy price range for products that are often indistinguishable. In theory pricier providers should use higher quality components (like SSD drives), apply less overselling of resources and offer better customer support. In practice, while quality between providers varies a lot, and some of the cheaper providers are definitely a bit shady and/or amateurish, price alone is not a good predictor of quality. For that reason in this article we focus on low-cost providers and from those select the good quality ones.
At first glance the virtualization technology used by the provider shouldn’t matter much, but this can turn out to be an important deciding factor. I advise to go with KVM and avoid OpenVZ and Xen. (For higher end installations the golden standard is VMWare, for the low end this is normally not an option).
For useful work the minimum is 512 MB RAM. Less is OK for a server that is only used to play with, but don’t expect to be able to host WordPress+MySQL or other production software on a smaller system. Conversely, if you plan to run memory-hungry software like a Java-based web application or a Squid cache you will need more RAM. In particular because VPS systems often do not offer the ability to use swap space, so when they run out of RAM processes will crash instead of running with lower performance through paging.
This is very application-dependent, but for a simple web server it is rare to need more than 20 GB (of which a couple of gigabytes will also be used for the operating system).
Like disk space this isn’t a main concern. VPS offers often come with 400 GB or more of bandwidth per month, and this should be ample. If your service is so popular that you exceed this limit it will be relatively easy to increase (a lot easier than disk space or RAM) and you should probably consider moving to a managed server or co-location anyway.
Good luck picking a VPS! Let us know in the comments if you think other criteria are also / even more important.