NCSOFT prefers to host its established games in-house, both to lower costs and to enable performance optimization in its stack. However, if there is an unexpected rise in demand from players, the company needed to be able to scale into the hybrid cloud smoothly. NCSOFT used Kubernetes* to establish a shared resource pool between the public and private cloud for hosting its application containers. As a strategic partner, Intel provided early access to the 2nd Generation Intel® Xeon® Scalable processor.
- Optimize performance using in-house infrastructure, to ensure players have an enjoyable gaming experience.
- Enable applications hosted in the data center to scale smoothly into the public cloud.
- Software modules that require dynamic performance and scalability are based on the Intel® Xeon® Gold processor.
- Worked with Intel to optimize application performance using Intel® developer tools and compilers.
- Used Intel® SSDs to accelerate the writing of player logs and other files.
- Deployed a hybrid cloud container-based infrastructure, with Kubernetes used to orchestrate containers in the hybrid cloud.
- Enabled fluid scalability in the hybrid cloud, striking a balance between the performance optimizations that can be achieved in-house and the scalability of the public cloud.
- Increased performance by removing storage bottlenecks.
Hosting Games Across the Hybrid Cloud to Lower TC
NCSOFT is one of the world’s premier publishers of massively multiplayer online role player games (MMORPG), delivering games such as Lineage*, Blade & Soul* and Wildstar* via the cloud to allow gamers to play online against each other in real time. Based in Korea, NCSOFT publishes several games a year. To ensure that players are attracted to a game and continue to enjoy it, NCSOFT strives to optimize the performance of its infrastructure and its software.
A significant challenge for NCSOFT and other online gaming providers is the unpredictable nature of the mobile online gaming market. Often NCSOFT is unable to predict the success of a new game in advance of its release, or expansion into a new geographic region.
To mitigate the risk of heavy initial infrastructure investment in a game where the success is so uncertain, NCSOFT, along with many in the gaming industry, has gravitated to launching new games using third-party public-cloud infrastructure. This has the dual benefit of reducing the up-front investment as well as supporting flexible auto-scaling if the game becomes a hit and there is a sudden increase in the number of users.
In the longer term, though, hosting the games in-house can cut the total cost of ownership (TCO). According to NCSOFT’s research, the cost of using the public cloud would be significantly greater than using its own infrastructure for the anticipated lifecycle of the Lineage M game. Hosting the software on-premises also gives NCSOFT greater control over its environment for managing security and optimizing performance. To deliver the optimal player experience, NCSOFT invests in tuning the performance of its infrastructure and software.
NCSOFT needed a way to scale its software smoothly between its on-premises server farm and the public cloud, and to migrate software from the public cloud into its infrastructure.
Orchestrating Containers Across the Hybrid Cloud
NCSOFT is migrating to a container environment as much as possible, although some modules cannot be containerized, such as Windows-based software.
NCSOFT established a hybrid infrastructure that spanned its on-premises server farm in Seoul and the public cloud, providing a single resource pool for hosting containers. For managing the cloud architecture, NCSOFT builds and maintains its own distribution of OpenStack*. For orchestrating containers within and between the public and private clouds, NCSOFT uses Kubernetes. In the event that performance spikes on a game that is hosted in house, resources can be scaled up using the cloud. NCSOFT can also more easily migrate games from the public cloud following a launch period, into its on-premises infrastructure. The core Kubernetes infrastructure is hosted on-premise.
To increase performance, NCSOFT is migrating its most performance intensive modules from the Intel® Xeon® processor E5-2600 v4 to the new Intel® Xeon® Gold 6130 processor. The Intel Xeon Gold processor offers 16 cores and 32 threads, and operates at a frequency of 2.1 GHz. Over time, NCSOFT intends to migrate all of its servers to the latest processor. Kubernetes is used to orchestrate the containers to the server that best fulfills their performance needs, with more performance-sensitive modules being allocated to the newer servers.
“We chose the Intel® Ethernet Converged Network Adapter X520 (Intel® Ethernet CNA X520) for its reliability, stability, and performance,” —Junghyun Kim, director of infrastructure and operations, NCSOFT
NCSOFT has also enhanced its performance using Intel SSDs. Multiplayer games such as those made by NCSOFT can have hundreds of thousands of concurrent users, all generating huge amounts of log data. The games require a relatively high write speed compared to the read speed, and the traditional hard disks were proving to be a performance bottleneck. NCSOFT increased the performance of its I/O by augmenting the hard drives with the Intel® SSD DC S3500 Series, and the Intel® SSD Pro 2500 Series.
NCSOFT uses the Intel® Ethernet Converged Network Adapter X520 for its hybrid infrastructure. “We chose the Intel Ethernet Converged Network Adapter X520 for its reliability, stability, and performance,” said Junghyun Kim, director of infrastructure and operations, NCSOFT.
The solution architecture was first developed in a proof of concept implementation, and measured using a load runner tool that tested processes such as loading game containers and other workloads, and accessing the user log files, with performance measured in transactions per second. The connectivity between the data center and public cloud was also tested, together with autoscaling and incremental server deployment in the cloud. Following a successful trial implementation, the infrastructure was launched in production.
“Intel’s training on development tools and compilers was hugely valuable in helping us to unlock increased performance in our software. We work closely with Intel to bring new services and technologies to market. Our cooperation ensures NCSOFT’s games compete in terms of performance, and also helps us to accelerate our time to market.” —Junghyun Kim, director of infrastructure and operations, NCSOFT
Technical Components of Solution
- Intel Xeon Gold 6130 processor. The latest generation Intel® processor delivers enhanced performance over the previous generation, and is used by NCSOFT for its most performance-intensive workloads, including the artificial intelligence of non-player characters, online chat, speech recognition, and graphics rendering.
- Intel SSDs. Solid State Drives (SSDs) set the standard for storage performance, stability, efficiency, and low-power consumption. With no moving parts, Intel’s rugged SSDs are excellent for use in devices and for applications that require speed and reliability.
- Intel Ethernet Converged Network Adapter X520. Intel’s family of adapters, the Intel Ethernet Converged Network Adapter X520 with SFP+ connectivity, are flexible and scalable ethernet adapters for today’s demanding data center environments. The X520 adapter family addresses the demanding needs of the next-generation data center by providing unmatched features for virtualization, flexibility for LAN and SAN networking, and proven, reliable performance.
Intel Is a Close Ally
NCSOFT has a strategic working relationship with Intel, with Intel offering guidance to help NCSOFT to get improved performance from its tools and technologies.
Intel provided pre-release access to the 2nd Generation Intel Xeon Scalable processors to enable NCSOFT to begin early work on proofs of concept and pilot projects using OpenStack and Kubernetes for their hybrid cloud infrastructure.
Intel has also worked with NCSOFT to help the company to optimize the speed of its performance-sensitive applications, including providing training on Intel® Software Development Tools and Intel® Compilers. In particular, Intel was able to offer consultancy on using Intel® Advanced Vector Extensions 512 (Intel® AVX-512), which was introduced on the latest generation processor and increases the amount of data that can be processed in parallel using a single instruction.
“Intel’s training on development tools and compilers was hugely valuable in helping us to unlock increased performance in our software,” said Kim. “We work closely with Intel to bring new services and technologies to market. Our cooperation ensures NCSOFT’s games compete in terms of performance, and also helps us to accelerate our time to market.”
NCSOFT anticipates that the solution will help them to optimize their total cost of ownership when the traffic is highly variable or unpredictable, lowering the up-front investment required for new games and enabling them to smoothly scale games hosted in-house if there is an unexpected spike in traffic.
Spotlight on NCSOFT
NCSOFT, established in 1997 and headquartered in Seoul, South Korea, quickly became a leader in online games with the successful launch of its flagship product, Lineage. Today, NCSOFT’s reach has expanded to include offices worldwide including locations in Korea, Taiwan, China, Japan, the United Kingdom, and the United States. The company operates many of the most successful and influential massively multiplayer online games on the market, games that have been played and loved by hundreds of millions of people around the world.
The key lessons that CSPs can learn from NCSOFT’s experience are:
- For the most demanding applications, the Intel Xeon Gold processor can be used to enhance performance.
- CSPs can use a hybrid of on-premises and public cloud hosting to enable autoscaling in the event of an unexpected spike in demand, beyond what the data center is configured to serve.
- The public cloud can be used to lower the cost of launching a new application, by eliminating the significant up-front investment required for establishing new hardware in-house. However, it may be more economical in the long run to operate successful applications in house.
- Kubernetes* can be used to orchestrate containers between the public and private clouds.
- Intel® SSDs can be used to increase the performance of write-intensive applications, where hard disks may prove to be a bottleneck.