Yesterday, James Somers of RapGenius published a very popular (and controversial) post on Hacker News about how Heroku changed the way the load balance between their dynos and this has made them 50 times less performant (for the same price) since before mid-2010.
This caused a lot of comments and feedback on Hacker News about the alleged “random load balancing” and how it hurts languages like Ruby most.
I haven’t done enough research on this particular change to say much about it, but I can certainly see how Heroku and other PaaS providers can get away with changes like that: by defining a non-comparable, non-transferrable unit of measurement like a dyno. Once you have one of those, hidden in the guts of your multi-layered complex architecture, sitting under a “web mesh” which is not quite a load balancer but acts somewhat like one, you can change a lot about those and charge the same money for them without much fuss from outside.
The truth is everyone tries to do that: VPS resellers sell servers with 2GB of memory but stretch the definition by “bursting”. CPU cores become “Virtual Processing Units” and are sold in fractions. I guess network traffic is the last standing universal and portable measure you can expect from a hosting company, and I wouldn’t be surprised if that changes soon with things like “preferred traffic” or something else.
Most of these changes are direct results of the effects of
virtualisation and IaaS and are unavoidable, but some can be changed for the benefit of users.
We definitely appreciate the convenience that PaaS brings: no
infrastructure, simple-single-click scaling and high availability and much more; in some use cases its definitely worth paying for. What we don’t like however is to not knowing what we are paying for.
At Cloud 66 we want transparency. We want to have as many universal, portable and convertible measures as possible.
That’s why we don’t do “random load balancing” and don’t have “web meshes” or dynos.
We want to combine the convenience of PaaS with transparency, control and flexibility of IaaS. We use open source, industry standard tools to balance the load amongst our open source and industry standard web servers. We monitor and manage those servers with real metrics that are comparable with other servers so you can have the freedom of moving your applications around to any cloud vendor you think is worthy of your business.
We want power to the people!