ニュース
グーグル・クラウド、自社のコンテナやサーバーレス関連サービスを紹介 SOMPOシステムズの導入事例も
コンテナ技術についてのプレスセミナー・第2回
2023年7月19日 11:38
グーグル・クラウド・ジャパン合同会社は20日、コンテナ技術についての報道関係者向け勉強会(プレスセミナー)の第2回をオンラインで開催した。
第1回はコンテナ一般の基礎についての解説だったが、第2回は企業の「アプリケーションモダナイゼーション」を支援するGoogle Cloudのサーバーレス関連のサービスについて、グーグル・クラウド・ジャパン合同会社 技術部長(インフラ、アプリケーション開発)安原稔貴氏が解説した。
また、サーバーレスのサービスの1つである「Cloud Run」の導入事例を、SOMPOシステムズ株式会社 損保システム第一本部 副本部長 武井信之氏が紹介した。
アプリケーションモダナイゼーションを支援するGoogle Cloudのコンテナやサーバーレスのサービス
安原氏はまず、アプリケーションモダナイゼーションを支援するGoogle Cloudのコンテナやサーバーレス関連のサービスを紹介した。
Google Cloudのアプリケーション実行基盤は「マネージド」「シンプル」
Google Cloudのサーバーレスのサービスには、ファンクションをサーバーレスで動かすCloud Functions、アプリケーションをサーバーレスで動かす旧来からあるGoogle App Engine(GAE)、コンテナをサーバーレスで動かすCloud Runがある。
また、コンテナの実行環境には、Kubernetes環境のGoogle Kubernetes Engine(GKE)や、ハイブリッド/マルチクラウドで実行するAnthosがある。
さらに、それらと組み合わせて使う製品には、モバイルアプリケーション開発などで使われるFirebaseや、API管理のApigee、リモート開発環境のCloud Workstations、デプロイのためCloud Deployなどもある。
今回はその中でも、「力を入れている製品」(安原氏)としてClod RunとGKEを中心に解説が行われた。
安原氏はGoogle Cloudのアプリケーション実行基盤の2つのキーワードとして、管理に手をかけることなく開発に集中できる「マネージド」と、複雑な構成をすることなく使い始めることができる「シンプル」の2つを挙げた。
GKEのAutopilotモードでノードもマネージドに
まずGKEは、Googleが“マネージド”で提供するKubernetesプラットフォームだ。このGKEに2021年に新しい動作モードとして「Autopilotモード」が加わった。これは、Kubernetesのコントロールプレーンに加えて、Podを動かすノードもGoogleが管理するというものだ。
Autopilotモードは、より簡単にKubernetesクラスターを使ってもらうものだと安原氏は説明した。ユーザー管理のKubernetesから、GKE、そしてGKEのAutopilotモードになるにつれて、要員コストがだんだん下がるというわけだ。
インフラ設計不要で高速にオートスケールするCloud Run
続いてCloud Runについて安原氏は解説した。Cloud Runは、コンテナイメージを送り込むだけで、Kubernetes上で“よしなに”実行してくれるというサーバーレス基盤だ。
Cloud Runの特徴としてまず安原氏は、例えばロードバランサーの設定といったネットワークなどのインフラ設計が不要で実行できることを紹介した。そして、Cloud Runを採用した中外製薬およびナーブからの声として、いずれも「(他社のコンテナサービスに比べて)設定項目が少なくてシンプル」という意見を紹介した。
続いて安原氏は、1000ノードまで数秒で高速に、しかもリニアにオートスケールするとして、「スケールの性能がすごくいい」と説明した。
さらに安原氏は「サーバーレスはクラウドプロバイダーにロックインされるという印象があるかもしれない」としつつ、Cloud RunはオープンソースのKnativeをベースとしており、ほぼベンダーロックインなしで使えると語った。
より具体的な特徴としては、まず通常のKubernetesに比べてコードを書いたあとの手順が簡単で、コンテナイメージをpushしたあとにコマンド1つでデプロイして実行できる。
また、Cloud Runではリクエスト数に応じて特に設定しなくてもオートスケーリングを行う。また、しばらくリクエストがなければインスタンス数が0になる。そのため、どれだけリクエストが来るか予想しづらい新しいサービスなどに有効だと安原氏は語った。
このCloud Runのスケーラビリティについて、野村総研が特別な設定なしに10万rps(1秒あたり10万リクエスト)を処理できると検証したことも安原氏は紹介した。
アプリケーションの内製開発をCloud Runが支える
ここで安原氏は、企業側の状況として、アプリケーションの内製開発における課題を取り上げた。組織やスキルについては、新しいサービスではインフラ運用チームの確保が難しいことや、コンテナに関する知識とスキルがなくてコンテナ化ができず開発スピードの向上が難しいことがある。また、インフラのコストや、プラットフォームのスケール性能の問題がある。
「これを解決できるのがわれわれのサービスであるCloud Run」と安原氏。インフラはGoogleが管理するためインフラ管理は不要。オートスケールで増え必要がなければ縮退するためコストが削減できる。そして、Googleのインフラレベルでのセキュリティが確保される、というわけだ。
最後に安原氏は、開発内製化を支援する「Tech Acceleration Program(TAP)」を紹介した。Google Cloudのエンジニアが短期集中で(1週間ぐらい)伴走して、“最初の第一歩”や、新しいサービスを作る上で難しい点などを支援するという。
Cloud Runを採用したSOMPOシステムズの事例
損害保険ジャパンを中心とするSOMPOホールディングスグループのシステム開発会社であるSOMPOシステムズの武井氏は、Cloud Runを採用したシステムについて紹介した。
検索フォームのサジェストの仕組みをCloud Runで動かす
対象システムは「教えて!SOMPO」。社内のいろいろなシステムに散在している情報を横断して検索するシステムだ。さらに、例えば保険の規定がわからないときにシステム上で紹介したり、その紹介結果をまたケーススタディのナレッジとして蓄積して検索できるようにしたりといった機能も持つ。
システム構成としては、ベースはGoogle Cloudで、特にGoogle App Engine(GAE)で実装し、検索エンジンといった一部はGCEで実装している。また、代理店向けフロントエンドはAzureで、照会情報の個人情報マスキング処理はAWSでといったマルチクラウド 構成になっている。
その中でCloud Runを利用した箇所は、検索フォームに入力された文字に応じたサジェストの仕組みのサーバーサイド処理だ。サジェスト候補は日々の検索ログからバックエンドでバッチ処理しており、そのデータを呼び出す部分だ。
まずは分離した機能でCloud Runを採用
Cloud Runを利用した理由として武井氏は、まず1つめとして、クライアントから直接アクセスする機能のため、今後代理店にも展開することを考えると、GAEのアプリ本体から分離しておきたいことを挙げた。
また2つめとしては、処理のトランザクション量はすごく多く超高速で処理する必要があるが、処理自体はすでにバッチで作られたデータをとってくるだけで軽量なため、Cloud Runに向いているのではないかと考えたという。
3つめとしては、Google CloudがGAEよりもCloud Runに力を入れていると感じたことから、まずは小さな部分で試してみたかったという理由が挙げられた。
そのほか、GKEほどの本格的な機能が不要なことや、内部事情としてはサジェスト機能はアプリ本体とは別部隊で開発したことなども挙げられた。
武井氏は、SOMPOシステムズが感じたCloud Runの利点として、Google Cloud SDKのコマンド1つでコンパイルからデプロイまでやってくれることや、Webサーバーの導入も自動なこと、SSL証明書の発行が不要でドメイン取得と一緒に自動でやってくれること、デフォルトでオートスケールしてくれること、Googleが推していること、コンテナからデプロイ可能なので可搬性が高いことを語った。
GAEからCloud Runへの移行を目指す
武井氏はそのほか、「教えて!SOMPO」以外の事例も紹介した。損保ジャパンのDX推進部に14人が出向してTAPによる内製支援を受けて開発した「かんたん家財評価ツール」だ。顧客の所有する家財の評価額をシミュレートするシステムで、TAPによる支援を受けつつCloud Runを使って開発し、「非常にスピーディに安定して作れた」と氏は述べた。
今後の展望については、今後できるだけ新アプリケーションをCloud Runでやっていきたいことと、GAEから順次Cloud Runへの移行を検討していくことを武井氏は語った。マルチリージョン構成が必要なアプリについては、Google Spannerと合わせた構成設計も考えたいという。
「GAEは自分たちで保守運用する上で運用しやすく、可観測性もツールを入れなくてもそれなりに可視化できるのが楽だった。そのため、同じことがCloud Runでできるかどうか当初は懸念していた。しかし、そこはまったくの杞憂(きゆう)で、ふたを開けてみたら同じように必要な情報を見られたので、移行にあたっての目立った懸念はない」( 武井氏)
なお、練度の高いメンバーについては、Cloud Runの裏側の技術も習得するため、GKEでの開発も同時に進めたいという意向も語られた。