コンテンツに移動
サーバーレス

あらゆるニーズに応えるサーバーレス: Cloud Run ジョブと第 2 世代の実行環境が一般提供に

2023年5月2日
https://storage.googleapis.com/gweb-cloudblog-publish/images/serverless_2022_olDNwAn.max-2500x2500.jpg
Google Cloud Japan Team

※この投稿は米国時間 2023 年 4 月 26 日に、Google Cloud blog に投稿されたものの抄訳です。

この 15 年間、組織は Google Cloud サーバーレス プロダクトを利用し、さまざまな取り組みを展開してきました。それはたとえば、世界をつなげるクラウド バンキングの保護無償教育の一般提供化粧品業界の変革貨物輸送業界の再構築小売業界の再定義など、多岐にわたります。

そしてこのたび、Cloud Run ジョブと Cloud Run 第 2 世代の実行環境が一般提供され、サーバーレス プラットフォームで構築できるものに限界がなくなりました。

Cloud Run は当初、ウェブサイトや API のサービス提供ニーズに合わせて設計されており、ユーザーは HTTP リクエストやイベントに応答する「サービス」を実行できました。サービスは、リクエストを処理したり、トラフィックの需要に合わせて自動的にスケールしたりする必要のあるワークロードに適していました。

ところが、Cloud Run を使用して業界全体を変革し刷新した組織は、サーバーレス環境を利用し、HTTP リクエストのパラダイムに収まりきらない他のワークロードを実行する方法を望むようになりました。このようなワークロードの例としては、内部管理ジョブ、スクリプト、オーケストレーション ワークロード、軽量のデータ変換タスク、イベントに応答せずにスケジュールに従って実行されるワークロード、さらに重要な点である、完了時に終了するワークロードなどが挙げられます。

この課題はいくつかの回避策があり、数種類の Cloud Run サービスを使用すれば可能でした。たとえば、ウェブサーバーをコンテナにバンドルし、受信リクエストでジョブ自体を開始するか、1 つのジョブをより小さく短いタスクに分割してタイムアウトを回避します。とはいえ、こうした回避策はコード変更が必要であったため、既存のワークロードをサーバーレス環境に移行することが困難でした。

このたび導入された Cloud Run の最新機能を使えば、以下のことを実現できます。

  • バッチデータ変換のサーバーレス化

  • データベース移行のサーバーレス化

  • 夜間レポートのサーバーレス化

  • 実行から完了までのジョブのサーバーレス化

  • さらに、ネットワーク ファイル システムへのアクセスのサーバーレス化

それでは詳しく見ていきましょう。

Cloud Run ジョブ

Cloud Run ジョブを使用すれば、これまで時間のかかっていた手作業によるプロセスを、スケジュールされたジョブに簡素化したり、単純なコマンドライン オペレーションに減らしたりすることができます。Google I/O のプレビュー版で導入された Cloud Run ジョブを使用すると、開発者は HTTP リクエストに応答しない実行から完了までの長いスクリプトをすべてサーバーレス プラットフォームで実行できます。従来のスクリプトをモダナイズしてサーバーレス環境に移植しようとしている企業の開発者は、コードをイベント ドリブン モデルに再構築しなくてもこれを実施できます。

「当社は数多くのデータ処理タスクがクラウド上で実行されています。その一部は長時間実行されており、膨大なコンピューティング リソースが必要です。ですが、その目的のために仮想マシンを管理するのは時間がかかり、価値の高いアクティビティに集中できません。Cloud Run ジョブのおかげで、デプロイまでの時間の短縮、構想サイクルの改善、すぐに使える自動化など、サーバーレス サービスの全機能を活用できるようになりました。さらに、コンピューティング リソースなどを常に維持する必要がなくなり、費用を節約できます。」- Commerzbank AG、サイバー センター オブ エクセレンス責任者 Christian Gorke 氏

Video Thumbnail

Cloud Run 第 2 世代の実行環境

Cloud Run の新しい実行環境では、CPU とネットワークのパフォーマンスが向上し、ネットワーク ファイル システムをマウントできます。これにより、ストレージ レイヤを書き換えなくても、ネットワーク ファイル システムを使用する既存のアプリケーションを Cloud Run に移行できます。Cloud Run はネットワーク ファイル システムにアクセス可能で、Cloud Filestore を使用しているか、独自の NFS サーバーを実行しているか、Cloud Storage FUSE を介して Cloud Storage ファイルにアクセスするかどうかは問いません。また、第 2 世代の実行環境はすべての Linux 機能と完全な互換性があり、既存のコンテナを Cloud Run に簡単に移行できます。つまり、以前はシステムコールが実装されていないせいで Cloud Run で実行されなかったソフトウェアが、Cloud Run の第 2 世代の実行環境で実行可能になりました。

「Cloud Run に移行した際、そのスケーラビリティ、復元力、使いやすさに感銘を受けました。その後、第 2 世代の実行環境に移行したところ、起動時間が 4 分の 1 に短縮されました。この結果、オンプレミスの時代遅れのアプリケーション サーバーから、フルマネージド サーバーレス統合プラットフォームに、多数のマイクロバッチ ジョブを簡単に移行できるようになりました。このプラットフォームは Apache Camel を基盤としており、Cloud Run の第 2 世代実行環境で実行されます。」- Carrefour、最高情報責任者 Alessandra Franca Grendele 氏

こうした改善を実現できたのは、第 2 世代の実行環境がマイクロ VM に基づいているためです。つまり、gVisor を使用する第 1 世代の実行環境とは異なり、第 2 世代の実行環境で実行されるコンテナは完全な Linux カーネルにアクセスできます。

サーバーレスに対する Google のビジョンは、より緊密に統合され、使いやすく、優れた環境で、可能な限り幅広いワークロードとユースケースに対応することです。お使いのアプリケーションがサーバーレスに適していないと考えて Cloud Run への移行をためらっていらっしゃる方は、ぜひもう一度ご検討ください。

第 2 世代環境Cloud Run ジョブを使ってみましょう。


- グループ プロダクト マネージャー Karolina Netolicka
- プロダクト マーケティング マネージャー Bex Heart
投稿先