Urban Dictionary Shaves 30 Percent off Development Time

"I can deploy new code or scale up instantly, and can just as quickly roll back changes or give back unused capacity."

Zilla

Powered By

  • 84 Dynos
  • Zilla Database
  • NewRelic, Cron, Sphinx

Requirements

  • Seamless Migration
  • Effortless Scalability
  • Time-Saving Add-ons

Urban Dictionary Case Study

One of the Most Popular Websites in the United States

With 30 million page views per month, Urban Dictionary ranks among the country’s top 100 sites. Utilizing Heroku’s cloud application platform, Urban Dictionary can instantly deploy new code and just as quickly scale-up—all without having to worry about servers, scalability, or system administration.

Maintenance for Urban Dictionary Became Unruly

Urban Dictionary founder Aaron Peckham launched the site in 1999, moving to Ruby on Rails in 2008. While Ruby let him code faster, it didn’t address his need for scalability—or the hassles of system administration. “I was spending up to 30 percent of my time managing servers and deploying packages,” he says. ”I finally became fed-up when a configuration issue resulted in 70,000 error pages served.”

Deployment, Scaling and Maintenance Goes from Days to Seconds on Heroku

Peckham moved Urban Dictionary to Heroku’s platform-as-a-service. “Deployment to Heroku was easy, requiring just a git push on the command line,” recalls Peckham. “I remember sitting there for a few hours thinking that ‘It can’t be this simple; what have I missed?’”

In the past, it took Peckham a day to deploy a single new server. Today, he can scale Urban Dictionary tenfold or more in seconds. “The site currently runs on 40 Heroku dynos,” says Peckham. “With a simple heroku scale web=400, I can crank it up by an order of magnitude.”

Peckham uses several Heroku add-ons to augment his own code. Two of them are Flying Sphinx for full-text search and New Relic, which provides visibility into site behavior and performance. “New Relic is great; I wouldn’t run a Ruby app without it,” he says. Peckham also uses add-ons for Cron, Custom Domains, Custom Error Pages, Logging, Release Management, and SSL.

A Deployment Platform Designed By Developers, For Developers

Heroku gives Peckham everything he needs to stay focused on coding, not infrastructure.

Agile and Productive: “I can deploy new code or scale up instantly, and can just as quickly roll back changes or give back unused capacity,” says Peckham.

Scalable: “The last time a game involving Urban Dictionary caught-on on Facebook, traffic increased by a factor of 10 to 15 in a matter of hours,” says Peckham. “If it happens again, I can just crank up Heroku to 500 dynos and not worry about it.”

Extensible: “With Heroku add-ons, I can leverage proven, prebuilt functionality with virtually no effort at all,” says Peckham. “Everything is simpler because I don’t have to worry about as many moving parts.”

Open: “Heroku lets me use my favorite tools: RubyMine, Pivotal Tracker, and GitHub,” says
Peckham. “I don’t need to do anything platform-specific and there’s no vendor lock-in.”

Concludes Peckham, ”Thanks to Heroku, I can spend all my time on new features and other cool projects.”