edit: Oh, and you are getting vendor-locked and they can go Google-App-Engine on you.
edit: Oh, and you are getting vendor-locked and they can go Google-App-Engine on you.
It was .055 / hour when it launched in 2009. Back then, EC2 small instances cost .10 / hour (http://aws.amazon.com/about-aws/whats-new/2009/10/27/announc...).
Now? Heroku is .05 / hour, and small EC2 instances are .06 / hour. This is why I stopped using Heroku a year or so ago for anything I plan on paying for. They just let Amazon keep driving down their bottom line without passing any of those savings onto their customers.
I kinda feel like the service is either worth it to you at the price they're charging... or it isn't. I don't particularly care what their wholesale costs are.
Would the price for Heroku magically become "better" if they decided to switch from Amazon to a more expensive or less efficient backend? That can't be right.
Heroku has many alternatives -- hosting directly on Amazon among them -- but (IMHO) there are not many direct competitors. Doing it any other way involves different tradeoffs of time, money, skill, and maybe lock-in risk. I sometimes buy a burger at a restaurant even though I know I can make one at home. That doesn't automatically mean it was a bad call even if raw beef is on sale at the supermarket.
This is what you're paying for. The cost of that is the difference between hosting yourself on Amazon and what Heroku charges. That's the cost to your business of using Heroku. This cost has steadily increased. This isn't rocket science, and it certainly isn't burgers at a restaurant. I get that for some people that cost is a worthwhile expenditure, but as that divide widens, the number of people it makes sense for will decrease.
To try and equate this to your burger analogy, if raw beef kept dropping in price, but restaurants all charged the same, more people would cook at home, no? Now, imagine you're feeding 100 people a day. At some point the cost savings of cooking the beef far outweighs the luxury of sending 100 people to a restaurant.
Another thought: When you use Basecamp, are you calculating how much they are spending on hosting your data?
sure, you could run into some issues while doing it yourself but that risk isn't worth nearly $600 p/m IMO
For most production apps, you'd need at least a part time ops person to do things right. That's the kind of cost Heroku saves you.
If you compare this to deploying to "choose a generic VPS" the lock in is substantial. If any of my apps fail, I'm comfortable I can provision an Ubuntu VPS from any provider with a one line chef command and then deploy to it with one more.
So although Heroku isn't locking you in through any bad practices on their part, by using them you're choosing to make your workflow very specific to them. To me and quite a few of my clients, while Heroku is awesome for getting started, there isn't enough benefit for the increased single provider dependency and costs.
Not hating on them at all, I use them quite regularly, but I can understand where people are coming from when they talk about Vendor lock in. Perhaps a more accurate description would be single vendor dependency.
If you're using Heroku sure you could write that cookbook but in 90% of cases it's going to end up being unmaintained because it's there as a contingency that no-one uses in their everyday workflow. What's more for it to have real value it needs to be tested regularly to make sure it actually functions as expected.
So it's definitely possible to avoid the dependency as long as you don't mind adding a big chunk of devops work. At that point you've got to ask why are you paying the premium for Heroku if you're maintaining the devops expertise and codebase to deploy to a VPS alongside?