Moving from Wordpress to App Engine

I'm simplifying. After 715 days of continual operation, I've just turned off my Rackspace Cloud virtual machine. I've moved everything over to App Engine and Google Storage, which provides essentially free storage and hosting on a system I never have to monitor, patch, upgrade, or worry about.

In the beginning

I think Rackspace Cloud is great if you want to run a machine instance in the cloud. Rackspace Cloud came from Rackspace's acquisition of Slicehost, a very developer friendly hosting service. The Slicehost tech went right into Rackspace Cloud, and the bandwidth went "pay as you go". My sites used very little bandwidth, so years ago I happily went over to Rackspace Cloud.

Modern day

My little Linux virtual machine was supporting a few sites I kept running, including alohaonrails.com, sethladd.com, and higherorderfunction.com. I never kept the machine up to date, and was probably running a few security vulnerabilities. Keeping a Linux machine up to date and locked down is not a trivial job. The pressure of continual updates (both the easy updates and the full system upgrades) plus the small consideration of a monthly bill lead me to conclude that I needed something easier, more secure, and essentially free.

Using the extreme power of Google to host my one page vanity site

There are a few ways to host a static site for essentially free.  The always great Heroku can host a static site if your needs are modest. Turns out Github can also host static sites, complete with snazzy Jekyll support. In fact, you can even use Amazon S3 to host a static site (also using Jekyll!)

My favorite option was App Engine to host my static site. No real science behind the decision, only that I like to keep things under one roof and I'd like to reduce the number of accounts I need to remember. I get free hosting, a generous quota, and I never have to worry about updating or patching my system again!

Dynamic to static

I like Wordpress. Lots of people use it, it's well supported, and it's flexible. However, just like I loath to keep a server up to date, I loath to keep Wordpress up to date. Moving from Wordpress to App Engine for my static site was an obvious choice for my small static sites, and fairly straightforward.

Using the power of wget -m http://example.com I spidered my sites and dumped all the files into a directory. I manually pulled in any CSS background images, which wget's mirroring isn't smart enough to pull down. I had only a very small amount of manual tweaking, and I was impressed by wget's ability to make a static copy of my site.

One small hiccup

Everything went swimmingly until I remembered that App Engine can only serve files 10MB or less via its standard file serving infrastructure. Anything bigger and you have to use the Blobstore or Google Storage. The quick and easily deployment system for App Engine doesn't handle these big files, you need a separate workflow for anything bigger than 10MB.

The Blobstore is really meant for handling file uploads and storing content your web service generates, not necessarily optimized for your directly uploaded assets. Enter Google Storage Service, which is file hosting in the cloud. For my few "big" files, I manually uploaded them to GSS and fixed the links in the HTML. This might be costing me a few pennies, but that's a small price to pay for hands-free hosting.

Running free

Now with everything on a platform, I can rest easy, run more securely, and save a few bucks a month in the process.
5 comments

Popular posts from this blog

Converting Array to List in Scala

I ported a JavaScript app to Dart. Here's what I learned.

Minification is not enough, you need tree shaking