月間数百万人利用のMobageプラットフォーム。サービスを支えるエンジニアが日々考えていること | フルスイング - DeNA

DeNAの「人」と「働き方」の"今"を届ける。

PEOPLE

21.11.11

月間数百万人利用のMobageプラットフォーム。サービスを支えるエンジニアが日々考えていること

DeNAが運営する携帯電話向けのポータルサイト兼ソーシャル・ネットワーキング・サービス、Mobage(モバゲー)。2006年2月に「モバゲータウン」としてサービスを開始して以来、数多くのユーザーの皆さまに愛されてきたサービスです。

DeNAの屋台骨を15年間支えて続けてきた重要な事業、Mobage。現在、運用に携わるエンジニアたちは、今後何に注力し、どうこの巨大プラットフォームを導いていくのか。

Mobageのプラットフォーム(※1)を支えるサーバーグループでGL(グループリーダー)を務める熱田 圭佑(あつた けいすけ) に話を聞きました。

※1……Mobage Open Platform(https://engineering.dena.com/team/mobage/

 

月数百万人が利用。巨大サービスの現在

▲ソリューション事業本部オープンプラットフォーム事業部ゲームプラットフォーム部サーバーグループ 熱田 圭佑(あつた けいすけ)
前職はサービス開発会社のシステムエンジニアでSIer。2017年にDeNAに入社し、これまで一貫してMobageのサーバーサイドエンジニアとして運用・開発を担当。クラウド活用やセキュリティ対策など、長期運用を見据えた課題解決に取り組む。2021年からサーバーエンジニアの所属組織のマネジメントも担当。

ーーMobageはDeNAの中でも歴史あるサービスですよね。

熱田 圭佑(以下、熱田):「モバゲータウン」という名称でオープンしたのが2006年2月です。2009年にリリースした「怪盗ロワイヤル」というタイトルが携帯ゲームで大ヒットし、一時代を築くチャンスを得ました。DeNAにとって、業績もそうですし、DeNAという会社の認知を上げる意味でも大きく寄与したサービスであると感じています。

また、サービス開発とプラットフォームの運用に関しては、リリースしてから15年以上安定して運用していますので、さまざまな経験と知見をプラットフォーマーとして得ていると考えていいと思います。

ーーユニークユーザー数は、現状どれぐらいなんですか?

熱田:具体的な数字は言えないのですが、プラットフォーム上でプレイしているユーザー数でいいますと、アクティブユーザー数は月数百万人に及びます。

ーー数百万!すごい規模感ですね。

熱田:そうですね。Mobageプラットフォーム上で数百のゲームタイトルを配信していますので、好きなゲームを長く続けているコアなファンや新作ゲームなどさまざまなタイトルをプレイしている方など数多くいらっしゃる状況です。広い層のプレイヤーを獲得することに成功しています。

 

中長期的な運用に投資するため、クラウド環境を選択

ーー2006年のサービス開始当時の技術と今の技術は大きく異なりますよね。その間、大規模なプラットフォームを止めることなく運用することって簡単なことではないように思います。

熱田:15年運用が続いていると、探し出したら課題はキリがないです。開発の手法や、時代背景、技術の進歩など多くの要素が重なり、運用の課題となっています。

例えば、新規機能の開発などの場合に過去のコードを生かし続けるか、全体を書き換えるべきかという議論は当然ですが起こります。

決める要素としては、“負債があるか否か”ですね。負債となるような問題が発生しているものに関しては、その負債を残したまま運用していくのか、負債を一度リセットして新しい考えで運用を乗せてくのか二つの軸があると考えてます。

たとえば「セキュリティの懸念があり保守運用のコストが大きい」という問題が発生しているとします。長期運用を計画している場合、負債を解決することで毎月の工数が1/3になったり、エンジニアの精神的負担の軽減が期待できたりするのであれば、負債を一度リセットすることが多いです。

逆に短期的に稼働させる機能であれば、負債を抱えて運用したほうが他に投資するチャンスが生まれる場合もあります。

このような観点も踏まえ、エンジニアや企画メンバーと相談しつつ、今後の運用を考えてどのような開発方法を選択するべきかを検討し、日々取り組んでいる状況です。

ーー技術スタックについても教えてください。MobageはPerlで開発されたと聞いています。開発言語はPerlを用いることが多いのでしょうか?

熱田:場合によりけりですね。Perlを活用して開発したほうがコストパフォーマンスに優れる場合や、知見を活かしたスピード感ある開発をするべきならPerlを選ぶこともあります。逆にPerl以外の言語を選択する余地もあり、たとえばマイクロサービスアーキテクチャを取り入れて開発をすれば機能ごとの言語は統一しなくても問題はありません。

複数言語を運用しなければならないデメリットにもなりえますが、機能開発に適した言語や技術を選択できれば十分なメリットを生み出せることもあります。なぜその言語で開発をする必要があるのかを論理的に導き選択することが大切だと考えます。

 

ーー2021年春にMobageはオンプレミス環境からクラウド環境にすべて切り替わりました(※2)。その背景を教えてください。

※2……https://fullswing.dena.com/archives/7425/
https://engineer.dena.com/posts/2021.07/inside_of_cloud_migration/

熱田:クラウド化をした理由は、Mobageにとって大きく2つの利点があったからです。

1点目は、DeNAのエンジニアがより広く活躍できるようにするため。そして2点目は、保守に工数を割くのではなく、運用に投資できるようにするためです。

1点目について言うと、今までオンプレミスの技術だけを扱っていましたが、クラウド技術を取り入れることで、最新の設計や技術に触れられるようになるからです。エンジニアは常に学習し、成長を続けなければ現代の情報社会の成長に遅れを取ってしまいます。クラウドの技術を活用できるようになったことは、技術選択の幅が広がり成長機会に繋がります。

ーー確かにそうですよね。

熱田:2点目はMobageプラットフォームの運用に関する利点です。

オンプレミスですとすべてが自己管理になってしまい、どうしても保守対応に追われてしまいがちです。障害時のアラート対応やセキュリティパッチの対応など細々したものに日々追われます。

しかしクラウドに変わると、マネージドサービスを有効に使えるケースが増えます。そうすることでMobageでは、主にインフラレイヤーに関してセキュリティ対応におけるランニングコストを下げることができました。たとえば監視ルールの最適化や自動デプロイの構築などをすべてシステム化していくことが可能です。さらに今後、マネージドサービスを活用していくと使用する言語にこだわる必要はなくなります。Perl以外の言語を検討しやすくなったこともクラウド移行の運用に関する利点のひとつと言えるでしょう。

ーー採用する言語や技術は、エンジニア自身が決めるのでしょうか?

熱田:長期運用できるか否かを重視しつつ、最終的には人材獲得にも関わるためマネージャーと相談にはなります。ですが、何を使うべきかは開発者自身にこだわりを持って考えてもらいます。開発者が使いたい言語を使えないと、よりよいものを作り出す機会損失になってしまう可能性がありますよね。ですので基本的にはその後押しをしてあげようという考えです。

ただあくまでも運用第一なので、運用を無視して「自分が好きだからこの言語で開発します」といったことは許容できません。

一般的には、「開発コストを下げブラッシュアップに時間を割くために使いたい」とか「長期運用を考えたらこの言語の方が自動テスト組み込みやすい」などの観点を取り入れ、言語選定や技術選定をしていきます。ですので、将来的な運用まできちんと全体設計できる人には楽しめる環境かと思います。

 

巨大サービスゆえ、リスクを最小限にする工夫が求められる

ーー既存のものをただ運用するのではなく、今の技術環境や新しい技術に合わせ、最適な選択をしてリプレースし続けられる人が向いている、ということですね。

熱田:リプレースをするしないの判断を論理的に考えられることも大切です。何を成し遂げるべきか課題を明確にし、なぜやる必要があるのか、逆にやらなかった場合どういうリスクが発生するのか、ロジカルに考え言語化する能力が求められます。

やるとなったら推進し、やらないとなった場合は次の課題を見つけてどんどん取り組んでいく当事者意識を持った人がより向いているかもしれません。

ーー数百万人規模が遊んでいるプラットフォームならではの、開発上の特徴はありますか?

熱田:通常のゲーム開発とは異なり、プラットフォーム開発ではさまざまな利用ケースにおけるユーザーの皆さまや、複数のデベロッパーに関わります。多様なステークホルダーの影響範囲を考えリスクを最小限にする工夫が求められます。

例えば、提供しているAPIにひとつバグがあればプラットフォーム上のすべてのゲームに影響が出てしまうので、生半可な開発は絶対にできません。開発をする上で多様なユースケースを考慮し、リスクや影響を判断しながら設計や仕様・開発手法を策定する必要があります。さまざまなステークホルダーの期待に答える開発を推進することが特徴と言えます。

ーープロダクトのことを深く理解し、ビジネス上の制約なども考慮しながら開発する必要があると感じました。ビジネスサイドのメンバーとどのようにPJを進めているのでしょうか。

熱田:サービスの話でいうと、企画メンバーから「こういうことやりたいよね」という提案が来た時、やる意味や背景情報、やることでプラットフォームにどういう利点があるのかなど、きちんと企画メンバーと足並み揃えて取り組むことになります。エンジニアとして、よりよいサービスを提供するためのブラッシュアップに携われるという感じですね。

 

売上に密接する重要な役割を担える

ーーこれまでサービスや技術選定の考えた方について伺ってきました。続いて、熱田さんが所属するMobageサーバーグループの具体的な業務内容を教えてください。

熱田:昨年の開発でわかりやすいものだと、LINEログインとSign in with Appleの実装を行いました。LINEログインについては、LINEユーザーが増加傾向だったため、認証方式を増やしプラットフォームの利便性を上げるために取り組みました。

Sign in with Appleは実装しなかった場合、プラットフォームの機能を利用している全デベロッパーが規約違反によりApple Storeでゲームを配信できなくなってしまうため、影響度が大きく迅速な対応が必要でした。

「告知があったタイミングから期日までにやる」では遅く、ゲーム配信ストア側の規約変更や取り組みに関する情報をいち早くキャッチし、プラットフォームに素早く実装する必要があります。なぜなら、Mobage側の実装が終わった後、デベロッパーが組み込みを行う必要があるためです。デベロッパーの開発時間をより多くするため、プラットフォーム側の機能提供は一刻を争います。

Mobageプラットフォーム上では多くのゲームを配信しています。デベロッパーが継続してゲームの運用に集中できるよう、我々が世の中の動向のキャッチアップを行うことは非常に重要な業務となります。

ーーMobageサーバーグループで働くことへの面白さは何でしょうか?

熱田:たった1%のコスト改善をしたとしてもユーザー数が膨大なため、売上への影響が大きくなることがあります。規模としては数百万円から、時には数億円になるような改善にも取り組むことができます。課題を見つけエンジニアリングで解決していくことで売上に大きく貢献できるのは面白さを感じます。この感覚は一般的な開発ではあまり味わえません。

ーー大規模サービスがゆえの特徴ということですね。運用フェーズだからこそ、どうプロダクトを成長させていくかというビジネス感覚も養えそうですね。

熱田:はい。開発のフェーズが0-1の新規開発ではなく、運用のノウハウも十分に養われた90-100のフェーズですので、基本、長期運用の目線ですべての業務に取り組まないといけません。我々エンジニアもビジネスの人たちとも視点を合わせて、開発エンジニア兼プロダクトオーナーとして組織の力を発揮していく必要があると考えます。

また、DeNAでエンジニアとして働くメリットも大きいと思います。DeNAの組織的な特徴としては、とにかくまわりのエンジニアレベルが高いです。勉強会がよく開催されるので、さまざまな情報のアップデートができます。また、同僚のエンジニアやビジネスメンバーから多様な視点のインプットが日常的にあるため、新たな学びを得る機会が非常に多いです。成長したいなと望み貪欲に活動すれば、そのチャンスに必ず恵まれます。

 

基本はフルリモート。出社は気分次第で

ーーチームの働き方に特徴はありますか?

熱田:基本はリモートで働いています。グループ内の出社日数は年で30日に満たないと思います。健康診断や気分転換で出社するぐらいでしょうか。ワークライフバランスにも対応した働き方が浸透しています

ーー熱田さん自身は、仕事をしていてどんな瞬間が一番楽しいですか?

熱田:課題が無限にあることですね。やるやらないは別として、長期の運用をしているので改善したい課題は探し出したらいくらでも見つかります。

その中でやる価値のあるもの、投資効果があるものを見つけ出し、やる意義を論理的に組み立て提案していきます。そして提案内容がオーナーやマネージャー陣に通り、GOサインをもらって実際に最後までやり切った時、一番楽しいと感じますね。

プロダクトを持つエンジニアだからこそ感じる楽しさだと思います。

ーー最後に、熱田さんが日ごろからマネージャーとして心がけていることがあれば教えてください。

熱田:私自身、言われて動くのが嫌いなタイプなので、組織のメンバーも基本的に自走力や当事者意識を持って働いてもらいたいと考えてます。マネージャーとしては、メンバーが自走する中で壁となる要素を取り除いたり逆走しないように方向をあわせるような交通整理をすることを心がけてます。交通整理といってもレールを用意するのではなく、メンバーがさまざまなレールを引けるように地盤を整えるマネージャーになりたいです。

うしろから背中を押してあげたり、進行方向の再確認を一緒にしたりなど、メンバーがゴール(成果)に向かっていくことに集中できる環境づくりを目指したいです。メンバーの能力が高いので、エンジニアとして存分に能力を発揮できるようサポートしていくことを心がけています。

 

DeNAエンジニアの発信・登壇内容・Blogなど、最新情報はengineer portal(https://engineering.dena.com/)で発信しています。ぜひご確認ください!

 

※本記事掲載の情報は、公開日時点のものです。
※本インタビュー・撮影は、政府公表のガイドラインに基づいた新型コロナウイルス感染予防対策ガイドラインに沿って実施しています。

 

編集:フルスイング編集部 撮影:小堀 将生

 

DeNAでは一緒に働く仲間を募集しています
  • このエントリーをはてなブックマークに追加
  • このエントリーをはてなブックマークに追加

Tag

タグをすべて表示する