Edia builds serverless infrastructure to ease workloads
Edia creates innovative mobile content as a "smart media company." Using Microsoft Azure, the company made its mobile game infrastructure serverless while aiming to reduce workloads for operating and managing infrastructure. To achieve its objectives, Edia moved from infrastructure as service (IaaS) to platform as a service (PaaS), containerized application operating environments, and automated build and release processes with Azure DevOps—initiatives that made the jobs of game developers much easier. The company aims to follow this success by expanding into other content and offering its experience of serverless computing as a service to the growing number of gaming companies interested in Azure.
Infrastructure management workloads remain heavy despite migrating from an on-premises environment to IaaS
Digital gaming continues to grow as a form of entertainment for the modern world, and because of the play-anywhere nature of online games for mobile devices, player numbers for these games are skyrocketing. However, to reliably deliver such games, companies must suffer the heavy workload of building, maintaining, and managing system infrastructure.
To ease this workload, Edia adopted Microsoft Azure.
Founded in 1999, Edia strives to create content brimming with originality, such as Cho Ramen Navi, a dedicated ramen information site, and MAPLUS Chara de Navi, a navigation app with voice actors. In another growth initiative, the organization expanded its business portfolio to include manga, music, and product sales by adding Team Entertainment and Hifumi Shobo to its group.
"In 2016, we shifted our on-premises infrastructure for developing and delivering games to a domestic IaaS cloud provider. However, the workload for managing operations became a major issue," says Shoichi Yamasaki, Technical General Manager at Edia. Because the company doesn't employ dedicated infrastructure administrators, application engineers are tasked with managing infrastructure. "Mobile games mustn't have any downtime, so application engineers were taking turns monitoring them," he says. "Player numbers are particularly high during year-end holidays, so we need systems that enable us to fix problems immediately. However, as we had few engineers with infrastructure skills, it sometimes took a while to respond when those engineers were on vacation. We needed to reduce the workload for operating and managing infrastructure and eliminate our dependency on individual skills."
To solve its issues, Edia focused on serverless computing using PaaS and containers. With serverless computing exploding in popularity around the world, Yamasaki believed the technology would be essential for producing and delivering future content.
"However, you need to learn new concepts to move applications to a serverless environment, so it's more difficult than moving from an on-premises virtualized environment to IaaS," says Yamasaki. When Yamasaki was searching for a way to overcome this challenge, an acquaintance introduced him to Microsoft. In 2018, Yamasaki met with Microsoft sales and technical staff and decided to hold a study session, marking the start of Edia's serverless initiatives with Azure.
Overcoming technical challenges with study sessions, creating serverless infrastructure, and implementing DevOps
First, in early 2019, Edia joined a study session at Microsoft's Shinagawa headquarters, where Microsoft educators taught Edia staff members how to use PaaS and containers and clarified specific serverless computing methods. Next, Microsoft engineers participated in an Edia-hosted study session, working with Edia engineers to write code and implement a proof of concept. The companies confirmed the feasibility of the project at the study session, and full-scale development began in mid-2019.
"We had been using the services of several mega-cloud vendors, but Microsoft was the first to follow our requests so sincerely," says Yamasaki. This support was a major reason behind Edia choosing Azure for its move to serverless computing.
"The user interface of Azure is easier to understand than that of other cloud providers, and it provides suggestions when performing operations such as creating resources," says Yuya Ota, Development Leader of Project Marine and infrastructure manager at Edia. "Another major benefit of our new serverless environment is that it [automatically scales] load increases from applications running on containers."
In late 2019, Edia released its first game to run in a serverless environment. The stability with which the environment delivered the game impressed the company, and in May 2020, it began developing its second serverless game. In addition to creating a serverless environment for providing the game, the company also automated build and release processes with Azure DevOps, which further reduced workloads.
Figure 1 shows the current system configuration.
First, game developers use Bitbucket, a Git-based solution for professional teams, to merge features into a specific branch in the development repository and push tags marking commits. The content is sent to Azure DevOps where an image is built and pushed with Docker, then released in the game runtime environment. The game runtime environment is divided into a client area, which provides the Web to enable user operations, and an API area that delivers the game system, both of which are built with Microsoft Azure PaaS functions. This runtime environment is located in both the Japanese region and US region, enabling developers to deploy game services in Japan and abroad.
Reducing workloads to operate and learn the environment, halving the time of build and release processes
"Migrating from another vendor's cloud IaaS to Azure PaaS slashed the workload for operating and managing system infrastructure," says Yamasaki. The ability to use the Japanese and US Azure regions has been another major advantage for the company, enabling simultaneous deployments in Japan and abroad. "With Azure Active Directory, it's easier to manage our developers' accounts and access privileges, which is another great feature not offered by other major cloud providers. We're still using Active Directory on-premises, but we are considering working with Azure in the near future."
Recreating the same application environment with IaaS requires administrators to retain detailed documents about the contents. In contrast, all the details of container environments are recorded in Docker files, so engineers can use the same Docker file to instantly replicate an environment. "Executing applications in containers has made it easier to launch runtime environments and understand their contents," says Ota. "We no longer need to modify documents and retain the revision history when a runtime environment changes. This also avoids the problem of a runtime environment becoming a black box if no one records a description."
Edia has also slashed developer workloads by using Azure DevOps. Developers used to write shell scripts for build and release processes. These scripts took a lot of time to maintain and only a few developers could maintain them, so the workload tended to fall on specific developers. Now, however, any developer that can use the Bitbucket Git solution can perform build and release tasks, which eliminates any reliance on the skills of specific individuals. The time spent on building and releasing has halved, and tests for release are automatic, eliminating oversights due to human error.
"Our efforts have created an infrastructure that application engineers can easily work with," explains Yamasaki. To date, the company has focused on building and learning the infrastructure, but it now aims to shorten game development time and increase profits. Edia will also implement serverless initiatives for data analysis—which is indispensable for increasing gamer numbers and boosting revenue—and replace its own development management tools with Azure Synapse Analytics.
"Moving from IaaS to Azure PaaS created an infrastructure that application engineers can easily work with. We plan to offer our Azure PaaS experience as a service to our customers," notes Yamasaki. "The number of gaming companies interested in Azure is increasing. We can create a new source of revenue by providing services which include infrastructure development and operation," he adds.
Edia will continue to play an important role in revolutionizing the infrastructure of the gaming industry by delivering these services and taking advantage of its Microsoft knowledge.
Moving from IaaS to Azure PaaS created an infrastructure that application engineers can easily work with. We plan to offer our Azure PaaS experience as a service to our customers.
Shoichi Yamasaki: Technical General Manager
Edia Co., Ltd.