Game Insight is one of the world’s leading innovators of mobile and social games, with more than 300 million players around the world building cities, fighting dragons, and plotting money-making strategies in fantasy universes. To deliver the most immersive play experience at the lowest cost, Game Insight recently moved a very popular game based on open-source software from a hosted physical infrastructure to Microsoft Azure. Because of the on-demand scalability of Azure, Game Insight was able to reduce its game infrastructure by half, confident that it can grab more servers when it needs them. It also gains higher reliability, with Azure features such as redundancy and automated failover.
When an enormous fire-breathing dragon is bearing down on you with bloodthirsty intent, you want a lethal helping of compute horsepower behind your sword swing—meaning, no server stutters. Keeping its back-end server infrastructure primed with plenty of power for immersive play is the challenge of online game developer Game Insight, which has 14 games in operation played by more than 300 million people.
Don’t break the magic
“The server infrastructure of a mobile game is a very complicated aspect of the product—and vitally important,” says Alex Shirov, Chief Technology Officer at Game Insight. “No matter how good an online game is judged by other criteria, a poorly performing back end can introduce delays that break the magic of the make-believe universe and reduce all your efforts to nothing.”
Based in Vilnius, Lithuania, Game Insight is a leading innovator of mobile social games. The company was the first to develop hidden-object and simulation games for social networks and mobile platforms. Its games are available on all major storefronts, including the App Store, Google Play, Windows App Store, Amazon Appstore, Galaxy App Store, and Facebook.
“In 2013, when we launched titles such as 2020: My Country, infrastructure-as-a-service (IaaS) offerings were not as sophisticated as they are today,” Shirov says. The infrastructure for its older games consisted of multiple robust application and database servers running the Linux Server operating system, MySQL database, the Nginx load balancer, PHP code, Redis Cache, and Memcached. Delivering ample performance to global gamers required constant monitoring of gameplay and the preemptive addition of servers to eliminate performance lags and subsequent breakdowns in imaginary worlds. The company erred on the side of over-provisioning, which was expensive.
“At night, when millions of players go to bed, you’re sitting on unused infrastructure,” Shirov says.
Move gameplay to the cloud
By 2016, the IaaS market had matured significantly, and Game Insight felt the time had come to reconsider public cloud IaaS offerings for the back-end infrastructure of 2020: My Country and other older games. After evaluating the major contenders, it chose Microsoft Azure.
“I’m a longtime UNIX and Linux guy, and I was really surprised at how Microsoft has changed its focus from being a closed company with proprietary tools to embracing open source,” says Alexey Kvasov, Chief Information Officer at Game Insight. “Azure had everything we needed to run the LAMP stack.”
Kvasov is referring to a frequently bundled group of open-source software programs that includes the Linux Server operating system, Apache HTTP Server, the MySQL database management system, and the PHP programming language.
The Game Insight technical team also found that Azure “played well” with Terraform, an open-source infrastructure configuration and management tool that it uses.
Run lean, scale automatically
Within one week, Game Insight migrated 2020: My Country from a physical hosted environment to Azure, reducing its server count by half in the process. “Because it’s so easy to add new compute and database nodes on demand, we set up a much lighter infrastructure in Azure than we used previously, with the assurance that we could add more servers in minutes,” Shirov says.
An 8-server infrastructure—3 application servers and 5 database nodes—became a 4-server infrastructure in Azure: 2 application and 2 database nodes. All are Linux virtual machines in Azure running the OpenLogic CentOS operating system. The database servers still run MySQL, and the application servers still run Nginx, PHP code, Redis, and Memcached.
Game Insight got an extra performance boost by using Azure Premium Storage, which features solid-state drives (SSDs). “The SSDs in Azure were a game-changer for us,” Kvasov says. “By using them, we were able to squeeze five database servers into two servers.”
Shirov adds, “The Azure infrastructure for 2020: My Country is really flexible, allowing us to automatically adjust server capacity to meet gameplay needs in near-real time.”
Migrating 2020: My Country into Azure was straightforward. Shirov’s team spent three to four days upgrading MySQL and other software so that they would be ready to take advantage of newer tools in Azure. Team members connected the Azure infrastructure to Terraform. They set up the needed virtual machines in Azure and then transferred a half-terabyte of data into the cloud in a single night. Lastly, they switched game traffic to Azure.
Gain fail-safe reliability with far less work
By moving 2020: My Country’s game back-end infrastructure to Azure, Game Insight also gains improved reliability with zero effort. “We’ve never had games fail because of insufficient infrastructure, but it used to require a lot of work to ensure that,” Kvasov says. “In Azure, we’re always running on the safe side capacity-wise. Moreover, all Azure nodes are automatically backed up and automatically fail over if anything goes wrong. The whole Azure infrastructure is redundant and designed to be fail-safe.”
“We’re impressed at how rich the Azure development tool set is and how it is moving in the right direction,” Kvasov says. “Azure is a great contender in this market.”
To learn more about game development on Azure, click here