Heroku vs EngineYard Cloud vs Joyent
blog.eliotsykes.com
blog.eliotsykes.com
1. There's no reason to believe that 6 mongrels on an EY small EC2 instance == 6 thins on whatever EC2 size Heroku is using. They need to be benchmarked.
2. DB Performance needs to be benchmarked. EY uses MySQL, Heroku uses Postgres or Amazon RDS (MySQL). I've heard that their postgres db is substantially faster than RDS.
3. Heroku gives you varnish, and it doesn't cost you any dynos. If you can use cache control headers, varnish is your friend. On EY you'll likely use Rack::Cache, which is fine, but it hits a mongrel. Heroku also does gzip and SSL before it hits your server, also saving you cycles.
4. App server redundancy with EY is expensive since you need a whole other small EC2 instance, with Heroku all your dynos are spread out.
5. If you want instant database failover (using MySQL replication), this is a extremely easy on EY, with Heroku it takes more work, you have to launch your own RDS instances. Of course, a small RDS instance is only $80/mo, beating EY and Heroku's DB offerings on price. RDS will have replication soon, probably at a lower price than EY. Of course, neither EY and Heroku haven't to my knowledge announced plans to drop their prices in November when amazon drops their EC2 prices by 15%. This would make both more competitive vs RDS.
6. EY likely has a better economy of scale, a 5ECU EY instance ($197 vs $125 for a 1ECU small) is probably more cost effective for CPU heavy requests than Heroku Dynos.
7. EY support ain't free. Keep in mind that EY support and monitoring are only there if you pay major extra $ on top of your infrastructure. It can easily nearly double your costs depending on your plan.
The cost of either one really will vary depending on which features you use heavily.
* "I think you'll find our support is hard to beat, because of our advanced support portal you can see [here], and because we offer 24x7 phone support."
* "We're convinced that we currently offer the best pricing in the industry for your expected usage; [explain here]. If you're getting a better price for that usage from someone else, we'll beat it."
* "We have a different architecture than other cloud providers, because we provide OS-level isolation from other customers. No other customer app failing in our cloud will impact yours, because [etc etc]"
And on and on. The direct jabs at Heroku here just make me think this guy is skeevy.
Direct comparisons would be reasonable and helpful although you'd be a fool not to vet them afterwards. If a competitor is missing a feature (24x7 support in this case), I'd say that's absolutely fair game.
One very simple reason why the direct comparison is a bad idea is right there in the blog post: Heroku falsified one of the Engine Yard guy's claims, and blew his credibility up. There's always a risk that can happen to you when you badmouth a competitor.
Be subtle about competitor flaws, and very very overt about your benefits.
I can setup a VPS with nginx proxying to tornado/node.js/etc that does streaming without a problem. However, there's the issue of scaling it out that's pain. You can use Linode's API or something similar but eek, what a mess.
Thoughts?
I have only used Heroku's free plan. I have run into a few small snags that made it unusable for some specific apps (example: couldn't upload high-res images reliably). I really like their management app and technology. I plan to use them for a smaller project soon.
Regarding this quote in the original post: "but to be honest he’s scared me off with those hundreds of dollars quotes like that’s nothing for a small guy startup like me to pay for hosting."
If you're a small, low-budget, bootstrapping startup then maybe you're comparing the wrong services. I think with Heroku and EnginYard both, you're going to pay a premium over simply getting a nice slicehost slice or SoftLayer server and setting it up yourself.