Why I Am Trying OpenShift
2017-03-10 - This post originally appearred on a blog hosted on OpenShift. As of 2017, I’m hosting this through GitHub Pages.
Well, having had some issues with my hosting provider over that last few months, it was time to evaluate other options for reliable hosting. I had moved to low-cost virtual servers instead of trying to self-host (or rent more-expensive dedicated servers), because:
- My traffic isn’t very high
- Most of my projects are purely side projects or experiments
- My own home internet connection is not up to the task of serving a website
- My budget is (appropriate for side-projects) very very small
And so I found myself with a very low cost VPS, running Debian, and for the most part, it works for what I need: A place to noodle around, install packages, and try hosting a few things for fun/myself.
Now at the price point I’m paying (less than CAN$20/year), this VPS I’m on doesn’t offer any full backups (or backups of any kind, really). Very well, ‘I’ve got some of those important files offline somewhere, I’m sure nothing will happen’ I think to myself as I’m hacking away at things, playing with
ferm (The firewall configuration tool), and some
And it looks like a combination of my hacking and the providers love of occasional restarts means that not only is my whole VPS inaccessible, but it seems GONE entirely. Screenshots they send me of their admin tools show someone ELSE’s disk image, and they can’t even do anything for me except give my a fresh image of Debian (or another distro of my choosing).
Ok then. Going to stay positive. Important files are ok… well slightly older copies of important files. OK. Configuration files are basically gone. Did not think to backup most of them. Starting fresh.
This time, I go through all the steps to put everything the way I like it. Setting up Apache/MySQL/PHP, my firewall rules with
ferm, and I document EVERYTHING step-by-step in a Google Document, to ensure I can re-create this again if need be. Yes, I’m still using this provider at this point, because my 1-year order is still going, and I doubt I could get any of the (very little) money back. Still, I’m learning things.
So then everything is set up. I have some backup scripts set up
But then, like it happens, I’m hosting a wiki for some friends. Nothing high-traffic, but still needs high availability. Everything is going well, and I email everyone to let them know how great it is.
And suddenly, the wiki stops working. Static pages on the same server are working fine, even other PHP-based pages seem to be functioning. I’m unable to login via SSH (connection drops as soon as my password is entered). Of course I’m sending a ticket to the provider.
I can’t restart the VM, because their web-access console is down. THAT is not a good sign, as that is not just for me, that is for all their customers.
I am able to login to sftp, and I immediately notice: There are a bunch of files (and a couple directories) MISSING. Just, not there. I am unable to download/upload or really do much at all. And without the ability to even shut the VM down, I don’t know what to think. My provider has been hacked? Is someone digging through my server right now? I can only wait for a response to my support ticket I submitted.
So while this provider offers a fantastic price for random development noodling, it sure can’t stand up to a proper production site, even if the audience is tiny and the revenue is nothing.
So it comes down to, is there a way to host something for high reliability, high uptime, low traffic, for close to no money?
So I look at the field: There is the traditional small VPS providers, shared hosting on larger servers, and then there are a group of app-hosting, platform-as-a-service (PaaS) providers now. Heroku, RedHat OpenShift, Google App Engine, or even Microsoft’s Azure or Amazon’s AWS Elastic Beanstalk.
Google’s App Engine is pretty good, and offers excellent free options for low-traffic sites. The problems arise because it is the most lock-in and custom development required. You must use the Google Datastore for data storage, unless you want to pay a lot more for Cloud SQL. Writing many files to the system isn’t really an option either, since it isn’t a traditional filesystem or Linux distro. I like it for small, custom projects, but it is very difficult to just drop in a wiki or blog software, or anything that is used to having a linux or Windows platform. I am powering a small PHP-based API interpreter, and a small site used mainly to test out Golang.