I had another couple long nights Sunday night and last night. You see, I moved my several existing websites to a new VPS. I blogged about my initial move from a physical server to a virtual server here. The reason I switched this time is because of problems I had with VPSLand (my old VPS vendor). Basically I was unable to get a connectivity issue resolved for several days. During that time, several my websites were down for extended periods of time. Support from VPSLand is only available via their online ticket system and my ticket did not get the attention that I thought it deserved. It was extremely frustrating to have these issues and not be able to call anyone about them. It seemed I was always waiting for the "senior admin" to research the issue.
My new VPS vendor is Fluid Hosting. They are somewhat more expensive than VPSLand but they have online AND phone support and they got pretty good ratings in a WebHostinMagazine.com VPS comparison review. I guess I'll have to wait and see how the new vendor works out but I'm hoping this is an example of "you get what you pay for".
This move was a little more difficult because the new machine is 64-bit Windows. I've done plenty of work with 64-bit Windows machines in my day job, so it's nothing new to me, it just added a bit more complexity. Funny story: I was having a problem with getting one app working. The error pointed to permission issue but I thought I was smarter than the computer and troubleshooted as if the problem was more of a 64 vs. 32-bit OS issue. I ran out of time troubleshooting and had to revert back to the old server for this client/website. After I was done moving my other clients, I spent several more hours troubleshooting the problem with tools like FileMon, Process Explorer, & Dependency Walker. Finally, I narrowed the problem down to a permission issue. It ended up that I just fat fingered a new user's password... That's about ten hours of my life I won't get back!
It was strange though that I couldn't get FileMon to run successfully on the VPS... when I started the program I was getting errors saying "Error loading FILEMON701: This driver has been blocked from loading". Extensive Googling yielded only a few articles which indicated that the problem was permission related. That doesn't make sense because I'm an admin on the machine and I can do all the normal admin things. I also have the appropriate user rights (Debug programs & Load/unload device drivers). I never got to the bottom of this. I haven't had this problem on other VPS's. Let me know if you've seen the same thing or if you know the solution.
Finally, I'm beginning to realize that it's more trouble than its worth to host multiple clients/websites on a single machine. Because I host multiple clients together, it makes these types of moves very difficult, a caffeine fueled marathon even. Between the DNS changes, the Bacula backup configuration, complexity of some of the websites, and the windows of time available to do the move, it would have been much easier if I could have moved one website at a time. Yes, I make a little money by co-hosting the websites but it's not worth the pain when there is an outage; everybody's website is down and I'm giving out refunds. Besides, if Good to Great (Collins, ISBN 0066620996) has taught me anything, I need to focus on my core business (producing software) rather than pursuing many ends at the same time (hosting).
- When choosing a hosting vendor, ALWAYS make sure they have some sort of phone support. If not, you'll regret it when you have connectivity problems and there's no one to talk to.
- If you're in the hosting business but hosting isn't your core competency, get out of the hosting business :) If you must host, host your clients separately.
Lesson re-learned: when troubleshooting, read what the computer is telling you!