• >
  • >
  • >
  • >
  • >
Lightbend > Case Studies > Yap.TV Transitions to Typesafe Reactive Platform for Enhanced Scalability and Performance

Yap.TV Transitions to Typesafe Reactive Platform for Enhanced Scalability and Performance

Lightbend Logo
Customer Company Size
Mid-size Company
Region
  • Europe
Country
  • Poland
Product
  • Typesafe Reactive Platform
  • Scala
  • Akka
  • Spray.IO
Tech Stack
  • Scala
  • Akka
  • Spray.IO
  • ElasticSearch
  • Mahout
Implementation Scale
  • Enterprise-wide Deployment
Impact Metrics
  • Customer Satisfaction
  • Digital Expertise
  • Productivity Improvements
Technology Category
  • Application Infrastructure & Middleware - API Integration & Management
  • Platform as a Service (PaaS) - Application Development Platforms
  • Analytics & Modeling - Predictive Analytics
Applicable Industries
  • Telecommunications
Applicable Functions
  • Business Operation
  • Product Research & Development
Use Cases
  • Predictive Maintenance
  • Process Control & Optimization
  • Remote Asset Management
Services
  • Software Design & Engineering Services
  • System Integration
About The Customer
Yap.TV is a social guide to what's on TV and iTunes, allowing users to see what's new on TV, browse top shows, discover what their Facebook friends are watching, and get a personalized TV Feed full of media from their favorite shows. The company aims to enhance the TV viewing experience by integrating social media elements and providing a comprehensive guide to TV content. Yap.TV's platform is designed to cater to a wide audience, offering features that appeal to both casual viewers and TV enthusiasts. The company is focused on delivering a seamless and engaging user experience, leveraging technology to provide real-time updates and personalized content recommendations. Yap.TV's commitment to innovation and user satisfaction drives its efforts to continuously improve its platform and expand its offerings.
The Challenge
SoftwareMill and Yap.TV began working together in September 2011. At the time, the Yap.TV server was entirely Ruby-based. While this worked in the beginning, as the user base grew, high load on the servers, especially during prime time TV, caused significant issues with server performance and scalability. Not only was this degrading the end-user experience, but as new features were waiting in the backlog to be developed, key engineering resource time was becoming dominated by scaling servers and operations. Apart from serving traditional web traffic, Yap.TV also required an increasing number of background imports, taking together data from various sources. To handle the ever-growing amount of data to be processed, a performant (but at the same time - easy to program and safe) concurrent programming model was crucial.
The Solution
Yap.TV decided to re-engineer their backend systems with the help of software development from SoftwareMill. They formed a joint backend team to tackle the problems. The platform of choice was the Typesafe Reactive Platform. We evaluated a couple of alternatives, but the elegance and type-safety of Scala, the concurrency (actor) model used by Akka, the speed and power of Spray.IO in building REST services and the overall asynchronous model of the Typesafe Platform made it a clear winner. To ensure quick delivery, SoftwareMill gradually replaced portions of Yap’s REST API, starting from some simple endpoints to get deployment right, and then proceeding to the ones with the highest congestion. They promptly found that Spray.io, combined with the Scala language, enabled them to rapidly develop new web service endpoints. Typesafety saved the SoftwareMill team from a lot of debugging and the ability to create composable abstractions kept their code concise and easy to maintain. To implement the data processing pipeline, SoftwareMill used the Akka concurrent programming framework. Handling multiple, asynchronous data streams and processing them in real-time became not only possible, but also feasible to implement in a reasonable timeframe and a clear, understandable way. The Actor programming model itself, and the fact that instead of thinking about threads and synchronization, one has to think about actor behaviors and interactions, which happen asynchronously, made programming this system much easier. Importing data from third-party services (which in case of Yap.TV, include Twitter, Facebook, EPG and iTunes data, among others) is an inherently error-prone process, hence detecting problems early and recovering from them is crucial. Here again Akka was a good fit, due to the supervisor hierarchies and the let-it-crash philosophy.
Operational Impact
  • SoftwareMill helped Yap.TV develop a high-performance, resilient and scalable backend.
  • With the help of the Typesafe Reactive Platform (Scala, Akka, Spray.io), Yap.TV now has a solid server platform that is ready to accommodate not only increases in traffic, but also brand new problem domains.
  • The Scala ecosystem encourages a simpler deployment process, without the need to maintain application servers, allowing for multiple deployments per day without downtime.

Case Study missing?

Start adding your own!

Register with your work email and create a new case study profile for your business.

Add New Record

Related Case Studies.

Contact us

Let's talk!
* Required
* Required
* Required
* Invalid email address
By submitting this form, you agree that AGP may contact you with insights and marketing messaging.
No thanks, I don't want to receive any marketing emails from AGP.
Submit

Thank you for your message!
We will contact you soon.