Don't Run You Own Servers
Let me disagree with Marco Arment
Marco was getting into it with Oliver Haslam over server hosting, and see this post by Brent Simmons. Marco extolled the virtues of running your own VPS or Virtual Private Server. He suggested that you learn Linux administration and port forwarding; that you learn how to setup mysql log shipping and read-only replicas.
Thanks, but no thanks. I've been an IT administrator and it sucked. I won't go back.
Platform as a service is the way of the future. I don't want to pick a Linux distribution. I don't want to be responsible for installing patches. I don't want to deal with setting up a load balancer. I want to write my server code, then click a few buttons to have that code setup across redundant machines with automatic load balancing, automatic backups, automatic monitoring, automatic security patching, automatic scaling (up to the cost limits I've set). I want the system to handle offloading jobs and to drop them if the load gets too high. I want the system to distribute my app across geographic regions and automatically route people to the closest one. I want my database to automatically commit to three separate nodes simultaneously to guarantee it will be up even if two machines fail. I want that database to get backed up daily and automatically, without even a single button to press. I want the option of having a test environment that is guaranteed to mirror my production environment. I want to click a single button and swap test with production, but keeping connection strings so the new code automatically hits the production database when deployed. I also want a single button to revert back to the old code if something went wrong. I want to be able to push updates with git or from my IDE. I want a web-based IDE with syntax intellisense that I can use if I happen to be on the road and need to fix a bug. I don't want to deal with a separate CDN, I want that built-in if I need it.
In short, I want my experience to be worry free. Being an IT administrator sucks, let someone else do it.
For me, that someone else is Microsoft Azure. It's integrated and automatically managed like Google App Engine, but with the flexibility of being able to run any language or framework you want (node.js, C#/ASP.Net, Ruby, SQL Server, MongoDB, Hadoop, Java, and more). Which is like Amazon or a cheap VPS, but without the headache of managing my own servers and configuration.
(For the curious, this blog is hosted on Silvrback because every time I've tried to start a blog in the past, I got derailed by the process of dealing with WordPress, themes, etc. I wanted something with extremely low friction and few options, just a blank space to type text. That way I can start posts whenever and whereever an idea strikes me, then come back and finish it later. I have no idea how it is hosted and don't care; unlike all those internet famous people I don't depend on this blog for income or promoting my business and almost no one reads it anyway. I almost wrote my own but that seemed too cliché)
This blog represents my own personal opinion and is not endorsed by my employer.