As the title probably suggests this post is going to be somewhat single sided, however I will try outline the benefits of VPS servers and where they are “appropriate”, who knows I might move back to them in a few months.
My day job used to be a server administrator for both Windows and Linux platforms; my principle focus for about 6 months was actually building cloud infrastructures for the company services such as mail and DNS, plus public users as a VPS product.
When it came to aggregating my websites from shared hosting to a dedicated environment it made sense to use a VPS container, however I soon realized when you only have partial view of the setup you need a lot of trust in your provider.
Simple fact is your provider can claim many things, however you never really know how true they are until things go wrong, an example or two follow below.
- What RAID is in use, if any? Are there any failed disks, anyone checking?
- Are there any backups? Tested? How long to restore one if needed?
- What was the real cause of that 2 hour downtime, I was told DDOS on another VPS….
- How secure is my host server?
My basic setup was about 3 VPS servers, 2 were normally live and the other was for testing stuff, should one fail I could fairly easy move stuff around as required. However recently I noticed issues with uptime and general performance of the nodes, it seemed like I was opening tickets at each provider weekly and moving my sites around.
Each time this happened I just started to lose trust in what these providers were actually supplying, having some data loss was the final straw in this. Although I had backups and it was only a test VPS, it didn’t inspire confidence.
Looking at Costs
Hardware is cheap and it’s getting cheaper by the day, my VPS’s were not top of the line ones and in total probably came to about £30/pm, however my server from OVH run’s in at a smooth £15/pm (inc VAT), I do admit it’s specification isn’t top of the line with a dual core ATOM, 2GB of RAM and 1TB HDD, however I do have piece of mind that them resources are going to be available 100% of the time which to me is invaluable.
Also there were many other great features like 100GB of free backup space, automated reinstalls which make it like a VPS server, and high spec servers should I need to upgrade in the future.
Let’s not forget this is saving £15/pm, which isn’t a small figure, truth be told I will probably get another server from somewhere as a backup, I have been in the industry too long to trust hardware always works, which will remove this saving.
Scaling for Traffic
My last VPS’s were fairly small with about 128 to 256MB RAM each, this was to keep costs low and I didn’t really need anything more extraordinary at the time when you looked at the load/usage. The websites were mainly PHP/MySQL and the backend was Nginx with PHP-FPM with is great with restricted server resources.
One of the paybacks I saw for VPS’s was that I could scale as required, however in practice that didn’t really work out. First you needed to know when traffic spikes were going to approach so you can preempt and upgrade, which generally just doesn’t happen as most of my traffic is from social sources like reddit or digg, which made predicting surges unreasonable.
Next there was ways that I could auto scale with some form of scripting, however this takes a lot of determination to setup and therefore wasn’t really suited to a ‘small’ setup like mine. This scaling setup also makes cost budgeting a pain to manage, as you don’t have a clue what next month is going to produce you in terms of costs and ads revenue.
My solution was to get a dedicated server and heavily underutilize the resources, server load is about 0.1 most of the time and RAM usage is generally under 15%. One of the best parts is though I have 1GB of Varnish HTTP memory cache ready for thrashing, so in the event of a social traffic spike I can cache all the content in memory and keep server load under control, this costs absolutely nothing as the RAM is always there at a fixed cost, also it’s instant!
Recently I started working on a new project that will hold customer information and may be even process payments, previously my services have normally been free with no user registration so keeping client information safe has never been a concern.
OpenVZ that my hosts were using isn’t secure, a bold comment I know, but anyone with access to the host server, albeit a hacker or staff member will have full root access to my virtual machine without authentication or even leaving logs. To be completely honest I couldn’t sleep at nigh knowing this with customer information on there, especially when I have no control over the security on that VPS host, could you?
Please leave your thoughts on this below, I would be interested to know your server setup?