Brief results of the collaboration:
- The customer delivered a cross-platform system used by 50,000+ companies.
- Now, the platform aggregates 60 million records (10–20 GB of video metadata added daily) 20x faster.
Located in Dallas (TX), the customer is a provider of digital marketing solutions. Its product is a fully customizable video platform with a built-in e-commerce solution, billing system, statistics module, and video player that can be integrated with any website or social network.
Initially, the customer turned to Altoros to redesign its video e-commerce platform, implement a new architecture, and develop an HTML5-based player with an intuitive interface from scratch. The video player should be easily integrated with any web page or social network. The app had to be cross-platform and run in any web browser on desktop and mobile devices.
After a successful launch of the platform, the number of companies using it increased from 100 to 50,000+ within a couple of years. The system had to aggregate 60 million records containing video metadata—with 60,000–100,000 of new items added daily. To extract and analyze the data, it might take from 6 hours to a few days to do the job. Merely adding physical servers was no longer an option.
Since the customer was satisfied with the results of the previous collaboration, it turned to Altoros once again to enable the system scale horizontally.
In the course of the project, the team faced the following challenges:
- The solution should be highly scalable to process terabytes of data in real time.
- The system should ensure instant video streaming irrespective of users’ geolocation.
- The video player should run smoothly in any web browser, regardless of the video format supported (MP4, OGV, WebM, etc.).
To enable stable performance of the video player in various web browsers, the engineers at Altoros developed a module that automatically converts the uploaded video into three formats—supported by different browsers.
With HTML5, our experts ensured that watching videos is possible on any desktop/mobile client.
The video files are stored on the Wowza Media Server, which utilizes CDN—so, the system detects user location and finds the nearest nodes to provide fast and flawless streaming.
By building a Hadoop-based cluster with five instances, our engineers cut down the time spent on aggregating millions of data records to 15 minutes instead of 6 hours. Storing online e-commerce events (impressions, conversions, visits, etc.) in an HBase database enabled real-time read/write access and eliminated the scalability issues posed by the legacy MySQL database.
To run analytical reports, engineers at Altoros utilized Hive to generate batch reports and Apache Impala for online ones. To visualize online reports, our developers used the Tableau BI reporting server.
The customer was using the OpSource cloud hosting, so Altoros developed a special provisioning module for the service. When a user buys a subscription, the module automatically builds up the entire infrastructure. In case of an error, the system sends an automatic report to allow for further manual configuration.
The team implemented a new secure solution for the billing module. Now, the system does not store any data about user credit cards, banks, or PayPal accounts. When the user enters personal information, it is encrypted and sent to a BrainTree server. After that, all transactions are carried out with a unique token (user ID) that makes the whole system much more secure.
With its built-in e-commerce capabilities, the improved media platform helped our customer to offer this product for efficient content monetization and merchandise sales online. The application has already been successfully adopted by 50,000+ e-commerce companies.
Collaborating with Altoros, the customer enabled the platform to scale horizontally—now it can aggregate 60 million records containing video metadata (with 10–20 GB of daily raw data intake) 20 times faster.
Employing Apache Hadoop saved the customer around $40,000 per year for more expensive Oracle alternatives.
Tomcat 6.0, Apache HTTP
Frameworks and tools
Spring, Spring MVC, Hibernate, REST, Apache Hadoop, Magento, Wowza Media Server, OpSource, Hue, HTML5, Apache Impala, Hive, Tableau
MySQL, HDFS, HBase