News for hackers. Stuff that matters.
Re:Heroku XL by grandalf on Monday February 03, 2014 @11:05AM (#7171343)
Heroku made the bold decision to design its routing technology to be optimized for things like Node and Go rather than Ruby. So if you are using Ruby on Rails (like RapGenius) Heroku's platform will simply fall short, both in terms of efficiency and flexibility.

XL Dynos let you throw money at the random routing problem which helps routing efficiency at the expense of spend efficiency (b/c they are a lot more expensive and scaling down to 1 XL dyno is still pretty expensive).

In my opinion, if you're using anything other than 1X dynos on Heroku you are compensating for some other part of your stack being broken.

We're probably months away from Heroku having some serious competition in the super easy PAAS space. Heroku's high prices have summoned competitors en masse, and by some stroke of luck Amazon has not really made a serious effort to encroach on Heroku's profits.

Re:Heroku XL by bgentry on Monday February 03, 2014 @11:30AM (#7171540)
In my opinion, if you're using anything other than 1X dynos on Heroku you are compensating for some other part of your stack being broken.

You may want to read this section: https://blog.heroku.com/archives/2014/2/3/heroku-xl#understa...

Performance dynos give you much higher performance and much better consistency, resulting in dramatically reduced tail latencies over 1X and 2X dynos.

Choosing performance dynos for a high-traffic or performance-sensitive app is definitely not "compensating for some other part of your stack being broken"; in fact it's a very smart choice.

Re:Heroku XL by mark_l_watson on Monday February 03, 2014 @11:56PM (#7175599)
I tend to agree with you. For some large interconnected systems, long tail latencies have a high complexity cost because you need to code around the 1% cases when (for example) web service calls take much longer than normal to return results. Client code becomes more complex.
Re:Heroku XL by zrail on Monday February 03, 2014 @11:17AM (#7171437)
Running modern Rails on a threading server like Puma, especially on JRuby or Rubinius, would probably get an application within the same ballpark of concurrency. At the very least it'd be better than Unicorn or Webrick or whatever the heck Rapgenius was using to serve their app.
Re:Heroku XL by programminggeek on Monday February 03, 2014 @04:06PM (#7173484)
Running rails on JRuby and Torquebox (especially the upcoming version 4) would provide MUCH better performance.
Re:Heroku XL by oillio on Monday February 03, 2014 @03:50PM (#7173383)
It seems to me this move is to compensate for the well understood issues in their routing layer.

You can call these issues "bold decisions." In my opinion, it reads more like, "We don't know how to fix the problem. If you really want to pay for it, we will let you skip our routing layer and solve the problem yourself."

It is a bit disappointing. However, I've never had to write a routing layer to handle 60,000 requests a second, so I can't really fault them.

Re:Heroku XL by pvh on Monday February 03, 2014 @04:15PM (#7173537)
XL dynos use the same router as everyone else.
Re:Heroku XL by grandalf on Monday February 03, 2014 @05:00PM (#7173808)
Yes, but your process(es) on each dyno can do smart routing for all requests hitting that dyno.
Re:Heroku XL by mwcampbell on Monday February 03, 2014 @11:19AM (#7171451)
Am I correct in assuming that the relevant characteristic of Node and Go is high concurrency? If I'm not mistaken, Ruby can have that too, if you use something like Puma or Thin rather than Unicorn.

Python may be on the wrong side of this, though, as long as Gunicorn is the de-facto standard WSGI server for Python apps on Heroku.

Re:Heroku XL by grandalf on Monday February 03, 2014 @11:34AM (#7171570)
Not just concurrency but also boot time.
Re:Heroku XL by thinkbohemian on Monday February 03, 2014 @12:06PM (#7171842)
On my Production Rails app `time rails s` takes about 0m2.273s for me (Rails 4, Ruby 2.1.0). Not an insanely fast boot time, but nothing to lose sleep over.
Re:Heroku XL by grandalf on Monday February 03, 2014 @12:33PM (#7172097)
Roughly how many models and controllers are in the app?
Re:Heroku XL by mjn on Monday February 03, 2014 @12:53PM (#7172266)
> Amazon has not really made a serious effort to encroach on Heroku's profits

Amazon hasn't, but there are a reasonable number of simple PaaS competitors these days:

Microsoft's Azure (http://www.windowsazure.com/en-us/pricing/details/web-sites/): ASP.NET, PHP, Node.js, Python

Red Hat's OpenShift (https://www.openshift.com/): Java, Ruby, PHP, Node.js, Python and Perl

Nodejitsu (https://www.nodejitsu.com/): Node.js

Re:Heroku XL by shiftyrussian on Monday February 03, 2014 @06:47PM (#7174424)
Ninefold.com has a wider choice of server sizes and is paas similar to heroku
Re:Heroku XL by riffraff on Monday February 03, 2014 @12:59PM (#7172321)
amazon has elastic beanstalk, but it's still not as easy as heroku.
Re:Heroku XL by AJ72 on Thursday February 06, 2014 @06:44PM (#7193726)
Dyno Sleeping: Another interesting fact that hasn't been called out is that even with the Heroku XL Dyno, which costs ($580/mo), it will be spun down if not used for an hour. I don't understand how that matches the promise of 'performance' https://devcenter.heroku.com/articles/dynos#dyno-sleeping