リノベーションチームの取り組みはもう一つあった。「IaC」(Infrastructure as Code)体制の構築だ。IaCとはインフラの設定をコードベースで管理する考え方のことで、システム運用・管理の効率化に活用される。リノベーションチームは一時的な組織で、将来的には引継ぎを控えていることから、運用しやすさの確保が必要だった。
ただ、ニンテンドーアカウントのIaC構築に当たっては課題があった。それは開発環境が多様なことだ。関連するゲーム・システムが多く、ニンテンドーアカウントそのものの開発環境、Switch用ゲームに関する開発環境、スマホゲームに関する開発環境など、約20種類の環境があったという。しかも環境ごとにスペックや設定も異なっており、共通した設定での管理が難しかった。
そこでニンテンドーシステムズは、AWSのIaCツール「Amazon CDK」を採用。IaCツールには「Terraform」など種類があるが「この設定は全環境で共通にしたい」「この設定は環境によって使い分けたい」といった細かい調整がしやすかったことからAmazon CDKの採用に至ったという。
例えば、サービス全体で扱うような要素は「ニンテンドーアカウントCDK」という枠組みで管理。アラートシステムに使った「Amazon SNS」などは個別に設定を管理した。設定を効率化すべく、各環境共通のTypeScriptライブラリを用意し、基本的な設定をある程度効率化できるようにした。
一方でFargateの設定はAmazon CDKを使っていないという。コードの設置を自動化するツールとの相性の問題が良くないことが理由といい、代わりにカヤックのオープンソースソフトウェア「ecspresso」(エスプレッソ)を活用したとしている。
マネージドサービスやIaCを活用し、リノベーションプロジェクトを進めたニンテンドーシステムズ。「運用体制も含め、継続性のある構成にできたと考えている」(桑原さん)という。
ただしPerlからJavaへの書き換えは現在も進行中。今後については「システムの開発運用に終わりはない。将来、さらに新しい技術が登場したり、環境が変化する場合もある。そのときはまたリノベーションを行う機会になる」(桑原さん)
Copyright © ITmedia, Inc. All Rights Reserved.
Special
PR