I went on a real tear last night getting to a good place with the blog app project, to the point that I was able to migrate the ancient podcast site with very little effort. The old thing was running on ASP.NET v2 from 2005-ish. I literally don't remember how that worked. The new version is the same engine as this blog, with a different skin, and all of the underlying podcasts are in blob storage. The only "problem" is that Apple doesn't like podcasts being redirected (I do this because I want to count the download), but whatever. They haven't delisted it.
This got me to thinking... what other crusty junk do I have out there? I moved off of a dedicated server in the spring of 2014, but I haven't really had to do much of anything since then. Because everything is virtual, the underlying hardware just kind of gets better without me doing anything. But the software has changed a ton, as the old .NET Framework is on its way to retirement, and the newer multi-platform, crazy good performance flavor is stable and amazing. In fact, instead of being named "Core," it'll just be .NET. The big magic is that since it all runs on Linux and in containers and such, even on Microsoft's own Azure, it's cheaper. Or if I don't want cheaper, I can get essentially twice the virtual resources for the same price. (I want cheaper.)
So today, I started moving stuff on to the newer Linux stuff, which involves a lot of deleting things and provisioning things and pointing DNS to new places. With all of the smaller things, I did have one old thing I needed to convert, which was the short-link server cstr.bz, which I use for CoasterBuzz Twitter post links. That didn't take long, fortunately. CoasterBuzz is already written for Core, so I don't need to do anything there, but I also need to move that in the off-hours because it's too busy. Automation helped me with other things, where I just had to point deployment to the new things and they were good to go. Obviously the hosted forum app is already on Linux resources. Six months in, zero downtime.
Basically, the last thing that I need to change code to move is PointBuzz, and that's going to suck a little. It uses the old MVC framework, which isn't too hard to migrate, but there's a ton of old Entity Framework in there, which does not migrate easily, and sucks anyway. I regret using that crap. It's a leaky abstraction that bleeds across boundaries and it's never efficient.
The one thing that's still a pain is certificates. As Google wants everything to be secure, you can't not have them. But you also shouldn't have to pay for them or have to manually update them. There are some open source projects that assist with this to an extent, but they're brittle and hard to setup. Doing manual certs is easy, but they're only good for three months. I hope this gets easier over the next year.
On the bright side, we still can't do the fun things like leave the country, so I suppose this is how I'll spend weekends for awhile.