Dockerコンテナをサーバレス化する「Google Cloud Run」で、非同期処理やバックグラウンドタスクなどが実行可能に

2021年9月16日

Googleは、Dockerコンテナをサーバレスで実行するサービス「Cloud Run」の新機能として、非同期処理などを可能にする「CPU allocation on Cloud Run」機能をプレビューとして発表しました

fig

非同期処理などが難しかったCloud Run

サーバレスコンピューティングでは一般に、何らかのイベントやリクエストをトリガーにインスタンスが起動し、処理が終わるとインスタンスが終了します。

Google CloudのCloud Runではこうした処理をDockerコンテナで実現するサービスです。HTTPやgRPCなどによるリクエストによってあらかじめ用意されていたDockerコンテナが起動し、レスポンスを返したところでDockerコンテナが終了してCPUの割り当てが解放されるようになっています。

そのため、Cloud Runでは処理を非同期にしてレスポンスを先に返し、そのあとで処理を行うといった非同期処理やバックグラウンドタスクによる処理は難しいものとなっていました。

例えば、なんらかの画像ファイルを受け取り、先にレスポンスを返しつつ、非同期処理でそのサムネイルを作ってストレージに保存するといった処理はできませんでした。

処理が行われているあいだCPUが割り当てられる

今回発表されたCloud Runの新機能「CPU allocation on Cloud Run」では、DockerコンテナにつねにCPUを割り当てる設定が可能になりました。

これにより、Dockerコンテナで何らかの処理が行われているあいだはCPUがつねに割り当てられるため、レスポンスを返した後でもDockerコンテナ内で処理が継続できるようになり、非同期処理やバックグラウンド処理が可能になりました。

例えば、GoのGoroutinesやNode.jsのasyncなど、非同期処理を活用したアプリケーションが実行できるようになります。

また、これに合わせてCloud Runの料金にも、CPU allocationでつねにCPUを割り当てた場合に対応した料金が設けられるようになっています。

あわせて読みたい

Google Cloud クラウド サーバレス Google




タグクラウド

クラウド
AWS / Azure / Google Cloud
クラウドネイティブ / サーバレス
クラウドのシェア / クラウドの障害

コンテナ型仮想化

プログラミング言語
JavaScript / Java / .NET
WebAssembly / Web標準
開発ツール / テスト・品質

アジャイル開発 / スクラム / DevOps

データベース / 機械学習・AI
RDB / NoSQL

ネットワーク / セキュリティ
HTTP / QUIC

OS / Windows / Linux / 仮想化
サーバ / ストレージ / ハードウェア

ITエンジニアの給与・年収 / 働き方

殿堂入り / おもしろ / 編集後記

全てのタグを見る

Blogger in Chief

photo of jniino

Junichi Niino(jniino)
IT系の雑誌編集者、オンラインメディア発行人を経て独立。2009年にPublickeyを開始しました。
詳しいプロフィール

Publickeyの新着情報をチェックしませんか?
Twitterで : @Publickey
Facebookで : Publickeyのページ
RSSリーダーで : Feed

最新記事10本