OPS

Google Cloud Next San Francisco ’23 現地レポート

【Google Cloud Next San Francisco ’23 現地レポート】Google Kubernetes Engineを使用したエンタープライズアプリケーションの設計パターンについて

2023.08.30

本記事のポイント

Googleが主催する世界的なイベント「Google Cloud Next」が、2023年8月29日~8月31日にかけてアメリカのサンフランシスコにて開催されます。本ブログでは、Google Cloud Next San Francisco '23に実際に参加したエンジニアから、イベントの様子やKeynote(基調講演)の現地レポートをいち早くお届けします。

今回は、08/29(火)12:15~13:00(現地時間)に実施されたSean Derringtonによる講演の内容をお伝えします。



Google Cloud Next とは?

Google Cloud Next ’23とは、Google Cloud のインスピレーション、イノベーション、教育の世界的な展示会です。

意思決定者、開発者、そしてアクセシブルでスケーラブル、かつ社会的責任のあるクラウドに情熱を燃やすすべての人々が一堂に会し、課題、ソリューション、10 倍のアイデア、ゲームを変えるテクノロジーを共有する場です。

Google Kubernetes Engine

今回は、8/29(火)12:15~13:00に開催された「The future of modern enterprise applications with Google Kubernetes Engine」の講演についてリポートします。

公式サイトによるセッション紹介を日本語訳すると、以下のような内容です。

Google Kubernetes Engine(GKE)は、地球上で最もフルマネージドなKubernetes体験を企業に提供します。ゲーム「ストリートファイター」の生みの親であるカプコンが、GKEを利用して世界中のプレイヤーに最適なスピードとコストを提供し、より多くの人々にゲームを楽しんでもらう方法をご紹介します。Backup for GKEがどのようにフルマネージドバックアップサービスを提供し、Filestoreがどのようにステートフルワークロードとマルチライターニーズをサポートするかを実際にご覧ください。また、当社の新しいCloud Storage FUSEが、PBスケールのGKE要件をサポートするCloud Storageへのファイルシステムアクセスをどのように提供するかもご覧いただけます。

引用元:Google Cloud Next San Francisco ’23

登壇者

登壇者はこちらの方です。

会社名 登壇者 役職
Google Sean Derrington(ショーン・デリントン) Group Product Manager, Storage
Capcom Jumpei Nakajima(ジュンペイ・ナカジマ) System Development Engineer – Technical lead of Street Fighter 6
Google Cloud Victor Szalvay(ヴィクトル・サルヴァイ) Senior Product Manager, GKE

内容

セッションの構成

はじめにGoogle Kubernetes Engine(以下、GKE)とは何か、GKEが選ばれる理由、GKEが採用できるパターンなどの概要を述べています。

次にGKEを採用したCapcomの担当者が、実際のアプリケーションのアーキテクチャを具体例としてGKEを取り入れる方法を紹介しています。

最後にGKE要件におけるバックアップ機能やファイルストレージサービスを紹介しています。

GKEの概要

GKEとは?

GKEとは、Kubernetesに対し最大限の貢献をしている人々により運営されている、最大限の自動化・スケーラビリティが実現されたマネージドKubernetesプラットフォームです。

GKEが選ばれる理由

以下の4つを主な理由として選ばれていると述べています。

  • フルマネージドサービスにより開発者はアプリケーション開発に集中できる
  • ミッションクリティカルなKubernetesワークロードに基づくセキュリティを意識した設計である
  • ワークロードスケーリングなどの最適化によりビジネス要件を満たすことができる
  • Kubernetesコントリビューターによるビルド・テストが供給されており、確かな信頼性がある

  • GKEの採用パターン

    以下4つのパターンに適していると述べています。

  • モダンアプリケーション(スケーラビリティとインフラ抽象化を活用したマイクロサービスアーキテクチャの構築と拡張)
  • ステートフルなレガシーシステム(自動バックアップ、安全なブルーグリーンデプロイ、ブロックからオブジェクトまでを対象とした広範囲のストレージ選択)
  • HPCで処理するAI/機械学習(最新のハードウェアアクセラレータ、コンパクトな配置・低レイテンシー、効率的なリソース利用・共有、プロビジョニングの容易性)
  • ゲーム開発(高いスケーラビリティ・コスト効率・移植性、稼働時間と信頼性の確保、セキュリティ、管理オーバヘッドの削減)

  • CapcomによるGKE採用事例紹介

    ここではCapcomの大人気ゲーム「ストリートファイター6」を事例に、GKEアーキテクチャの紹介がされました。

    大きなポイントは、データベースやメッセージングサービスなどのすべてのバックエンドサービスとの通信をメインとするクラスタでのみ行う構成としている点でした。

    各ユーザのHTTPリクエストは直接、各クラスタに送られるWeb Socket通信はGRPCを使用してメインクラスタへの統合を図っているようです。

    GKE要件における他機能・サービスについて

    ここからはGKEを採用するにあたり、2つの側面で有用となるサービスについて紹介がされました。

    バックアップ
    Backup for GKE

    GKEクラスタでワークロードをバックアップおよび復元するためのサービスです。

    バックアップにはクラスタ構成(Kubernetesリソース)とボリュームデータの2つが含まれます。

    このバックアップ機能を使用することで以下のことが実現可能とのことです。

  • アプリケーションロールバック
  • データ保護
  • ランサムウェアからの保護
  • ゾーンレベル、またはリージョンレベルの障害からの保護

  • ファイルストレージサービス

    扱うファイルデータのサイズや必要とするIOPSの高さなど、ユースケースに合わせたサービスが用意されています。

    Cloud Storage FUSE

    Cloud StorageバケットをローカルファイルシステムとしてマウントしてアクセスできるようにするFUSEアダプタです。

    以下の特徴を持ちAI/MLプロジェクトに適したサービスとのことです。

  • 標準のファイルシステムのセマンティクスを使用した移行性の高さ
  • リソースのアイドル時間の削減
  • MLプロジェクト以外にもオンプレミスのシステムなど、あらゆるケースで実行可能
  • PyTorch V1.x、TensorFlow V1.x、TensorFlow V2.xのMLフレームワークを正式にサポート

  • Parallelstore

    以下のような特徴を持つオープンソースのIntel DAOS上に構築されたストレージサービスです。

    こちらもAI/MLトレーニングに適しているとのことです。

  • AI最適化されたアーキテクチャであり、GPU/TPUの使用率の最大化を実現
  • 1秒あたりTB単位のスループット、最大0.3msの低レイテンシー、数百万IOPSとメタデータ操作といった高いパフォーマンス
  • サーバ間で統合されたデータ保護

  • Filestore multishares for GKE

    GKE向けFilestoreマルチシェア機能について、以下のような特徴を持つように強化したとのことです。

  • 共有サイズについて10GiBからサポート
  • ポッドの高速フェイルオーバー
  • データ用の共有ファイルシステムを必要とするアプリケーション向けのマルチライターアクセスをサポート
  • Filestore上のあらゆるGKEデータのバックアップ
  • 99.99%のリージョンレベルの可用性

  • まとめ

    今回は実際の活用例を踏まえながら、GKEの機能や採用パターンについて紹介しました。

    特にFilestore multishares for GKEの機能強化は拡張性と安全性をより際立たせる内容であり魅力的に感じました。

    本記事がGKEを検討をされている、もしくはKubernetesに興味がある方に少しでも参考になると幸いです。