There's nothing like your site going down routinely to lend a sense of urgency to the search for an alternative hosting solution. The newly live server at VPS.NET was crashing at least once every day or two, but it remained live while I poked around the TKL web site investigating the other hosting providers that had partnered with the project. The biggest was Amazon's EC2, but recent events lead me to shy away from Amazon for my own purposes.
Late one Sunday evening while researching online, I sent an inquiry to UnmeteredVPS.Net. I used a form on their web site that included a phone number to submit the inquiry. To my surprise, someone called me immediately!
Of course, it was after 10 PM on a Sunday and I had not expected such an immediate response to a simple sales inquiry. Unfortunately, I had given them my office phone number. Since I wasn't near my desk that late at night, they went to voice mail.
When I returned the call Monday morning, I was pleasantly surprised to find myself talking to Neil Aggarwal, the owner of the company. Actually, UnmeteredVPS is just one of his companies, the other being Jamm Consulting.
I was even more surprised to find that they are headquartered in Houston, just a few miles from my home. They operate out of a data center along I-59 that I've driven past many times. They're also in a data center in Dallas, TX.
Neil and I discussed my requirements and my recent experience with VPS.NET. He offered to set up a trial instance of TKL-WP, free for one week. He does this for all new accounts.
Neil was careful to explain how his business model differs from most other VPS providers. Where most providers assign you some nominal amount of permissible data transfer per month, his is a truly "unmetered" service. Transfer as much data as you like...well, kinda.
If 95% of your continuous transfer rate is under 500 kbps, then you don't pay for bandwidth at all. However, if your continuous bandwidth needs are greater than this, you purchase additional bandwidth. My option would be to get a full 1 Mbps stream dedicated to my VPS if it was required. Not likely!
By the way, he provides a "Cacti" bandwidth graph as a handy way to monitor your data transfer over time. Given what I knew about my bandwidth use at BlueHost, I was not going to even scratch the 500 kbps continuous stream that he would permit as an account baseline.
Given the host hardware and connectivity, Neil's billing model makes a lot of sense. He's careful to ensure that the sum of all the accounts on the server hardware doesn't swamp the physical connection to the upstream bandwidth provider. But since he doesn't pay for bandwidth per GB of transfer, so he doesn't bill that way either. It's unmetered.
My needs being simple I started out with a single vCPU, 512 MB of memory and 15 GB of disk space, which would cost me $25/month. In the end I increased the memory allocation to 1 GB, driving the final cost to $30/month.
From a hardware perspective, as I was speaking with Neil, I was able to get an understanding of the kind of server that he deploys. His preference is for Supermicro 2U Twin-2s as pictured above.
Each 2 rack unit (3.5" high) server contains four independent motherboards or "nodes." Each of the four nodes holds two quad-core CPUs, 6 DIMMs of memory and three 3.5" hard drives in a RAID5 configuration. I'm told that, depending upon the nature of the accounts, he can load 12-20 accounts on each node.
The reality of the hardware aside, my account was likely to be one of the smaller accounts on the physical server. Still, it's nice to know that the account resides on enterprise-grade hardware, with suitably redundant hardware resources.
From a software perspective, he uses virtualisation based upon KVM.
Returning to my task at hand, I once again rebuilt the blog, this time on this new VPS, again running TKL-WP. I was getting pretty good at this by now, the process going faster each time I did it. It was also going more smoothly, with fewer minor errors along the way.
I was very careful to get this third installation running well, including removing several of the WordPress plug-ins that I had previously been using in an attempt to keep memory use down. I would start out without some of the niceties like Twitter integration and automatic insertion of links in favor of a stable host.
When the new VPS seemed fit for traffic I made the DNS changes to bring it live, and hoped for the best.
Once the site was running in the new VPS for a few days, I was saddened to find that it was again becoming unstable over time. Running in 512 MB of memory and with 1 GB of disk swap file available, its memory use would climb slowly until it would eventually crash.
Where my past experience with the debate between TKL Project and VPS.Net has been fruitless, Neil dug right into the matter to try and find out what was happening. He found that the release of Apache included in TKL had a bug with respect to child processes not releasing memory when they are killed. The recommended workaround was to not let the child process live as long as normal.
Child processes default to serving 4000 requests before each is killed. By dropping that number to something much lower (512), he was able to reduce the impact of the memory issue. He reduced, but did not eliminate its impact. Increasing the memory available from 512 MB to 1 GB also helped.
Neil eventually offered to set up another VPS based upon CentOS 5.5 instead of TKL-WP. He said that this was the platform that he most often used, and so could best support.
Since CentOS is commonly used in the Asterisk community, I could see no problem with this. While it might lack some of the administrative niceties of TKL-WP, it would be very familiar to some of the friends that might some day help me with admin tasks.
For the fourth time in as many weeks I found myself rebuilding the site. I was now very good at this process! After just a day or two I pointed the domain names to this second VPS at UnmeteredVPS.Net.
Happily, with only minor tuning, this version of the site has been reasonably stable. It's not perfect by any stretch, but it's been more reliable than the BlueHost server that I sought to leave just eight weeks ago.
I still make use of TKL-WP in-house for development and experimental purposes. I think that they have an interesting and useful project. I look forward to their coming release based upon Ubuntu 10.04.
In the telling of this tale I've now reached the present day, but the story is not yet finished. How can it be? What I've learned is that I have so very much left to learn.
The question that I failed to ask myself back when I decided to change hosts was, "Just how much effort are you willing to put into this on an ongoing basis?" Not having asked and answered that question, I failed to appreciate the merit in paying more for a "managed" hosting solution.
One really should consider carefully how much you're willing to take upon yourself vs. relying upon the expertise of others for administrative tasks. If that's not something that holds any interest, then you are much better off paying for a managed host.
Yet, as of today, this site remains live at UnmeteredVPS.Net. I feel that my experience dealing with them has thus far been quite good. I may yet decide that a managed host is a more appropriate solution. But for the moment, I'm not feeling any pressure in that direction.