Frankly not every team has the time money or talent for sysadmin. I work for a tiny 4 man company, and we each build apps mostly on our own. We just don't have the bandwidth for sysadmin work. Heroku relieves us of that.
Sure if I was working on a single app full time with 2-3 other devs and a dev who was in love with sys-ops I would go with chef/puppet/vagrant and ec2 no question.
I'm definitely with you that sometimes unexplained exceptions of failed rake tasks occur and that is a little disappointing.
Most of this is ameliorated by time to deploy.
But as it is, despite it's limitations, Heroku has and continues to be fantastic.
Sure if I was working on a single app full time with 2-3 other devs and a dev who was in love with sys-ops I would go with chef/puppet/vagrant and ec2 no question.
I'm definitely with you that sometimes unexplained exceptions of failed rake tasks occur and that is a little disappointing.
Most of this is ameliorated by time to deploy.
But as it is, despite it's limitations, Heroku has and continues to be fantastic.