CodeZine(コードジン)

特集ページ一覧

Pythonは最も人気のあるLambdaランタイム――Datadogサーバレス実態調査から得られた8つのインサイト

  • LINEで送る
  • このエントリーをはてなブックマークに追加
2021/09/07 11:00

目次

「サーバレス実態調査」の8つのインサイト

 ここからは、「サーバレスの実態調査」から得られた8つのインサイトを紹介する。

Lambda関数の呼び出し回数が2年で3.5倍に

 サーバレスのなかでも代表的なサービスであるLambda。2019年第1四半期にLambdaを使用している企業を対象に行なった調査によると、1日あたりの関数の実行が、2019年第1四半期と比較して、2年間で3.5倍に増加している。

Lambda関数の呼び出し回数が2年で3.5倍に増加
Lambda関数の呼び出し回数が2年で3.5倍に増加

 同社の調査によると、Lambdaを利用している企業は、モダンなテクノロジーに精通している企業はもちろん、金融機関やヘルスケアなど多岐にわたる業種で使われている。

 Lambdaのユースケースとして、モバイルアプリケーションのサーバー側の処理や、クラウドのインフラの状態変化に基づき動作するバッチ処理などで使われるなど、高いスループットあるいは同時実行性が求められるもの、あるいは突発的にピークが起こりうる処理などが挙げられる。

Azure FunctionsとGoogle Cloud Functionsの利用も加速

 サーバレスは、2014年に登場したLambdaが火付け役になったが、2016年には、Microsoft AzureではAzure Functions、Google CloudではCloud Functionsがそれぞれリリースされ、採用が加速している。

 同社の調査によると、Azure Functionsを利用している組織の割合は、過去1年間で26%から36%に上昇。さらに、Google Cloudを利用している組織のうち4分の1がCloud Functionsを利用している。

Lambdaの起動時間の中央値は1年で半分に

 サーバレスの関数は、実行時間の分だけ課金されるということで、利用にあたっては実行時間の管理が重要になる。

 2019年と2020年の実行時間をそれぞれの中央値で比較すると、1年間で約半分になっている。この背景として守屋氏は、仕組みとしての変化がAWSにあったわけではなく、ユーザーがLambda開発のベストプラクティスに習熟してきたことの表れだ、と説明した。

Lambdaの起動時間の中央値は1年で半分に
Lambdaの起動時間の中央値は1年で半分に

Step Functionsがさまざまなワークロードで活用

 Step Functionsは、サーバレスを含むいくつかの機能をオーケストレーションするサービス。複雑なプロセスを処理できるワークフローのようなものだ。

 Step Functionsは、Lambda、Amazon ECS、Amazon SQS、Amazon DynamoDBを含む20以上のサービスで構成されているが、同社の調査結果から、Step Functionsの平均的なワークフローには、4つのLambda関数が含まれ、さらに月を追うごとに増加傾向にあることが分かった。

 以下のグラフからわかるように0~1分の処理にもStep Functionsは多く活用され、Webリクエスト処理のような、ほぼリアルタイムのワークフローにもStep Functionsが利用可能であると考えられる。一方、ETL、機械学習のワークフローのように、1日以上かかるワークフローでも活用されているなど、短時間から長時間まで、さまざまなワークロードで活用されている。

Step Functionsがさまざまなワークロードで活用
Step Functionsがさまざまなワークロードで活用

Lambda@Edge関数の67%が20ミリ秒以下で実行される

 続いて、コンテンツ配信におけるエッジ処理について。パフォーマンスやユーザー体験を重視するときに、処理をエッジ側にするのが一つのセオリーになっている。AWSのCDNサービスAmazon CloudFrontの機能であるLambda@Edgeを使うと、ユーザーに近いリージョンでコードを実行し、レイテンシの低い状態でコンテンツの配信ができる。

 CloudFrontを使用している企業の4分の1はLambda@Edgeを活用している。ユースケースとしては、デバイスのタイプを判別し、画像を動的にサイズ変更したり、HTTPヘッダーの追加や変更を行うことで、コンテンツがキャッシュされやすくしたり、ABテストのようにWebアプリケーションの異なるバージョンを生成したりすることなどが想定される。

 さらに同社のデータによると、Lambda@Edgeの機能の約67%が20ミリ秒以下で実行されていることが分かった。サーバレスはこれまで「低レイテンシーの処理で使えるのか」という議論もあったが、この結果は、レイテンシーが重要なアプリにおいて、最小限のオーバーヘッドで実行可能なことの表れだと守屋氏は述べる。

Lambda@Edge関数の67%が20ミリ秒以下で実行される
Lambda@Edge関数の67%が20ミリ秒以下で実行される

  • LINEで送る
  • このエントリーをはてなブックマークに追加

バックナンバー

連載:CodeZine Press

著者プロフィール

  • 近藤 佑子(編集部)(コンドウ ユウコ)

    株式会社翔泳社 CodeZine編集部 編集長、Developers Summit オーガナイザー。1986年岡山県生まれ。京都大学工学部建築学科、東京大学工学系研究科建築学専攻修士課程修了。フリーランスを経て2014年株式会社翔泳社に入社。ソフトウェア開発者向けWebメディア「CodeZine」の...

あなたにオススメ

All contents copyright © 2005-2021 Shoeisha Co., Ltd. All rights reserved. ver.1.5