I definitely agree with you. This is why, nowadays, I design all my deployments to be repeatable, and document what cannot be (not much, so far).
I get a Hetzner box that I know will probably last me for the lifetime of the app. If it doesn't, and I actually have ten million users, I have a good problem, and will study how to overcome it at that point.
I think I don't need the cloud until I need a fourth dedicated server. That sounds like a good rule of thumb. It also depends on your growth rate, if it looks like another server will last me another five years, why pick a cloud offering?
I think that EC2/dotcloud/etc are pretty close to the metal anyway, it seems to me that you get the high prices with fewer benefits. Can someone tell me what the advantage of EC2 is, given that each dedicated server has 32 GB RAM and no contention, and that EBS is known to be really flaky?
While you're right that EC2 is pretty close the metal, dotCloud starts at a very different level of abstraction. On most VPS providers (as with dedicated hosting) the first question you answer when you go to deploy your web app is "what Linux distro do you want to run?" If you're trying to learn sys admin skills, that's great, but for most people, the end goal is to deploy a web app, not run a Linux box.
With dotCloud, you start higher up: list the components (eg Python web frontend, MySQL and Redis) that make up your actual application, push your code and you're handed back a URL with your app running. A single command lets you scale out for reliability, with load balancing across your multiple web front-ends and master-slave replication for your databases. Running a single physical server? Sure, not that hard. Setting up reliable, automated failover for every component in your stack? That's a bit more work.
In the end, it's really a question of the value of your time. Can you do all your own sys admin work? Sure. You could also build and maintain your own hardware, but from the sounds of it, you've decided that work is worth outsourcing Hetzner.
In the same way, for a lot of people, wasting time administering servers is just time taken away from building a real business: a distraction that is worth paying a few extra dollars a month to make disappear.
I get a Hetzner box that I know will probably last me for the lifetime of the app. If it doesn't, and I actually have ten million users, I have a good problem, and will study how to overcome it at that point.
I think I don't need the cloud until I need a fourth dedicated server. That sounds like a good rule of thumb. It also depends on your growth rate, if it looks like another server will last me another five years, why pick a cloud offering?
I think that EC2/dotcloud/etc are pretty close to the metal anyway, it seems to me that you get the high prices with fewer benefits. Can someone tell me what the advantage of EC2 is, given that each dedicated server has 32 GB RAM and no contention, and that EBS is known to be really flaky?