03As mentioned in a previous articles on hosting control panels to use for your VPS , buying a VPS is as affordable as or even cheaper than shared-hosting. This is only when it comes down to money/month or year. Other costs or resources would include time and knowledge to actually setup and maintain your VPS. A great way to start lowering those costs is by having a look at free alternatives to CPanel.
Providers are offering cheaper and cheaper subscriptions. I’ve noticed that when breaking it down to the total cost of a setup like this (money, time, new knowledge to learn) , money is not the top priority. Having certain features can really save a lot of time in configuration and learning new things that you don’t necessary need.
The following are the top things that I consider when acquiring a VPS subscription. To be noted that this is subjective and related to what I have used so far. Feel free to pursue my recommendations or add relevant comments. This article is more intended for small-scale projects, personal websites and relatively easy scenarios. Bigger and more complex projects will take more things into considerations and would probably not think about saving several dollars / month.
This is a major selling point for me. I want to be able to interact with the system that the provider is offering, without paying, so that I do not have surprises after using it.
One provider that has an interesting approach to this is DigitalOcean, where one can get invited to get 10$ credit from a referal and run a VPS for a month. Even better, you can delete your VPS instance and you will only pay for the period in which is running. You can get your free credit from here.
There is this current trend on “pay for what you use” as mentioned above, where you pay for the period in which your VPS running. I like that. I like it even more when I have the chance to customize the resources that I can use on my VPS. Most providers offer pre-packages with the most cheap generic example being 1GHz CPU, 512MB RAM, 1TB bandwidth, 20GB storage (or something similar).
This seems ok and sufficient for basic needs. But you will most likely not need 1TB bandwidth for a your small blog that has an average visitor rate of 50/day. Nor would you need 20GB of space for HTML and PHP files.
Again, this is a generic example – it all comes down to everybodys specific needs. The more specific your needs, the more specific the resources you need, thus the more “trimming” you can do on the final cost. Time4VPS is one provider that offers this.
So far this is customizing what you buy. The other facet is to customize your current VPS. One might want to scale his project and add more resources to the VPS (e.g. more RAM) but it would be a big pain to setup the VPS again, so this is a very good reason for having this feature.
Snapshots, backup and restoration
Snapshots are one of the features that I enjoy the most in virtual machines, especially when doing development. It is a critical time saving feature, that enables you to roll back and undo any changes that you have done in a matter of seconds/minutes.
The same goes for the VPS. Being able to roll back your changes is a must, at least for me. Be aware though,of the business models associated with snapshots, backup and restoration. Some companies offer it included in the “package” but some treat it as add-ons that require separate payment.
DNS is usually a pain to configure, setup and debug. It can also be very time consuming due the propagation of nameservers and domain names in the global DNS. I would recommend having your VPS provider handling that, reason why DNS management is a top feature in my requirements from a provider.
Physical localization and network access
Depending on your physical location and on your visitors/users location you might want to reconsider your provider. Some VPS providers offer the possibility of deploying your VPS in any of the datacenters that they have scattered around the world. Some may not have that physical backbone and have limited locations from which you can choose, but this may not matter. Again, it all comes down to your use case.
Ready to use OS and packages
Most providers offer 1-click installation of the latest several major Linux server distributions out there (Debian 7,8, CentOS 5,6,7) , for both major architectures (x64, x86) . Offers may not be that diverse, but there are few use cases where you would need something else than the major Linux server players (Debian and Redhat).
There are 3 major players on the commercial virtualization technology scene (which is pretty diverse based on this comparison), each with their advantages and disadvantages. Some opinions on their differences can be found here. For most standard cases this will probably not matter that much. For more complex use cases you need to see if what you’re trying to do is supported by or not by the technology stack.
One of my personal examples, was being able to run qemu-kvm virtual machines on the VPS – this is where DigitalOcean came in very handy.
Extra – Minor goodies
While these “goodies” are not a deciding factor for me, it would be really great to have them. This is the reason for I’m calling them “minor”, although they can prove to be a very strong selling point. These usually save insignificant time or are much suited for development, companies and more complex projects. Not having them can be annoying once you start messing around with your setup over and over again.
- SSH key management – I will probably resetup my VPS several times before I have it stable. I want command-line access promptly, without having to copy my ID each time I redeploy it.
- Online shell / in-browser remote viewer – depending on your tastes and scenario, you will probably find an in-browser remote viewer for your server useful. The disadvantage in this case (and the reason I prefer to SSH to the VPS) is that you usually cannot copy’n’paste.
- API – very useful for automation and development purposes.
- Extra IP – usually not that expensive to have and most providers offer this as an add-on.
- Internal network – given the case where you have several VPSs and you want to establish communication between each other, it’s always better to have them do this on a separate network than the public one.