This post originated from an RSS feed registered with Web Buzz
by Stuart Langridge.
Original Post: Hosting this website
Feed Title: as days pass by
Feed URL: http://feeds.feedburner.com/kryogenix
Feed Description: scratched tallies on the prison wall
At the moment this website is hosted on a dedicated machine leased from
Bytemark. The Bytemark team are superb,
and their service is great; if you're looking to run machines (virtual or
physical) that aren't in your house or company, go and see them. However, if
there's one thing that I've learned in the last fifteen years of running a website,
it's that I hate being a sysadmin (and Jono,
with whom I share the dedicated machine, is if possible even worse than me).
If the site goes down I just bury my head in my hands, and I hate, hate, hate
having to fix it. Whether it's because Apache's crashed or the backups have
stopped working or the machine's out of disc space or there was a kernel panic
or we've been slashdotted again or it's not responding or... man, I just don't
care. I used to find this sort of thing fascinating -- having
my own server, being able to fiddle with it and tweak it and deploy what I liked --
and now I just want it to go away. So I've been looking for alternatives.
This site, what with having been running for fifteen years and all, has
built up a pretty large collection of both stuff and infrastructure. So, here
are the things that I want, that I need, to preserve.
A blog
This blog. Lives at kryogenix.org/days. Permalinks at /days/YYYY/MM/DD.
Can be themed.
Comments on the blog
People can comment here. The commenting requires JavaScript already, so I'm
not averse to continuing to require that for a new thing.
Arbitrary files at arbitrary URLs
Over these many years, I have written and uploaded a whole bunch of stuff
here. There are images and random little uploaded things and HTML and CSS and
JavaScript files which are not part of the blog. Take, for example, sorttable,
probably the most popular thing I've ever written. So, these things are not
part of the blog at all. I have them already: I do not want to have to manually
type them all back in again to make them "static pages" controlled by the
blogging engine.
Redirect farms
Back in the early days, before we (that is: mpt and Mark Pilgrim, both of
whom have since killed their sites so I'm not sure how to link to them, and
others) thought up stable permalink URLs in a standard format (/blog/YYYY/MM/DD),
and by virtue of this place having been run by about six different blogging engines
(ones I wrote myself, Moveable Type, pyblosxom, Wordpress, the list goes on)
posts here have had many, many, many different permalinks. Also, the RSS feed
has moved around a number of times. I have a forest of redirect rules to make
sure that all those old links keep working (and 302 redirect to the newest
link), and I do not want to give that up. (Nor do I want to publish a given
thing in all possible places.)
So, how can I host this site with no sysadmin overhead and still do all the
above? I'll list the options I've looked at, and whether there's some sort of
a problem with each (hint: there is) and then you clever people can tell me
about ways I can fix that or options I've missed. Nota bene: I am
prepared to pay for whatever I come up with, as long as it's not too expensive;
I get some money back by no longer having the server, anyway.
Completely static hosting on S3/Rackspace Cloud Files/similar
It is possible to host a static website entirely on Amazon S3 and its
competition, and this seems like a good idea. It would involve using Disqus
for comments (which I am not keen on: anyone who remembers e-net-ation or
netcomments should know why (they were disqus, and went bust taking everyone's
comments with them)), but I can live with that if I have to. The big problem
here is redirects: you cannot do them, as far as I
can tell. So any old links to my site or my resources or my RSS feeds will just
break, or I have to multiply-publish everything that needs redirecting, which
is lame and wrong.
Completely managed site, on WordPress.com/SquareSpace/Tumblr/similar
I quite like this idea: it overcomes one of the other big weaknesses I have,
which is that I'm horseshit at design, by allowing me to one-click-choose a new
design, yay! However, this is a big problem because of arbitrary files. I quite
often write a new little JavaScript experiment or something -- one HTML file,
with a CSS file and a JavaScript file, in its own folder and scp'ed to my server.
This is fourteen million times harder and more annoying if I have to manage those
pages as "Pages" controlled by the CMS. I don't want that. I want to be able to
store static content by just ftp'ing it up or something similar. As far as I can
tell, none of the full-site-management stuff lets me do this -- understandable,
since they are full-site-management and what I'm asking for is an unmanaged
bit, but a problem nonetheless.
(Extra bonus deficit for SquareSpace: their blog URLs are wrong! They're
/YYYY/M/D, so 2012/8/5, rather than with the 0s in place, which will break
every URL on this blog. WTF, SquareSpace? Why would you do that? Huge
disappointment.)
However, I'm keen on this method if someone does it in a way I can use.
Old-sk00l web hosting
You know, a company which gives you a cPanel control panel and FTP access
and so on. My annoyance here is that suddenly I'm a sysadmin again, but one
level up; when a new version of WordPress comes out, I have to upgrade it myself.
It would be nice to avoid that.
PaaS-style hosting, like Google App Engine/heroku/dotcloud/appfog
Also under consideration. I'd have to be a bit of a sysadmin again -- that is,
I'd need to write (or maybe use an existing) blog engine designed for these things,
and publishing's a bit harder (I likely have to use their command line app,
rather than just FTP or similar, although dotcloud do SSH, which makes it much
harder to do from someone else's machine), and I'd need a bunch of complicated
redirection to handle all the static content, but it's doable. One thing here is
that they tend to be oriented around "let's make it trivially easy for you to
horizontally or vertically scale your site by spinning up new instances", which
is nice but my site ain't gmail. I don't need that, really, and so it suggests
that if they're devoting their attention to making that great, they're not doing
other stuff that I do care about.
Just have a server, man! it's easy, really!
Go away.
So, LazyWeb, here's your chance. Fill me with your knowledge and ideas!