Once more to the Cloud
19 August, 2011 TweetA little while ago I was told that my current hosting (herein known as BRANNIGAN) provided by a friend would come to an end soon because it was basically just my shit on his dedicated server, which was costing him far too much money for what he was getting out of it. Fair enough, I got a great run out of it. It does, however, mean I've had to look at alternatives for what I currently host.
My "needs"
This covers more than what I'm currently hosting on BRANNIGAN, but as this is a SaaS/Cloud-ish post...
- Video hosting
- Photo hosting
- DNS management
- .NET host for project underdevelopment
- Host for this blog
- Static File Hosting (Non-photo image hosting, installer/code hosting, etc)
Video hosting is already covered by Vimeo (Plus), and photo hosting by Flickr (Pro). Those two provide fantastic quality video/images without needlessly over-compressing or destroying the metadata.
DNS Management
Most shared hosting packages allow you to host one or two domains. The higher up your plan is, the more domains you can manage. I've got a few vanity domains (both theleagueofpaul.com and aeoth.net point here), and do some trivial hosting for a couple of others, so this system of higher-web-hosting-plan-gives-more-domains just doesn't work for me. This led me to look at some free and paid DNS hosts who did nothing but that.
I ended up narrowing the choice between PointHq (hosts 10 free domains, then ~$50/year for 75) and CloudFlare. Although I was unable to fault PointHq, CloudFlare just seemed to offer more for the same price - free. CloudFlare operates on the basis of upselling you on some of their other services, but for what I need, it's absolutely free and has no restrictions - as a nice bonus I get some basic stats that don't rely on my web host or Google Analytics slowing it down. There were of course other free alternatives, but none were as responsive or had as nice an interface as either PointHq or CloudFlare.
.NET webhost
Although I don't have an incredibly pressing need for a .NET webhost, I decided to investigate what's around for an upcoming project. While Azure would let me host the site, the pricing is a bit on the painful side and doesn't grab my code. AppHarbor is "Azure done right" - I make a push to Bitbucket, Bitbucket pings AppHarbor, AppHarbor builds and deploys my site.
Since creating a test account and app for AppHarbor though, I've thought of at least three other projects that could take advantage of it very easily. This could be dangerous!
Host for this blog
My blog is currently running on Jekyll with comments outsourced to Disqus (wait, I should have included them?), so it doesn't have any processing overheads. Jekyll gives me fantastic flexibility and speed at getting a site up, so I don't want to abandon it for free/hosted blog services, but would rather just publish my own HTML.
Using rack-jekyll, David Padilla's guide to Jekyll and Heroku and Heroku as my host, I was able to get it going up on Heroku, hosted for free, and still maintain a source control repo like I have been doing (although I've been using Github instead of Bitbucket, purely because thats what Heroku works easiest with). This blog is now deployed to Heroku, and I'm incredibly impressed with the responsiveness/ease of getting new content up.
Heroku is a Ruby version of AppHarbor. Okay, that's not fair, AppHarbor is a .NET version of Heroku, but that doesn't make either of them less awesome. Heroku has a much prettier interface, but once you get into the admin panel I find AppHarbor a bit more functional - ie, I don't have to go to a remote command line client to bring up log/exception information.
Static File host
While both Heroku and AppHarbor let me host some files, I am limited in what binaries files I can host, and the more I have in source control, the slower everything gets, and that's where static file hosts come into play. The biggest players in town would be Amazon's S3, Rackspace's CloudFiles, Microsoft's Azure storage, and perhaps SoftLayer's CloudLayer. Initially I went with CloudLayer, as I mistook it for a comparable product, but found out CloudLayer CDN is probably closer to what the others offer. In reality, CloudLayer is probably closer to Dropbox - it has a syncing client (or just mount it as a drive), it doesn't cost much but doesn't give great performance.
In the end, I've settled for Rackspace's CloudFiles - I can access it easily via an API, their pretty good web interface, or use Cyberduck is now on Windows so I can use that for "FTP like" support. Like some of the other big file hosts, CloudFiles lets me set (multiple!) CNAMEs to my specific CDNs, so I can have http://images.theleagueofpaul.com to serve up all the images for my blog (hint: I'm doing that now).
Cloud Cost
| Vimeo+ | $59.95 |
| Flickr Pro | $24.95 |
| CloudFlare | Free |
| AppHarbor | Free (for my current use, may go up to $10/m for larger MSSQL database) |
| Heroku | Free (for my use) |
| Rackpace |
Then there is the data transfer. Let's say I do 10gb/month (unlikely at the moment, but may happen in the future), thats $1.8/month, or $21.60/year. That comes to $23.40, but I'll round up to $25 |
| Total yearly cost | $109.90USD (or up to $229USD if I get a larger database) (Thanks for the correction Michael on my bad maths) |
While that might seem like a lot, the majority of it is made up of Vimeo+ and FlickrPro. Now I have a good distribution network for files, I might look at a Rackspace powered self hosted photo/video sharing site, but those can get very expensive, very quickly. Say I have 10 videos I upload, at 300MB each. That's 3GB to upload - 24c. Then that's 45c/m to store or $5.4/year, but playback is where it can get costly. If each video is played 10 times in a year, that's $5.40.
At about $11/year for hosting that on Rackspace, Vimeo sure looks expensive, doesn't it? Except they host the original video, a HD version optimised for their player, a SD version and a 'mobile device' optimised version, there is no limit to how many playbacks - I don't pay extra. Currently I think I have ~15 videos, some of them have several hundred plays, but if I assumed they all had 100/year, that'd be $81/year just in bandwidth cost!
If you looked at it from just the hosting of my blog, again it might look expensive until you look at the limitations on things like the free Wordpress.com accounts and how quickly the premium accounts can become more expensive than this - $12-17/year for a custom domain, (5gb) extra storage comes in at $19.97/year, a custom design is $30/year, ad free is $29.97/year... those things add up!

