Programmer Bear is back online… no thanks to Canadian Cloud Hosting.
Trying new cloud providers has become something of a pastime for me, over the last couple years. In that spirit, last September I moved this very site (programmerbear.com) to a server hosted at Canadian Cloud Hosting (CA Cloud). In the end, I wasn’t very impressed. Now that I’ve finally gotten around to moving this site somewhere else, I feel free to write honestly about my experience at CA Cloud.
What things drew me to CA Cloud in the first place?
First, price. For example a 2GB SSD Cloud Server at CA Cloud costs $20 CAD /month — half the price of a 2GB server at, for example, Cloud-A. Second, they have an SLA policy that supposedly entails refunds for downtimes (after my bad experience with Linode, this is now mandatory for me). Both good things.
Setting up the server at CA Cloud was easy enough. Just like all the other providers I’ve tried, they have a variety of OS images available to install from. I used their Debian 8 image, and then configured it with my usual settings (nothing I haven’t done a hundred times by now). At first everything worked beautifully, the server was speedy, and I was happy.
And then things started to get weird.
Sometime in October, my server instance randomly powered off for no apparent reason. No warning was given, just suddenly the site was not accessible (connection would timeout). I logged in to the CA Cloud control panel and it showed my instance as “powered off”. So I clicked the button to power it back on, and then when everything came back I started pouring through server logs to see what the hell happened. But the logs — said nothing. No errors, no warnings, just suddenly the log entries stop with no sign of anything wrong. Never seen anything like it before. But, not being able to find any explanation, I figured it must be a fluke and moved on.
Then the same thing happened in November. This time I opened a support ticket. They replied:
I checked the Hypervisor log and could see that server was turned off as it reached the memory limit.
…
If it happens frequently, you may think of upgrading RAM on the server.
Well, that’s concerning. Not so much that my server was allegedly running out of memory, but rather that they think the appropriate response is to turn me off completely whenever that happens? It’s not as if it’s an issue of protecting their server resources for other users. With my 2GB server plan I’m supposed to get a dedicated 2GBs of RAM… it’s impossible for me to use more than I’ve been allocated, so even if I’m at 100% it’s not hurting anyone other than myself.
Now, certainly IF my server is running out of memory, that’s an issue *I* need to fix, but I can’t do that very easily if they keep shutting off my server before I get a chance to see what is sucking up all that memory. So I told all this to the CA Cloud support, and they responded by turning off the host’s “oom killer” (Out Of Memory Killer) for my server. That’s good, I thought… now they won’t shut off my server anymore, and I can figure out why it’s running out of memory. (Although, in the back of my mind I’m thinking, am I going to have to request they turn off the oom killer every time I create a new server at CA Cloud? What a pain. No other providers I’ve encountered impose such a thing.)
Unfortunately the problems continued. No predictable schedule, sometimes the server would be fine for a month, sometimes a couple weeks, sometimes a couple days only. The server wasn’t being powered off anymore, but it would still become inaccessible without any warning or any trace of anything wrong in the error logs.
Moreover, I was not convinced my server was running out of memory at all. I had setup monit to alert me and take corrective action should the server even remotely approach it’s memory limit. However, the mysterious server crashes never triggered an alert through monit, nor any entries in the monit logs. I became convinced that something *outside* my server instance (i.e. their hypervisor?) was crashing.
Of course I can’t prove it, but why else would there be no traces of any problems in my own server logs? Every log would show normal entries up until a certain time, and then — *poof* — nothing, no more log entries of any kind up until whatever time I realized the server was down and restarted it. I’ve never known a Linux server to crash without leaving at least *some* clues behind in the logs.
So I made the decision to leave CA Cloud, it was just a question of when I’d have time to setup another server somewhere else. I’ve been a little busy… that is, until today when I no longer had the choice of procrastinating further. When the programmerbear.com server went down today it seemed like just another routine crash, which I could fix by power-cycling the server through the CA Cloud control panel. After the server was back on I ran fsck…. which itself crashed. Thereafter I could no longer connect the server at all, even through the CA Cloud console. The server was finally toast.
So goodbye CA Cloud. I’ve setup a lot of servers a lot of places, but never have I had so many problems as with this server at CA Cloud. Not impressed.
P.S. programmerbear.com is now on UpCloud, which is yet another provider I’m trying for the first time. So far so good, maybe in a few months I’ll post a review…