サーバレスに関するレコメンデーション:【完訳】CNCF Serverless Whitepaper v1.0(5)(2/2 ページ)
本連載では、サーバレスコンピューティング(以下、サーバレス)を解説したCloud Native Computing Foundation(CNCF)のServerless Working Groupによるホワイトペーパー、「CNCF Serverless Whitepaper v1.0」を完訳してお届けしている。今回は最終回として、CNCF Serverless Working Groupとしてのレコメンデーションに関する部分をお届けする。
付録A:用語集
このセクションでは、このホワイトペーパーで使用されている用語の幾つかを定義します。
BaaS(Backend as a Service)
アプリケーションは、アプリケーション自体の外部で管理されているサービス(リモートストレージサービスなど)を活用することがよくあります。これにより、アプリケーションは主要なビジネスロジックに集中できます。こうしたサードパーティサービスは、「バックエンドとしてのサービス(Backend as a Service:BaaS)」と呼ばれることがあります。BaaSは従来型のコンピューティングプラットフォームからも、サーバレスからも使用することができますが、それ自体がステートレスである関数をサポートするインフラストラクチャ(例えばステートを提供する)となることが多いため、サーバレスアーキテクチャでは重要な役割を果たすことには注意が必要です。 BaaSプラットフォームは、サーバレス処理をトリガするイベントを生成することもあります。
コールドスタート
「コールドスタート」とは、一般に、未デプロイ状態の関数インスタンス(新しいコード)を起動することを指します。
コンテキスト
サーバレスプラットフォームは通常、関数を実行する際に、入力パラメータとしてコンテキストオブジェクトを提供します。これには特定の関数呼び出しにかかわる環境や状況に関するトリガ・メタデータおよびその他の情報を含みます。
データバインディング
関数には、バックエンドストレージ(マウントポイント/ボリューム/オブジェクトストアなど)、データベースなど、データへの長期にわたる接続のためのデータバインディングが必要な場合があります。データバインディングには、関数そのものの中で保存できない秘密などのセキュリティ情報を含むこともあります。データバインディングは、複数の関数呼び出しで使用できます。
開発フレームワーク
関数が開発される環境。これは、ローカル(例えば、ラップトップ上)でも、ホストされた環境内でも構いません。
イベント
起こったことの通知。
イベントアソシエーション
イベントソースと、イベントの結果として実行される特定の関数との間のマッピング。
イベントデータ
発生したイベントに関する情報。詳細については、「イベントデータとメタデータ」を参照してください。
イベントソース
関数は、HTTPゲートウェイ、メッセージキュー、ストリームなどの1つまたは複数のイベントソースタイプを通じて呼び出すことも、データベースの書き込み、IoTセンサーのアクティブ化、または非アクティブの期間など、システムの変更発生に基づいて生成することもできます。
関数/アクション
トリガの結果として実行されるコード。
関数グラフ/ワークフロー
開発者にとってのサーバレスのシナリオでは通常、イベント、関数、イベントと関数のやり取り、および関数間の連携を定義します。幾つかのユースケースでは、複数のイベントと複数の関数が存在します。関数グラフ/ワークフローは、イベントと関数のやり取りおよび関数間の連携について説明します。ユーザーは、「どのイベントがどの関数をトリガするか」「関数はシーケンシャルに実行されるのか、それとも並列で実行されるのか」「関数間の遷移」「ワークフロー内のある関数から次の関数に情報がどのように引き渡されるか」をユーザーが指定する方法を提供します。関数グラフは、ワークフロー・ステートの集まり、およびこれらのステート間の遷移として表示でき、各ステートには関連するイベントおよび関数があります。関数グラフ/ワークフローの例には、AWS Step Functionsがあります。
関数パラメータ
関数が呼び出されると、ランタイムフレームワークは通常、この特定の呼び出しに関するメタデータを一連のパラメータとして提供します(「コンテキスト」を参照)。
Function as a Service(FaaS)
FaaSとは、エンドユーザーが提供する関数をオンデマンドで実行するために、プラットフォームが備える中核機能を示しています。これはサーバレスプラットフォームの中核となるコンポーネントで、オートスケールや課金など、ユーザーに代わって関数を管理する、追加的なQoS(Quality-Of-Service)機能が含まれています。
呼び出し(Invocation)
関数を実行する行為。例えば、イベントの結果としての実行などがあります。
ランタイムフレームワーク
サーバレスワークフローを実行するランタイム環境/プラットフォーム。トリガを関数にマッピングし、関数がコンテナリソースをホストし、言語パッケージ/ライブラリを動的にプロビジョニングし、これらの関数が実行されます。ランタイムフレームワークの中には、関数を記述できるランタイム言語が固定的に決められている場合もあります。
トリガ
関数の実行リクエスト。トリガは多くの場合、HTTP要求、データベース変更、メッセージストリームなど、着信イベントの結果です。
ウォームスタート
「ウォームスタート」とは、停止した(しかしデプロイされた)状態からの、関数インスタンスの開始を指します。
付録B:追加的な参考資料
サーバレスコンピューティングに関する追加的な情報源を求めている読者のために、参考資料をリストします。
Serverless Architectures by Mike Roberts
containers-vs-serverless-navigating-application-deployment-optionsContainers vs serverless - Navigating application deployment options by Daniel Krook
Serverless Computing: Current Trends and Open Problems by Ioana Baldini, et al.
Serverless: Background, Challenges and Future by Yaron Haviv
What is serverless good for? by Andreas Nauerz
Serverless Architecture: Five Design Patterns by Mark Boyd
How Two College Kids Built A Better Census by Stefanie Monge
7 AWS Lambda Tips from the Trenches by Mitchell Harris
Why The Future Of Software And Apps Is Serverless by Ken Fromm
The Serverless Guide authored by the community, curated by Serverless, Inc.
Microservice Orchestration for Serverless Computing by Cathy Zhang, Louis Fourie
サーバレスは、クラウド事業者によってサービスとして提供される場合には、そのクラウドサービスにが提供するサービス(ストレージやデータストリーミング)を前提とする場合がある。これを「ベンダーロックイン」だと表現することもできる。だがこのホワイトペーパーでは、より根本的な点で、サーバレスプラットフォーム間の相互運用性を確保するにはどうすべきかを探っている。また、これに向けてCNCFあるいはServerless Working Groupがどんなアクションをとるべきかについて、具体的に説明している。
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- コンテナ運用環境を標準化? CNCFは何をやろうとしているか
Cloud Native Computing Foundationは、クラウドネイティブアプリケーション開発・運用環境に関する技術の「標準化」を推進しているという。臨時エグゼクティブディレクターに、具体的な活動内容を聞いた。 - CNCFのCOOに聞いた、CNCFとOCI、Docker、Kubernetes、Cloud Foundryとの関係
コンテナの世界はダイナミックに動いている。Cloud Native Computing Foundation(CNCF)はこれにどのような影響をもたらそうとしているのか。同ファウンデーションCOOのChris Aniszczyk氏に、KubernetesのCRI-OプロジェクトからCloud Foundryとの関係まであらためて聞いた。 - コンテナストレージの共通仕様にも着手、あらためて、CNCFは何をどうしようとしているのか
CNCFは、クラウドネイティブアプリケーションの世界のデファクト標準を作り上げたいのか、それともコンポーネントベースでCloud Foundryの競合勢力を構築したいのかが、分かりにくい部分がある。そこでCNCFのエグゼクティブディレクターであるダン・コーン氏と、COOであるクリス・アニズィック氏に、あらためて同組織のやろうとしていることを聞いた。 - AWSは「インフラを意識しないアプリ運用環境」を進化、コックロフト氏は「オープン」を約束
Amazon Web Services(AWS)は、2017年11月末から12月初めにかけて開催したAWS re:Invent 2017で、Amazon ECS for Kuberneteや「Fargate」、さらにサーバレスコンピューティングの「AWS Lambda」における機能強化などを発表した。こうした発表から見えてくるものは、インフラを意識しない運用環境の進化だ。