こうして第2開発部は、以前からクラウドの研究を独自に進めていた戸張さん主導の下、Azureを中心に「Google Cloud Platform」(GCP)などを併用するマルチクラウド環境に移行した。メインの基盤としてAzureを選んだのにはいくつかの理由があるという。
一つはバージョン管理ツールとの相性だ。第2開発部ではもともとバージョン管理ツールとして「Subversion」を使っていたが、社員の要望を受け18年に「Git」に移行。しかしUnreal Engineとの相性が悪く、こちらも一部の社員から不評だったことから、結局2つのツールを併用する形を採用していた。
一方でデータの不整合など、ツールの併用によるトラブルも相次いでおり、対応に追われていたという。そこで、さらなる移行先として米Perforce社が提供するバージョン管理ツール「Helix Core」を検討。社内サーバでUnreal Engineとの相性などをテストした上で採用を決めた。
バージョン管理ツールの一本化に当たっては、ゲームスタジオが社内の認証基盤として採用していた「Azure AD Premium」との連携もチェック。テレワーク環境下でもセキュリティが確保できると判断できたことから、Azure AD PremiumとHelix Coreの両方を運用しやすい基盤としてAzureの採用を決めたとしている。
もう一つは「DevOps」に向けた統合環境の構築だ。DevOpsとは開発しながら自動でソースコードをビルドしたり、テストしたりする手法を指す。戸張さんは当初、「Amazon Web Services」(AWS)やGCPといったIaaSもメインの基盤として検討していたが、クラウド化を機にDevOpsを活発化させたいと考えていたため、「Azure DevOps」というDevOps用のマネージドサービスがあるAzureを選んだという。
こういった背景を踏まえ構築した新しい開発環境では、DevOpsやHelix CoreなどはAzureで、ゲームそのもののサーバや、APIサーバなどをGCPで運用する構成を採用。GCPを併用する理由は、API開発などでオープンソースの活用が多いことから、同じくオープンソースをベースにしたマネージドサービスが多いGCPの方が親和性が高いと判断したためという。
運用コストを減らす工夫として、GCPに加えて月額固定料金制のIaaSも併用。このIaaS上でHelix Coreのプロキシサーバを運用し、社員のアクセスを一度こちらで受け付けることで、従量制であるAzureの料金がかさむことを防いでいる。ただし、この仕組みで使っているIaaSのサービス名は非公開。
「一つのプロジェクトで何百GBのファイルを扱うので、チームの規模が50人や100人になり、全員がAzureから直接データをやりとりすると、かなりのコストになる。別のIaaSにプロキシサーバを乗せると、キャッシュの分はAzureに(アクセスが)行かないので、裏技的に使っている」(戸張さん)
クラウド化によってサーバルームが不要になったことから、オフィスのフロアも削減。こういった取り組みによりコストも削減し「普段の運用コストだけならオンプレミスの方が安いかもしれないが、故障したときにかかるコストなども踏まえると、クラウドの方が(コストパフォーマンスが)良い」という。
Copyright © ITmedia, Inc. All Rights Reserved.
Special
PR