Salesforce.com's Heroku responds to scalability complaint

Insufficient documentation on how to performance-tune a legacy Ruby on Rails stack led to a highly publicized complaint from one of the largest customers of Salesforce.com's Heroku PaaS (platform-as-a-service), Heroku has acknowledged.

As organizations become more comfortable with cloud services and use them for ever-larger workloads, cloud providers such as Heroku must continue to learn how to accommodate these large jobs, as well as support their customers with new issues in scalability that may arise.

Heroku previously used an intelligent load-balancing algorithm that would distribute incoming requests evenly among the servers (or "dynos" in Heroku parlance), but had changed to an algorithm that distributes work randomly to different dynos. Because the workload is not distributed as efficiently, Rap Genius would have to procure 50 times as many servers to get the same performance as it did with the previous load balancing scheme, Somers estimated.

As a result, Somers concluded that "Heroku is not appropriate for any Rails app that's more than a toy."

On Friday, Teich responded, admitting that the Ruby on Rails software stack that Rap Genius used, called Bamboo, has suffered in performance.

"In short, Ruby on Rails apps running on Bamboo have experienced a degradation in performance over the past [three] years as we have scaled," he wrote.

Although not mentioned by Teich, Heroku has since moved to a newer default Ruby on Rails stack, Cedar. According to at least one other Heroku customer, the service has been encouraging its customers to move from Bamboo to Cedar.

Heroku plans to post an in-depth technical review that caused the issues with Bamboo, as well as improve documentation for the service.

For others, Rap Genius' experience served as a lesson in picking the right cloud service provider.

"I still think Heroku is by far one of the easiest PaaS providers to get started with, but it is clear that if you are a Rails shop with heavy traffic, you'll want to go towards a more [infrastucture-as-a-servce]-like offering as you'll have more control over scalability and cost," wrote Andrew Glover, chief technology officer of App47, a mobile enterprise application intelligence service provider, in an email.

Others agreed that Rap Genius should have found another service to better fit its needs. Industry observer Matt Asay, a vice president of corporate strategy database provider 10Gen, criticized how Rap Genius handled its complaint.

"Seriously, what was RapGenius' point? Did fuming and shaking fists solve its problem? There's an easy solution: pay for a different service," wrote Asay in a Twitter message.

Heroku is one of a number of platform-as-service providers -- others include Google, CloudBees and Engine Yard -- that offer a hosted software stack for running online applications. The company first offered Ruby on Rails as a hosted service, but has expanded to offer other technologies as well, including Node.js, Clojure, Java, Python, and Scala.

Top Whitepapers

More and more government agencies are turning to a BYOD strategy. While this can make more transactions mobile and potentially decrease IT costs, they may also make the agency vulnerable to security breaches.
•One of the biggest threats is social engineering, a process by which an adversary tricks the user into offering up information or access rights.
•While there are several types of social engineering to be on the lookout for, there are three dominant attacks to watch
•As agencies debate expanded device and data management policies, creating a divide between personal and professional content is essential

Copyright 2015 IDG Communications. ABN 14 001 592 650. All rights reserved. Reproduction in whole or in part in any form or medium without express written permission of IDG Communications is prohibited.