コンテンツに移動
顧客事例

コンテナ化やマルチクラウドを視野に GKE を採用 リリースまで約 6 か月という短期間で 「MangaWith」を構築

2019年3月26日
Google Cloud Japan Team

https://storage.googleapis.com/gweb-cloudblog-publish/images/data0002.max-1600x1600.jpg
ゲーム攻略を中核に、メディアという領域を超えて、コミュニティや e スポーツなどに事業を発展させている株式会社GameWith(以下、GameWith)。取り組みの一環として、スマートフォン向けの WEB マンガサービス「MangaWith(マンガウィズ)」をリリースしました。「MangaWith」の開発責任者、およびエンジニア 2 名と、開発をサポートしたクラウドエースの担当者 2 名に、「MangaWith」の開発について伺いました。

利用している Google Cloud Platform サービス

Google Kubernetes EngineGoogle Cloud Load Balancing
Container RegistryStackdriver LoggingGoogle BigQuery
Cloud SQLGoogle Cloud StorageCloud Memorystore


写真右から

  • 株式会社GameWith サービス開発部 野口 広矢 氏
  • 株式会社GameWith サービス開発部 田口 航 氏
  • 株式会社GameWith 社長室 MangaWith事業責任者 村田 朋良 氏
  • クラウドエース株式会社 事業企画部 マーケティンググループ リーダー 稲生 庄悟 氏
  • クラウドエース株式会社 事業推進本部 第一営業部 マネージャー鈴木 孝武 氏

https://storage.googleapis.com/gweb-cloudblog-publish/images/GameWith_Logo1000x220.max-700x700.png

株式会社GameWith

2013 年 6 月設立。代表取締役社長は今泉 卓也氏。ゲーム情報等の提供をおこなうメディア事業を展開する株式会社GameWith は国内最大級のゲーム情報・攻略サイト「GameWith」を運営し、ゲームを有利に進めるための情報を提供する「ゲーム攻略」、ゲームを見つけるための情報を提供する「ゲームレビュー」、ゲームユーザー同士で交流できる機能を提供する「コミュニティ」、専属のゲームタレントが YouTube 上でおこなう「動画配信」という主な 4 つのコンテンツを提供しています。2018 年 12 月には、スマートフォン向け WEB マンガサービス「MangaWith」をリリース。今後は日本のみならず海外展開やブロックチェーン、eスポーツなどの事業を拡大予定。
https://storage.googleapis.com/gweb-cloudblog-publish/images/diamond-02-cloudace.max-400x400.png

クラウドエース株式会社

(Google Cloud Platform パートナー)

テクノロジー ニュートラルでスケールしやすい GKE を採用

GameWith では、2018 年 12 月より、100 社以上の出版社やエージェントから許諾を受けた、15 万点以上のマンガを配信、販売するマンガ プラットフォーム サービス「MangaWith」を展開しています。「MangaWith」は、1 巻単位でマンガを購入できる「ストア」や、毎週 1 話ずつ最新話が無料で公開される「連載」、ストアで購入したマンガやお気に入りの連載を管理できる「本棚」などの機能で構成されています。

最大の特徴は、マンガの購入や閲覧など一定の条件をクリアすると、特典としてゲームのアイテムを入手できる「ゲームアイテム付きマンガ」です。今後も、新たなサービスの提供やキャンペーンの実施が予定されている 「MangaWith」の開発プラットフォームとして採用されたのが、Google Cloud Platform(GCP)でした。GCP を採用した理由を野口さんは、「GameWith の開発で、他社クラウドの知見を蓄積できたので、MangaWith の開発では、GCP の知見を蓄積したいと思っていました」と話します。

複数のクラウドの知見を蓄積することで、今後、新しいサービスを開発するときに、最適なクラウドを選定することができ、選定の理由も明確にできます。田口さんは、「選択肢が広がることは、会社にとっても大きなメリットになります。もし選択肢が 1 つしかないと、何か問題が発生したときに、それがリスクになってしまいます。今回の MangaWith の開発は、ある意味で GCP の実験台でした(笑)」と話します。

アーキテクチャとして、Google App Engine と Google Kubernetes Engine(GKE)のどちらを選択するかを検討。「MangaWith」は、出勤時や帰宅時にアクセスのピークが来ることが予測されるため、今後、ほかのサービスでもコンテナ化を検討しており、マルチクラウドも視野に入れて、GKE が採用されています。テクノロジー ニュートラル、かつスケールのしやすさも採用の理由の 1 つでした。「アーキテクトの選定では、Google Cloud のエンジニアと相談しながら決めたため迷いはありませんでした。またコンテナ技術は Google で長年使われており、安心感を持って選択できました」と野口さんは話します。
https://storage.googleapis.com/gweb-cloudblog-publish/images/aXwYlKi0s3vAS7afgRvLax5UhrWR1oXVS_Nb22h3Wk.max-1600x1600.PNG

今後は Cloud Armor や GCP のサーバーレスの活用にも期待

「MangaWith」の開発に GCP を採用するための検討は、2018 年 6 月ごろからスタート。仕様を検討しながら開発を繰り返す開発手法により、約 6 か月という短期間で、予定どおり同年 12 月に「MangaWith」をリリースしています。Kubernetes は、数多くのコンポーネントで構成されており、維持運用に工数がかかります。一方、GKE は、基本的な維持運用を GKE に任せることができるので、構築や運用時に考慮すべきことが劇的に少なく、短期間での開発を可能にしています。

「MangaWith」の開発では、エンジニアの野口さん、田口さんを中心に、約 2.5 人月で開発を進めています。デザインや事業サイドのメンバーも含めると、4~5人月のチームで、「MangaWith」をリリースしています。

開発では、固定 IP が必要な部分、必要でない部分に分ける工夫をしています。固定 IP が必要な部分は、スケールの範囲がある程度決まっているので、1 つのサービスが止まっても、サービス全体が止まらない仕組みにしてあります。田口さんは、「Kubernetes を使うことで、CPU の負荷が高くなったらコンテナを自動的に増やすことも簡単にできます。ロジックを書くことなく、Kubernetes が自動で処理してくれるので助かります」と話します。

開発において「MangaWith」は、外部システムとの連携が多いので、「MangaWith」と外部のシステムを GKE による疎結合で連携しています。「たとえば、マンガの暗号化を外部システム連携に任せていますが、暗号化を自社開発すると、工数と時間がかかりすぎるので、リリースに間にあわなくなります。外部システムを疎結合で連携する場合、Pod を切り分けて GLB で振り分けることができるので、異なる要件の環境を作るのもスムーズでした。」(野口さん)

MangaWith に GCP を採用した効果について野口さんは、次のように話しています。「リリース後すぐに、プレスリリースや自社 YouTuber が紹介した影響で、いきなりアクセスがスパイクしたのですが、しっかりとスケールしてサービスが止まることはありませんでした。現在も安定稼働しています。GCP のサービスは、基本的には API でアクセスできるので、ちょっとしたシステム連携もコード化しやすく便利です。」

「GCP を使うのが初めてだったので、開発にどれくらいの工数がかかるか見当がつかなかったため、スケジュール面の心配はありました。最初は手探りの状況でしたが、知見が蓄積されてくると、スピーディーに開発できるようになりました。当初の予定どおり、GCP の知見を社内にストックし、新しいサービス開発の選択肢とすることができました。いいチャレンジだったと思っています。」(村田さん)

今後は、CD(継続的デリバリー)の部分をさらに強化していく予定で、野口さんは「自動化は実現していますが、Blue / Green デプロイメントやカナリア デプロイなどが実現できていないので、オープンソースの運用管理 / 自動化ツール(Spinnaker)も使ってみたいと思っています。導入できた GCP のサービスはまだ半分、今後は Cloud Armor を利用した DDoS 攻撃対策や GCP のサーバーレスの活用にも興味があります」と話します。

「MangaWith のリリースと同じタイミングで公開されたのでまだ使っていないのですが、Cloud NAT も使ってみたいです。Cloud NAT はレイテンシーが高速だと聞いているので期待しています。また現状では、NAT が単一障害点になっているので、早めに対策したいと思っています。Google Cloud のサポートには満足しているので、今後も GCP の活用を総合的にサポートしてほしいと思っています。」(野口さん)


Google Cloud Platform パートナーのサポート

今回「MangaWith」の構築をサポートしたのは、GCP パートナーのクラウドエース。クラウドエースを選定した理由を野口さんは、次のように話します。「いくつかの GCP パートナーに連絡したのですが、クラウドエースのレスポンスが、圧倒的に早かったです。サポート時には、Slack でスレッドを立ててもらい、問い合わせをすると、すぐに返事が返ってくるので、こちらの返事が遅れて申し訳なかったほどです。」

クラウドエースでは、2018 年 11 月よりサポートを開始。サポート内容は、「MangaWith」のステージング環境や本番環境の構築、セキュリティ面でのサポート、Kubernetes のマニフェスト ファイルの作成支援やよくわからない症状が起きたときの対処、リリース直後のスパイク発生時にスケールの上限値をあげるなど。鈴木さんは、「GameWith、Google Cloud、我々のよい連携が短期間での成功を可能にしたと思っています」と話します。

今後のサポートについて稲生さんは、「ゲーム業界は、GCP にとっても有望な市場です。引き続きマーケティングの側面でもサポートを強化していきたいと思っています」と話します。また鈴木さんは、「我々の強みである、Google Cloud の高い技術力により、今後も MangaWith を世界一のメディアにするための支援を続けていきたいと思っています」と話しています。

その他の導入事例はこちらをご覧ください。

投稿先