Rakuten Viki is a global streaming site for Asian primetime shows and movies, subtitled in more than 200 languages. The client had an existing website with legacy microservices built on multiple technologies and with customized dependencies, making it difficult to maintain code and add new features. Gophers Lab implemented a solution for Viki, rebuilding the microservices in Go. This solution helped the client clean and maintain the code, allowing them to add more features with ease, save resources, and simplify testing.
About The Customer
Rakuten Group, Inc. is the largest e-Commerce company in Japan, and the third largest e-Commerce marketplace company worldwide, with over 1.3bn registered users globally.
Founded in 2010, Rakuten Viki is its premier global entertainment streaming site for people to discover and watch primetime shows and movies, subtitled by its community of fans in more than 200 languages. The site has made Asian entertainment global, with billions of videos viewed and over one bn words translated. Viki reaches around 40mn fans in more than 190 countries.
Viki’s existing streaming platform was based on legacy microservices, which were causing the following problems for the client:
- The legacy microservices were built on different technologies and had a lot of customized dependencies, making it difficult to maintain the code
- To add any new features to the existing site, Viki required a team of developers that knew all these technologies, along with performing extensive testing
Viki required a partner who could work on multiple technologies and make the code less complex and more maintainable. Gophers Lab helped Viki achieve its objectives by implementing the following solution:
- Built the microservices from scratch in Golang and deployed them independently
- Extensive testing to ensure existing issues were resolved
- Created the API documentation for the client
Tools & Frameworks
Redis, RabbitMQ, Audio-Video streaming
With Gophers Lab’s help in migrating the legacy applications that were built in Python and Ruby to Go, Viki was able to achieve the following:
- Clean and maintainable code and microservices that are independent of each other
- Ability to add new features without the need for developers from different technologies; hence, fewer resources are required to run, which helps lower operating costs
- Simplified unit and integration testing