TeamCity
Powerful CI/CD for DevOps-centric teams
How Playrix Uses TeamCity to Run Thousands of Builds per Day
Playrix is among the top 3 mobile gaming companies in the world. Headquartered in Dublin, Ireland, Playrix serves over 30 million users worldwide daily. Some of their best-known games include Homescapes, Fishdom, and Gardenscapes.
The company runs over 10,000 builds every day, using 220 TeamCity build agents and running CI/CD processes for over 2,500 projects. The Playrix TeamCity server runs in the cloud. As is fairly common for game development companies, Playrix operates huge repositories of up to 50 GB each and generates large artifacts.
Before moving to the cloud, the TeamCity server was installed in one of the offices while build agents were also running on-premises in the same office. Eventually, this setup ceased to be efficient. During network outages, engineers couldn’t access their builds. Build queues would take hours to run during peak hours.
This led the company to start looking into how it could improve its CI/CD infrastructure.
Solving the Challenge With the Help of TeamCity and AWS
To improve the availability of their CI/CD infrastructure, the Playrix team first moved their TeamCity server and artifact storage to the cloud instead of having build agents running across multiple on-premises locations. According to Yuri Trufanov, Executive Technical Director of Technology Platform at Playrix, this setup allowed for a more predictable and stable connection than having the server stored in a remote office location.
After putting the TeamCity server in an autoscaling group inside a Docker container and setting up a Nomad orchestrator, Playrix also set up a task with TeamCity on top of the orchestrator. The team also moved build artifact storage to Amazon S3 Artifact Storage while the TeamCity database was stored in Amazon Aurora MySQL.
The result was a much more reliable and stable setup. In case any office drops out, the build queue only gets a little longer.
The next thing that the Playrix team looked at was autoscaling build agents in the cloud. The problem that Playrix was trying to solve was extended build queues during rush hours and build agents sitting idle at night. The team wanted to allocate resources more efficiently and optimize costs.
Playrix successfully adopted TeamCity Cloud Profiles to solve this problem. “We ended up with a hybrid cloud solution that included TeamCity Cloud Profiles and AWS. In addition to that, we had on-premises computers for build agents. This combination allowed us to accommodate any number of builds throughout the day, while also providing a baseline agent count for off-hours. We could run whatever we wanted, wherever we wanted”, says Yuri Trufanov.
Read the full case study to find out how Playrix managed to speed up their builds while also cutting costs by almost 10 times.