My avatar across the web: a photo of my feet in grey-white socks and brown sandals.

Ben Babcock

I read, write, code, and knit.

And we're back!

In my previous post, I mentioned that I was moving my website—well, all my websites—to a VPS, a Virtual Private Server. I’m pleased to announce that the transition is complete. In about a week, I moved over all my various software installations. Indeed, I even upgraded some shamefully old versions. And, as I mentioned previously, I have replaced my old blog script with a new blog written in Python/Flask.

Why I Moved

This website is nearly twelve years old! That boggles my mind. It all started with some simple HTML on Geocities; I remember when I claimed I never needed to learn something as complicated as PHP. Later when I started paying for shared hosting, I scoffed at the idea I might have “my own server”. Maybe the moral of this story, twelve years in, is that I need to stop setting arbitrary limits.

Anyway, for the past 10 of those 12 years, my websites have been on A Small Orange. When I first signed up with ASO, it was a small and independently-owned webhost. The owner interacted directly with customers on the forum. The tech support was always reliable and super quick.

Alas, change is inevitable. ASO changed hands—twice, actually—only to end up as one brand in a conglomerate with a bad reputation for webhosting. This, in and of itself, didn’t really affect me. For shared hosting, ASO has continued to be reliable; my last support ticket was over 3 years ago.

When I had some troubles deploying my new blog, I opened a ticket. And then I waited. And waited. When once I had received a response in ten minutes, maybe half an hour at most, I was now waiting days. That bothers me. Nothing I do is “mission critical” or necessary for me to make a profit. Nevertheless, it marked how much ASO had changed.

Additionally, I had to face that I have somewhat outgrown shared hosting. Truth be told, ASO spoiled me in that regard: their shared hosting plans are really nice and remain so, despite any real or perceived changes to the quality of their service. They keep their servers up to date, and they have always been flexible about installing software you need. Many shared hosts, in understandable efforts to keep costs down and keep the servers reliable, operate on a “take it or leave it” philosophy, with little room to adjust for your needs.

So as I toyed, emotionally, with the idea of jumping hosts and leaving shared hosting behind, I started searching for a VPS provider.

Finding the Right Fit

There were two factors in my search: cost and ease of management. These were the same reasons I was still on shared hosting despite my proclivity for pushing the boundary. VPS plans are more expensive, and unlike a shared environment where the host configures (and secures) everything, with a VPS you are pretty much left to your own devices. Although I’m much more comfortable doing command line things these days, I have little experience with server admin—and I had little desire to spend the time managing those aspects if I could get someone else to do it.

I eventually went with Hawk Host—because they’re called Hawk Host! How could I not?

Seriously, though: they're Canadian, and the management is relatively active on the forums (which are not themselves that active), much like ASO's management used to be back in the days when they had forums…. Hawk Host’s staff responded to my sales inquiries promptly and professionally. They were straight with me when I asked if their shared hosting would meet my needs, and then as I expressed curiosity about a VPS plan, they answered my questions without putting any kind of pressure on me. When I asked why their VPS order form offered Ubuntu 12.04 but not Ubuntu 14.04, my ticket was “escalated to level 2” billing, and I got a little worried. The wait was a bit longer (this was on a weekend). However, instead of some kind of non-response excuse along the lines of “stability” or “kernel issues,” they said that if I asked for it in the order notes, they would install it.

This positive interaction meant a lot to me as a prospective customer. Hawk Host is fairly inexpensive compared to comparable VPS providers. On paper I’m paying a little more than double the monthly price of my old shared hosting plan, after a nice 30% recurring discount coupon I dug up. In actuality I’m paying much more, but that’s not anyone’s fault except for the terrible exchange rate—yes, despite being based in Canada, Hawk Host charges me in American dollars. Blech.

Moving In and Setting Up

OK, so I have access to my VPS. Now what? Never done this before.

This is a lean (virtual) machine: 30 GB of space and 1 GB RAM. Not amazing by any standards, but keep in mind I was using around 1 GB of space previously. If anything the RAM is more of a concern, but I’ve tried to keep my stack light:

  • CloudFlare for DNS, because I don’t want to run my DNS on the same server as my website! Also, it’s good to use protection.
  • nginx/php-fpm rather than Apache, because why not? Lighter and faster sounds great, and as I move away from PHP towards Python, I mostly just need a reverse proxy for …
  • Gunicorn to serve up the Flask app that runs this blog. The blog uses SQLite, which again, has a much nicer footprint than MariaDB, considering my needs.

Configuring these tools, and then transferring my various sites one-by-one, was less stressful than I anticipated. Yes, I ran into plenty of errors, quite a few of which stumped me at first. I’ve learned many things in just a week, and I’m still far from being anything other than a novice in this area.

The actual amount of frustration I experienced, however, was minimal, and mostly unrelated to the VPS itself. For example, I was upgrading my various scripts as I went, only to discover I was still using a seven-year-old version of YOURLS. Oops. And of course, there was no clear upgrade path from that version to the most recent version: cue many hours of grumbling and trawling through source code only to discover a sarcastic comment in a generic functions file explaining what I should do.

But anyway, getting my virtual hosts set up, getting PHP and Python and the various wikis and other sites I host all set up—that was pretty painless. I am impressed—not sure with what or whom, though somewhat impressed with myself.

So What Now?

I have momentum. I’ll speak about this more in another post (this one is long enough), but for a while I’ve been discontent and contemplating giving up coding altogether. (Yeah.) I’m feeling better now. Getting this new blog up has been a huge success.

Over the next few months, I need to continue working on this blogging platform. Although it is stable enough I feel confident switching to it permanently now, there are plenty of rough edges in need of refinement. You’ll notice some of the styling isn’t quite right yet. I also have some smaller projects I’m working on that will take up some time.

Even longer-term, I need to overhaul the rest of the site. I can’t remember the last time my blog and website actually used the same design—but it will happen someday! The main site needs a serious upgrade, but first I have to make some tough decisions. As much as I love Symphony CMS—and still heartily recommend it—I’ve really enjoyed working with Python. So I need to look into … options.

In the short term, I need to step back from this whirlwind of activity. I’ve worked hard over the past week, and I neglected my reading and my knitting in favour of this little adventure. I’m working, of course, including teaching a Grade 12 English course in the afternoon—we just started our novel study. Time to get the balance back.