Who would trust a proprietary hosting system?

(written by lawrence krubner, however indented passages are often quotes). You can contact lawrence at: lawrence@krubner.com, or follow me on Twitter.

The Pinboard blog lists the 5 stages of hosting. Of these 5, the 1st one is the most strange to me. Why would anyone trust their system to someone’s homebrew hosting version? What is the point of using a flexible, open source system like Rails if you then have to adapt it to the special, constricting rules of Heroku?

1. The Monastery

You run your site on an ‘application platform’ like Heroku, Azure, or Google App Engine. You design your application around whatever metaphors and APIs the service lays out, and in return you are veiled from all the mysteries of implementation. You never interact with the computer directly, but upload your code to the platform with the proper incantations and it runs. The orders vary in strictness, with GAE requiring that you purify yourself of all worldly design habits before writing your app, Azure insisting you renounce the demon Unix, and Heroku somewhat more welcoming to the fallen. On all three platforms, when your application needs more resources, you press the ‘more resources’ button. A lot of fancy sandboxing, monitoring and administration tools come standard, and it’s very easy to deploy and test different versions of your app.

Good: Skilled beardos toiling behind the scenes make sure everything Just Works. As long as your application obeys the commandments, you can have faith that it will endure any trial. Prototypes are fast and easy to build, and all you have to do to turn them into production services is add money. You don’t have to spend any time worrying about backups, load balancing, configuration, hardware, or anything except your app.

Bad: You have to design your app in a very specific way, and learn the holy texts by heart. If you decide to convert to another service, or become an apostate and run things yourself, you’ll find yourself having to rebuild from the foundations. Of course, being a programmer it will be more tempting to just create your own application platform instead. All this abstraction is expensive, and it can be hard to estimate cost ahead of time. It’s also easy to rack up significant fees if you don’t pay attention. You are vulnerable to sudden changes in the pricing model.

My own bias is towards dedicated servers, and given that we tend to listen most to information that confirms what we want to believe, I liked this comment on Hacker News:

as someone that has done colocation, dedicated hosting, and VPS, i’m a huge fan of dedicated hosting.
colocation was expensive and the hardware problems were all mine. i was pretty much tied to my local datacenter because i didn’t want to ship a server around (which would be at least a day of downtime). pricing can be hard to compare because of power/space/bandwidth. if the equipment i colocated didn’t have IPMI support, it could sometimes take up to a half hour to have a datacenter tech be able to put a remote console online when there were problems. at the end of it, i had a bunch of servers that were worthless on the resale market due to their age.

VPSes were never a serious option for the reasons stated in this article. it’s impossible to track down performance problems when a dozen other VPS customers on the same server are taxing the CPUs and disks. i do use one that i pay $10/month for just to run a network monitor for some off-network perspective. they can be useful for single-task servers that don’t need a lot of processing power like dns servers.

with dedicated servers, though, you can signup on a website and within a few hours have a complete server with modern CPUs, disks, and lots of memory assembled, tested, and connected to the internet with a remote console waiting for an o/s installation. when hardware goes bad, the server provider has lots of spare parts waiting around to be swapped in for free. and the best part of all, when you’re ready to upgrade or move to a different provider, you just cancel the account and let the provider worry about what to do with the old hardware. i have a handful of these on various providers costing between $140-$190 a month for something like a core i5 ~2ghz with 8gb of ram, 2 big sata drives, and 100mbit ethernet with more than enough transfer every month.

Having said that, I should say I’ve got most of my sites on the Rackspace Cloud, and its been a great experience.

Post external references

  1. 1
    http://blog.pinboard.in/2012/01/the_five_stages_of_hosting/
  2. 2
    http://news.ycombinator.com/item?id=3526767
Source