Milyoni Changes the Game for Movie Studios with Facebook-Scale “Social Cinema” Powered by Heroku
Milyoni is changing the game for Hollywood with social movie rentals on Facebook. With the Heroku cloud application platform, Milyoni created a new Social Cinema offering in four weeks. Then the growth ride started. Business and traffic grew and grew, with Milyoni on track to deliver more than 1,000 feature films and other titles on Facebook by the end of 2011. Heroku’s scalable platform grew with them easily across more apps, more studios, more titles, and more users.
A Compelling New Opportunity
Since 2009, Milyoni helped more than 50 companies sell products on Facebook. But that focus changed in early 2011, when Milyoni was delivering a proposal to Warner Bros. “Warner Bros. wanted to rent movies on Facebook and asked the question: How quickly can you make it happen?,” recalls David Raycroft, Founder & VP of Product Strategy at Milyoni.
Milyoni knew that it already had most of the code it needed, in a number of languages and systems. The big challenge would be making it work together and deploying a scalable infrastructure. “Scalability on Facebook is a different world,” says Regan Poston, Founder & VP of Customer Success at Milyoni. “When you post on a page with 25 million fans, you get huge traffic spikes. We needed a prototype to show Warner Bros. and couldn’t afford to waste time and energy buying, deploying, and managing servers—or scrambling to add more servers when it took off.”
Initial Concept to Massively Scalable App
Milyoni threw everything it had at the opportunity to get a prototype within days, leaving the necessary infrastructure to Heroku. “Heroku was the only way to deliver as fast as Warner Bros. wanted, giving us unparalleled developer productivity, an open architecture, real visibility into application performance, and unlimited scalability,” says Poston. “Best of all, we didn’t have to build any of it on our own.”
Development started on February 7, with Heroku’s open platform making it easy to reuse existing Java and Ruby code. Two days later, a simple git push heroku master was all that was required for deployment. Milyoni showed a live, working prototype on Facebook to Warner Bros. at the end of the first week and then worked closely with Warner Bros. to refine the app. “Deployment to Heroku took seconds, enabling us to focus entirely on development and achieve two to three iterations a day.”
A month later, fans were watching The Dark Knight on Facebook. “Reaction to The Dark Knight was extraordinary,” says Poston. “We were ready for heavy demand, yet we still had to scale up three times within the first few hours. Thankfully, Heroku gave us real time visibility and let us instantly add capacity.”
Supporting Rapid Business Growth on Heroku
The next day, other studios started knocking at Milyoni’s door. Warner Bros. debuted an additional nine films over the next few weeks, including Harry Potter: The Deathly Hallows – Part 1. The company quickly realized that this wasn’t just a one-off app for a client; it was a new way for movie studios to engage with fans and a rapidly growing new business for Milyoni.
The app was scaling well, but Milyoni needed a multi-tenant architecture designed to support multiple studios. Developers spent six weeks cutting code, adding sophistication to the app—including an admin console so customers could add titles themselves. By this time, Milyoni was pushing production updates live weekly, supported by daily deployments to a live test environment on Heroku. “The app itself became much more complex, but Heroku’s enterprise-class platform continued to handle it with ease,” says Poston.
Today, with 1,000 titles planned through the end of 2011, Milyoni still doesn’t worry about scalability. “Heroku continues to scale just as well for us as it did when we started out,” says Poston. “Scaling from 10x to 30x as we continue to grow has been just as fast, easy, and reliable as going from 1x to 3x on that first day.”
A Deployment Platform Designed By Developers, For Developers
Heroku gave Milyoni an enterprise-class infrastructure that was productive, scalable, open, and extensible. “Social Cinema turned out to be a bigger deal than we ever imagined,” says Raycroft. “And Heroku was the easy choice to support our agile development process and scalability needs.”
- Agile and Productive. With Heroku, developers at Milyoni don’t need to even think about virtual machines or servers. “Heroku is a software developer’s dream because it lets them spend 100 percent of their time on new functionality,” says Poston. “Just as important, they can deploy new code for immediate customer feedback in seconds—knowing that the process will always ‘just work.’”
- Scalable. Heroku delivered immediate, unlimited scalability, enabling Milyoni to support massive user peaks on Facebook—without having to call a hosting provider’s support number to provision and configure new servers. “We never think about servers; Heroku took all of that away,” says Poston. “Moving forward, we plan to build on Heroku’s open APIs for monitoring queue depth, so that the app itself can tell Heroku when it needs more resources, and not pay for them when load is low.”
- Extensible. Heroku’s broad range of add-ons made it easy with prebuilt functionality that just works. “Heroku add-ons enabled us to improve our apps’ plumbing without pulling developers off delivering new features,” says Poston. “NewRelic proved to be great for visibility into our application. We also used Memcache, Hoptoad, and others. The Heroku add-on library makes our developers feel like kids in a candy store.”
- Open. As an open platform, Heroku enabled Milyoni to use its existing code and the right languages for the job. “We’re a polyglot development shop, no single language is right for all tasks,” says Poston. “Heroku gives us the choice to use whatever we want, including our existing Java code and new Ruby code. Put simply, Heroku supports the way our developers want to work.”
Looking back at how fast Milyoni has grown its new Social Cinema business, Raycroft acknowledges that Heroku was a key enabler. “With Heroku, we can stay focused on delivering new products as quickly as possible—without having to worry about servers or VMs, deploying new code, monitoring apps, or scaling them,” says Raycroft. “When Heroku says that its platform was designed with a singular focus on developer productivity, they’re not exaggerating.”