Basketball 1on1’s Journey to cloud with Kaopiz

About “Basketball 1on1”

1on1 Ranking is an ambitious project initiated in 2016 by Ethan Co., Ltd. to create a platform allowing sport lovers to play 1 on 1 against another one and preserve videos as well as achievements of those games. The first phase aimed to work with 1 on 1 basketball games, thus named “Basketball 1on1”.

“Basketball 1on1” is not only a platform for recording results and ranking players (currently available in 26 countries), it is also a social network that helps players easily search for opponents in their area. The app can record a video of a match then send it straight to the backend server. Besides, avatar personalization feature allows users to choose avatars that fit their style and preferences. “Basketball 1on1” is different from any other apps as it brought all the features which a basketball player may need into just one app. The initial goal of “Basketball 1on1” is attracting at least 10,000 users worldwide, and expanding to the other sports.

Challenges

“Basketball 1on1” allows its users to record videos of basketball matches and upload them to the server with their cellphones. This feature requires a safe, high-performance and highly-available backend solution that can handle multiple uploads with optimal speed in different countries around the world.

As long as there are not too many users, the cost for the server and data storage must be managed as optimally as possible. Throughout the project, all these details must be calculated to ensure that the system operates smoothly without error and affecting the user’s experience.

Our technical leader assessed many options, including using physical servers or renting servers from different providers, however, he could not assure the whole team that all mentioned constraints would be satisfied until he explained about AWS.

Solutions

Kaopiz is a IT outsourcing company based in Hanoi and Tokyo, entrusted by many enterprises and startups to develop software, including architecture design and deployment. Tech savvy engineers at Kaopiz help customers find out the most appropriate architectures that meet their needs. In the Basketball 1on1 project, AWS has been ultimately selected to ensure scalability, stability and availability involving uploading and preserving video data.

We use Amazon Elastic Compute Cloud (Amazon EC2) to run Web server and API Server, Amazon Simple Storage Service (Amazon S3) to store video data. Also they are combined with Auto Scaling group to deal with sudden changes of number of active users. Autoscaling completely frees the whole team up from constant monitoring and manual setup related works. At the beginning of the project when the number of users changed frequently, it eased our mind a lot.

Video uploading has been a difficult problem for traditional physical servers as they can’t serve users in 26 different countries with an equal speed and quality. Amazon S3 has a built-in Transfer Acceleration feature that makes the uploads faster without having to configure anything.

“Basketball 1on1” also uses Amazon CloudFront as the content distribution network service (CDN), making the distribution of server contents to users faster.

Benefits

By utilizing AWS for Basketball 1on1, we have been able to cut off a large portion of effort and accompanied cost related to configuration and management of backend servers. Since going-live, the system has been in a fairly stable condition without any downtime encountered so far. On the other hand, basketball players can promptly upload videos to the server without any problems on the data server’s speed and stability – no matter where their location is. It is amazing considering the reasonable cost of S3.

AWS really benefits us a lot by allowing the team focusing their resources on other important objectives – user attraction and product marketing.