Migration of NCSOFT Game Servers to Kubernetes
NCSOFT, established in 1997 and headquartered in South Korea, is a key leader in online games with its flagship product, Lineage. Today, NCSOFTs reach has expanded worldwide including locations in Ko …
Talk Title | Migration of NCSOFT Game Servers to Kubernetes |
Speakers | Kang Jeongsik (Software Engineer, NCSOFT), Kim Junghyun (Director, Infrastructure Division, NCSOFT), Son Junho (Software Engineer, LINE) |
Conference | KubeCon + CloudNativeCon North America |
Conf Tag | |
Location | Seattle, WA, United States |
Date | Nov 7- 9, 2016 |
URL | Talk Page |
Slides | Talk Slides |
Video | |
NCSOFT, established in 1997 and headquartered in South Korea, is a key leader in online games with its flagship product, Lineage. Today, NCSOFT’s reach has expanded worldwide including locations in Korea, China, Japan, the UK, and the US. The company operates many of the most successful MMO games that have been enjoyed by tens of millions of players around the world. NCSOFT has been successfully operating multiple game services with thousands of physical and virtual servers for 20 years. But inefficient use of servers grew gradually as time went by, and there was also the need to respond quickly to temporary server increments for marketing purposes. Moreover, fast provisioning and deployment systems were required to prepare for mobile games. For this reason, we have prepared for the introduction of Container technology from late last year. As our first target, we chose a number of stateless web servers and API servers that offer common functions. The Infrastructure configuration consists of OpenStack, Kubernetes and Docker; Kubernetes and Docker were built upon OpenStack. We changed the existing deployment system to be compatible with Docker/Kubernetes, and under careful consideration, we underwent tests and gradually applied the changes. And that brought us to a successful migration, with the results showing no problems at all. The results show that existing VM amount decreased rapidly from 52 to 8, and unnecessary processes like creating VMs and installing software one by one on each VM were also removed. Furthermore, it enabled doing Rolling Updates dozens of times a day without any service interruption. At the moment, we are preparing a new mobile game to be run on Kubernetes. Regarding continuous deployment on hybrid environments such as OpenStack, AWS and GCP, we are internally developing APIs for our hybrid environments.