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.
This blog. Lives at kryogenix.org/days. Permalinks at /days/YYYY/MM/DD. Can be themed.
Comments on the blog
Arbitrary files at arbitrary URLs
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
(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!
So, LazyWeb, here’s your chance. Fill me with your knowledge and ideas!