他業界出身者が多数活躍するインフラエンジニア組織。
目指すは「安定・スピード・コスト」の最大化!
-
取締役 技術基盤本部 本部長
菅井 健太
旅行関連Webサイトを運営する企業のサーバーサイドエンジニアとして勤務後、2010年にコロプラに入社。プロダクトマネージャーを経験した後、2017年に取締役に就任。現在は、技術基盤本部 本部長としてサーバーサイドエンジニアとインフラエンジニアの組織を指揮するほか、HR本部も管轄している。
-
技術基盤本部 インフラストラクチャ部 部長
實方 和幸
SIerのエンジニアとして活躍後、2012年にコロプラに入社。『白猫プロジェクト』や『クイズRPG 魔法使いと黒猫のウィズ』のインフラをメインで担当し、2020年に技術基盤本部 インフラストラクチャ部の部長に就任。ゲームのインフラだけでなく、社内ネットワークなどの社内インフラも管轄。
普段ゲームで遊んでいるときは、あまり意識することがなく、ゲームに不具合があったときに見えてくるのがインフラエンジニアの仕事です。いわば彼らの存在に気づかないことは、それだけ安定した高度なインフラが構築されているということ。そんな「縁の下の力持ち」とも言えるインフラエンジニアは、普段どんな仕事をしているのか。今回、技術基盤本部 本部長とインフラストラクチャ部 部長のお二人にスマホゲームのインフラにおける業務の特性と組織のミッションをお聞きしました!
- INDEX
- 【1】コロプラのインフラエンジニアの業務内容とは
- 【2】コロプラのインフラエンジニアが大切にしていること
- 【3】インフラエンジニアの組織体制と業務の特性について
- 【4】インフラエンジニアの採用で重視していることは?
コロプラのインフラエンジニアの業務内容とは
まずはコロプラのインフラエンジニアの業務範囲を教えてください。
實方 インフラエンジニアが所属するインフラストラクチャ部では、サーバーが必要なオンラインゲームのインフラをすべて管理・運用しています。業務範囲としては、コロプラのゲームだけでなく、グループ会社のタイトルも担当します。
どんな職種と連携することが多いですか?
實方 一番多くやりとりするのはサーバーサイドエンジニアと、SREチーム/LCEチームです。
菅井 ゲームの運用はサイクルが早く、次々に新しい遊びや驚きを提供していくことに重点が置かれます。そのため負荷やコストが二の次になりがちで、積み上がっていくことでサービス提供に影響が出てしまうことが昔はよくありました。そこでミッションとしてサービスの信頼性に責任を持つ SREチームを組成しました。
SREのミッションが「運用タイトルを安定させること」であるのに対し、LCEは「新規イベントや新作を安全にリリースすること」がミッションとなり、リリース前の負荷テストを行います。インフラエンジニアは「それらすべてを支える」という役割で連携していますね。
インフラエンジニアのミッションを教えてください。
實方 インフラはユーザーさまからは見えにくい領域であるため、「動いて当然」と思われがちですが、当たり前のことを当たり前にやるのは実は難しいものです。サーバーが落ちると、ゲームが止まってユーザーさまにご迷惑をかけるばかりか、ゲームの開発にも影響します。とにかくサーバーを落とさないことが一番のミッションになります。
菅井 我々としては、むしろ「動いて当然」と思ってもらい、インフラを意識させないくらいでありたいと思っています。ユーザーさまがいつ遊びに来ても常にサーバーがしっかり動いている状態を維持し、安心して遊んでもらうことが私たちの使命になります。
實方 それからコロプラは「最新のテクノロジーと、独創的なアイデアで "新しい体験" を届ける」というビジョンを掲げていますので、新規開発においては、共通となるインフラ構成をベースに、何かしら新しい要素を取り入れています。そのためインフラエンジニアも常に新しいことにチャレンジしています。
コロプラのインフラエンジニアが大切にしていること
インフラストラクチャ部では、チームとしてどんな目標を掲げていますか?
實方 「安定・スピード・コストパフォーマンス」の最大化です。何をやるにおいても、この三つを突き詰めていくことを目標に掲げています。
三つをすべて最大化することは、難しくもあるのではないでしょうか。いくらでも予算をかけられるなら「安定」も「スピード」も向上させやすいと思いますが、「コスト」を抑える必要があるわけですよね?
實方 確かにどれか二つを取って一つを犠牲にすることは簡単です。例えばサーバーをたくさん用意すれば、安定性もスピードも向上しますが、コストが跳ね上がってしまいます。逆にコストを下げすぎると安定性が犠牲になり、ユーザーさまにご迷惑をかけてしまいます。いずれにしてもビジネスとしての継続性が失われてしまうので、この三つを最大化していかないとサービスを長くは続けられません。難しいことではあるのですが、近年はクラウドの登場によって昔に比べると三つの最大化は実現しやすくなっているように思いますね。
菅井 クラウドの時代になって以前ほど苦労せずサーバーを増やせるようになりましたが、楽になったことで意図せずコストをかけてしまうことがあっては困るので、常に三つの最大化を目指してバランスをとっています。
「安定」と「スピード」に関しては、新しい技術を使うとより実現しやすくなるのは確かですが、変えないことも「安定」なんです。ただし、それでは進化しなくなってしまいます。
新しい体験を届けることを目指すコロプラとしては、やはり進化し続けていきたい。インフラが古いがために新しい体験を届けられないといった状況だけは避けたいので、インフラも現状に踏みとどまることなく、より良い状態を求めて進化し続けていくべきだと思っています。
近年では、具体的にどんな新しい技術に取り組みましたか?
實方 2017年にクラウドをAWSからGCPに移行し、インフラの構成を大きく変えたことがあります。新規開発に関しては、インフラのアーキテクチャやデータベースを一新しました。
運用タイトルの移行は、通常メンテナンス期間を設けて切り替え作業を行うのが一般的ですが、コロプラはノーメンテナンスで運用することがポリシーなので、このときもノーメンテナンスで切り替えました。データセンターの頃もAWSの頃も同じように作業をしていたので、準備さえできれば明日にでもやろう!という文化がコロプラにはあり、GCPの切り替えもその延長線上という感じでした。とはいえ、クラウドの切り替えは非常に大きな改変なので、思っていた以上に大変でしたね(笑)。
菅井 実行した方が良い未来があると思える場合は、多少困難であってもやるべきだと思っています。
GCPに切り換えたことで、改善されたことはありますか?
實方 GCPにはライブマイグレーションがあるので、パブリッククラウドのメンテナンス起因でのサーバー切替作業がなくなり、運用が非常に楽になりました。
GCPに切り換えた背景には、Cloud Spanner(分散データベース)を使いたかったというのもあります。それまでMySQLというデータベースを運用していたのですが、負荷が集中してサーバーが処理できなくなると、新たにサーバーを建ててデータベースを分割する必要がありました。インフラとしては、分割用データベースサーバーの準備や運用コストの増大、サーバーサイドエンジニアは分割用のコード実装がとにかく大変でした。Cloud Spannerはその処理を自動的に行い、画面上でサーバーを増やすだけで性能が上がるのでかなり手間が省けましたね。
菅井 私もデータベースの分割作業をしていましたが、ゲームの特性や成長に応じて設計する必要があり本当に大変でした(苦笑)。データベースを圧縮する作業はもっと大変で、なんとかそうした作業をなくしたいと思っており、ゲームのようにトラフィックがスパイクしやすい環境を考えると、Cloud Spannerへの切り替えは必然的な選択だったと思います。
Cloud Spannerによって作業が軽減されたように、新しいテクノロジーによって代替されることで別のことに時間をかけることができるようになります。
インフラエンジニアの組織体制と業務の特性について
インフラストラクチャ部の組織体制と、組織のカルチャーを教えてください。
實方 コロプラのインフラエンジニアは、データベース専門やネットワーク専門といった業務における役割での分け方をせず、各プロジェクトにメインの担当者が一人付き、ネットワークもOSもミドルウェアもひと通り担当します。作業量が多い場合はサポートが付きますし、絶対にミスが許されない重要な作業では複数人でチェックしながら作業します。
メインの担当者には基本的に権限を委ねていて、各自が裁量を持って幅広い業務を行えることが、インフラストラクチャ部のカルチャーと言えるかもしれませんね。
菅井 もちろん、いきなり一人にすべてを任せるのではなく、段階を踏んでステップアップしていきます。やはり座学だけでは習得できないものなので、実際に手を動かしながら覚えてもらうようにしています。そのためにも裁量を与えてプロジェクトをお任せしている感じです。
菅井さんの前職はWebサービスのサーバーサイドエンジニア、實方さんの前職はSIerのエンジニアということですが、コロプラではどんなバックグラウンドを持ったインフラエンジニアが活躍していますか?
實方 やはり親和性が高いのは、もともとゲームのインフラをやっていた方と、BtoCなどのWebサービスのインフラをやっていた方です。一般的なWebサービスを運用されていたインフラエンジニアは、スマホゲームと扱っている技術が似ているので多くの方が活躍されています。
ゲームのインフラだからといって何か特別なミドルウェアがあるわけではなく、世間一般で使われている技術の組み合わせになるので、私のように前職がSIerのエンジニアで、Webサービスやゲームは未経験という方も活躍されています。
別職種からインフラエンジニアになることは可能でしょうか?
菅井 社内でサーバーサイドエンジニアからコンバートした人はいます。まったくの別職種というより、親和性が高い職種からの延長線といった感じです。
實方 そうですね。今はクラウドで簡単にインフラが構築できるようになっていますし、「自分が書いたコードを動かすためにインフラもちょっとやってました」というサーバーサイドエンジニアが増えているように思います。そういった方は独学でインフラを勉強していたりするので、積極的に面接するようにしていますね。
どの業界のインフラもベースは同じ技術ということですが、逆にWebサービスとスマホゲームで違う点はありますか?
實方 イベント開始時や新作ローンチ時の負荷のかかり方は、スマホゲーム特有のものだと思います。例えば16時にイベントを開始すると、15時59分の10倍くらいの負荷が集中することがあります。Webサイトもメディアに紹介されることでアクセスが増えることがありますが、特定の時間に一気にトラフィックが集中するという現象はスマホゲームならではだと思います。
局所性の高いトラフィックを処理するインフラの構築は、ある程度の規模を持ったゲームでなければ経験できないものです。それがコロプラのインフラエンジニアとして働く醍醐味でもあると思っています。
トラフィックの集中については、どんな対策が求められますか?
實方 新規イベントや新作のリリース時に一番負荷が高くなる傾向があるので、SRE/LCE・サーバーサイドエンジニアと一緒に対応を行っています。その目安としてマーケティングチームから想定されるユーザー数が割り出されるのですが、どれだけ集中しても大丈夫なように、その数の2倍から3倍のトラフィックを想定して負荷テストやサーバーの準備を行っていますね。
菅井 負荷のかかり方が、想定していたものとはまったく違うことがあります。例えば100人ほど増える程度なら問題なかったとしても、10万や100万のトラフィックが集中すると、これまで問題なかった部分が発火することがあります。最終的には、実際のアクセスを受けてみないとわからない部分ではありますが、これまでのリリースや運用で得た技術や知見で負荷試験を実施し当日をむかえるようにしています。これを経験しておけば、どんな業界でもインフラをやっていけるのではないでしょうか。
インフラエンジニアの採用で重視していることは?
コロプラのインフラエンジニアとして活躍するために求められることを教えてください。
菅井 コロプラには、ユーザーさまのためにモノづくりをしているという前提があり、そのためにデザイナーやエンジニアがそれぞれの技能を活かしてアウトプットしています。
自分たちが世の中に対して何を届けようとしているかを認識した上で、どんな技術を使うかが重要です。単に新しい技術や自分が使ってみたい技術というだけでは、コロプラが届けようとするものと合致しない可能性もあります。新しい技術が適していれば使ったほうがいいでしょうし、使い古されたような技術でも十分かもしれない。「何のためにその技術を使うのか」を考え、柔軟に選択できる人が活躍できると思います。
實方 メンバーには、ネットワークからミドルウェアまですべて見ることができるエンジニアになってほしいと思っています。自分が担当するタイトルをいかにより良くしていくかを常に意識し、そのためにどのような施策に落とし込んでいくか、どういったインフラの構成が最適かを常に考えられる人が活躍できると思います。私としても、そういった人によりレベルの高い仕事を任せたいですし、サーバーサイドエンジニアからも信頼されると思います。
どういった人と一緒に働きたいと考えていますか?
實方 周りの人を巻き込みながらリードしていける人と一緒に働きたいですね。
もちろんベースとなる技術があることが前提になりますが、それ以上にどういったアウトプットを生み出せるかを常に考え、それを周囲に伝えて実行しようとするチームワークやコミュニケーション力が求められてきます。その辺りがおざなりになっていると、たとえ技術があってもなかなか活躍できないと感じています。
菅井 次々と新しい技術が出てくる業界に身を置くと、「新しい技術だから使いたい」という考えになりがちですが、「達成したいことのためにその技術を使う」という判断ができる方と一緒に働きたいです。自分の指向もあっていいと思いますが、目的にフィットした選択ができるといいです。
實方 それから人柄の面で言うと、「数字に素直な人」ですね。
例えば負荷対策をしたところ、想定していたよりも負荷が下がらなかったという結果になったとします。その数字を素直に受け止めて、なぜこうなったんだろう?と分析して次につなげていかないと、なかなか改善されていかないと思っています。
菅井 結果に対して素直であることですね。数字は嘘をつかないので、それを受け入れた上で、次にどうするかを考えていくことが大事になってきます。
面接で必ずチェックするようにしているポイントはありますか?
菅井 「これまで取り組んだ業務において、どんな立ち位置で判断や意思決定をしてきたか」は必ず聞くようにしています。客観性があるかとか当事者としての考え方が見えてくるものです。
實方 私も経歴をもとに技術的なことを深掘りして聞くことが多いのですが、あえて実務から離れた質問もするようにしています。実務について聞くと、往々にしてクライアントの要望や過去のしがらみもあって、なかなか思い通りのものが作れなかったりするものです。そこで「もし何のしがらみもない状態で新しいECサイトを作るなら、どんなインフラの構成で作りますか?」といったアーキテクチャの質問をすることがあります。その技術を選んだ理由を聞くことで、その人の考え方や、新しい技術に対してアンテナを張っているかを確認しています。
最後にコロプラへの入社を考えている人にメッセージをお願いします。
實方 コロプラのインフラエンジニアは裁量が大きく、業務範囲も幅広いので成長したい人にはうってつけの環境だと思います。私がコロプラに入社したのもそれが目的でした。
前職でSIerのエンジニアだった頃、トラフィックのさばき方に関する本を読んでいたのですが、SIerでは活かすのが難しいと思う技術が多く、なかなか身に付かないんですよね。その技術を習得するには、トラフィックが集中するゲーム業界を経験したいと思いました。そして実際にコロプラに入り、一瞬で跳ね上がるトラフィックを経験して「こんなにスゴイものか!」と感激した次第です(笑)。
局所性が高いトラフィックをさばけるインフラが構築できるなら、自分のキャリアとして非常に大きな経験になるのではと思いましたね。
菅井 ゲームはそのゲームが好きで集まる熱いユーザーさまの大切な場と考えており、それを支えるインフラを構築できることは、やり甲斐も大きいものです。それを一手にお任せできることがコロプラの魅力です。
ゲームのインフラというと、難しそうなイメージを持たれるかもしれませんが、インフラ経験者であれば自分のスキルセットを活かしながら仕事ができるので、「ゲームのインフラは難しそうだ」と思っている方にも門を叩いていただきたいです!