As a pioneer home entertainment and the creator of the world’s first digital video recorder (DVR), a large part of TiVo's business comes from partnerships with leading entertainment and technology companies, including DirectTV, Virgin Media, Roxio and HP, among others. TiVo works with these partners to provide partner-branded set-top boxes that embed TiVo’s DVR technology and tie back to TiVo’s datacenter for services such as authentication, software updates and programming schedules. TiVo's infrastructure includes over 40 web services that provide these services for both TiVo and its partners. Prior to implementing Mule, TiVo integrated these web services in a point-to-point fashion using custom Java code.
As the number of services increased, the infrastructure grew in complexity, becoming more and more brittle. Every new service required an exorbitant amount of development effort and was difficult to maintain. Even simple configuration changes presented a problem - because of all the dependencies introduced by the point-to-point architecture, any change to the system would trigger changes that cascaded throughout the application. Because of the complexity, developers would need to meticulously test the entire system, making sure that the change didn’t have unintended consequences.
“As the number of services grew, we were becoming bogged down by the tremendous maintenance burden of our ‘spaghetti’ architecture,” commented Jason Whiting, Senior Information Technology Operations Manager, TiVo Inc.. “This problem wasn’t just an IT problem but a business problem, because weren’t able to bring on partners fast enough.”
As its growth continued to accelerate and new partners came on board, TiVo realized that it could not scale with the status quo - it needed a new architecture and integration model that could help in getting new partners up and running faster, reduce development costs, and ease the maintenance burden over time. The company made a strategic decision to move towards a service-oriented architecture (SOA), with an enterprise service bus (ESB) at its core.
In selecting an ESB provider, TiVo reviewed multiple offerings, with a short list that included Mule ESB and Oracle Service Bus. With its core product built on the Linux operating system, TiVo understands the power of open source, and took advantage in its evaluation, leaning on Mule’s broad developer community for technical help and validation. At the same time, given the mission-critical nature of TiVo’s service infrastructure, MuleSoft’s enterprise-level support offerings gave the operations team great comfort that there would be someone to turn to in the case of an issue or unplanned outage. The team selected Mule as the clear winner, based on a clear ROI case.
“We have been big believers in the open source model and what it can deliver to users,” said Whiting. “Mule represents the ideal combination of lightweight, standards based and robust technology that is the hallmark of open source projects, together with the enterprise-class stability and support that we need to be sure that we can stay up and running 100% of the time.”
Using Mule, TiVo has been able to cut development time for new services by up to 75% in many cases. In one recent example, an integration project that might have taken four weeks to develop using a point-to-point integration, was completed in just one week using Mule.
“Mule ESB has helped us streamline the process of adding new services and on-boarding new partners,” concluded Whiting. “If we can get new partners like Virgin Media up and running more quickly, with fewer errors and with less ongoing maintenance, that’s of huge value to TiVo.”