Skip to main content

Huffington Post Moves to the JVM (Scala) for Enhanced Scalability

Posted by editor on August 16, 2013 at 7:41 PM PDT

John Pavley, CTO of the Huffington Post (a pretty major USA political news/opinion site), has announced major infrastructure changes at the site: Huffington Post will be switching from an architecture based on PHP and MySQL to one based on Scala and MongoDB. This news came out in John's recent blog post, Sneak Peek: HuffPost Brings Real Time Collaboration to the Newsroom.

In that post, John states the reasoning behind the changes:

In the past we've used PHP, MySQL, HTML, and JavaScript but those technologies, the workhorses of Internet applications, are no longer yearlings. To build the next version of MT, Kai and the Athena team, wanted to take advantage of a whole new "stack" of modern tech to write our humanistic code.

A C++ co-worker friend of mine, who recently found out about my involvement with Java, asked: "Do you think Java's going to remain a major language?" That's guaranteed due to the enormous depth of legacy Java applications that are operational around the globe. But, when you consider the fact that major young companies have chosen to convert their infrastructures to JVM technologies (think Twitter, for example, the HuffPost, and others), it becomes clear that when it comes to scalability, the JVM is considered well worth betting a company's future on.

John noted that "Facebook has worked miracles around the scalability issues of PHP" -- but as HuffPost CTO, he apparently wants to base the future of his company's infrastructure on something a bit more reliable than miracles. He notes:

Scala is a relatively young programming language with several modern ideas built into its design. Scala was built on top of the environment of the older and well tested language Java. So Scala gets the benefits of Java's performance and stability while enabling developers like Kai to write simpler, more robust, and more reusable code. While keeping things simple, safe, and reusable can be done in PHP it takes a tremendous amount of effort. Scala enforces humanistic coding by default. (You can write bad code with Scala but you have to work hard to do it.)

I guess the question is no longer "Will Java continue to be a major language?" -- it's more about the JVM at this point. Will the JVM continue to be a major platform for scalable software development? I guess that can be answered with other questions: Do we think the Huffington Post and Twitter will be around for a while? Do we think other companies won't notice the decisions HuffPost and Twitter made, in switching their entire infrastructures to the JVM?

Yes, my C++ co-worker friend: I do think the JVM / Java will be around and of considerable import for quite a while into the future!

Subscriptions and Archives: You can subscribe to this blog using the Editor's Blog Feed. You can also subscribe to the Java Today RSS feed and the blogs feed.

-- Kevin Farnham (@kevin_farnham)