サーバレスに関するレコメンデーション:【完訳】CNCF Serverless Whitepaper v1.0(5)(1/2 ページ)
本連載では、サーバレスコンピューティング(以下、サーバレス)を解説したCloud Native Computing Foundation(CNCF)のServerless Working Groupによるホワイトペーパー、「CNCF Serverless Whitepaper v1.0」を完訳してお届けしている。今回は最終回として、CNCF Serverless Working Groupとしてのレコメンデーションに関する部分をお届けする。
【完訳】CNCF Serverless Whitepaper v1.0 連載バックナンバー
本連載では、サーバレスコンピューティング(以下、サーバレス)を解説したCloud Native Computing Foundation(CNCF)のServerless Working Groupによるホワイトペーパー、「CNCF Serverless Whitepaper v1.0」を完訳してお届けしている。
今回は連載第5回(最終回)として、CNCF Serverless Working Groupとしてのレコメンデーションと用語集を掲載した部分をお届けする。CNCFに対するレコメンデーションだが、これを読むと、異なるサーバレスプラットフォーム間の相互運用性をはじめとする課題が見えてくる(翻訳・構成:三木泉)。
結論
サーバレスのアーキテクチャは、クラウドネイティブのワークロードに新しい展開オプションを提供します。 「サーバレスワークロード」のセクションで見たように、サーバレステクノロジーが他のクラウドホスティングテクノロジーよりも大きなメリットをもたらす用途があります。
しかし、サーバレス技術は全てのケースに最適な技術ではなく、「どういう時に使うのが適切か」を慎重に検討する必要があります。短命でイベント駆動型の処理は、サーバレスの初期的な用途となっており、キャパシティ/インフラのニーズが予想できない、変化率の高いビジネスにおけるユースケースが広がりつつあります。サーバレスコンピューティングについてさらに詳しくは、「参考文献」セクションを参照してください。
CNCF Serverless Working Groupは、Redpoint Venturesと提携して、最近「Serverless Landscape」を発表しました。これは、エコシステムで利用可能な主要なサーバーレスプロジェクト、ツール、サービスの一部を示しています。サーバレスのエコシステムを包括的に表現することを意図したものではなく、(掲載したものに)お墨付きを与えるものでもありません。この分野を概観できるようにすることが目的です。最新の状態に保つため、各オーナーがアップデートを提供する予定です。
CNCFの次のステップ
CNCFがこの分野で何をするべきかについては、技術統括委員会(Technical Oversight Committee:TOC)における検討のために以下のような提案がなされています。
- より多くのサーバレス技術ベンダーとオープンソース開発者が、CNCFに参加してアイデアを共有し、お互いのイノベーションを互いに活用するよう奨励します。例えば、「Serverless Landscape」ドキュメントにリストされているオープンソースプロジェクトの情報を更新し、機能のマトリックスを維持します。
- 相互運用可能なAPIを確立し、ベンダーによるコミットメントと、オープンソースツールを通じた相互運用可能な実装を保証することで、オープンエコシステムを促進します。プラットフォームプロバイダーやサードパーティのライブラリ開発者の助けを借りて、CSI(Container Storage Interface)やCNI(Container Networking Interface)に似た、新しい相互運用性と移植性確保の取り組みを進めます。これらの中には、独自のCNCFワーキンググループを発足するメリットがあるものもあれば、Serverless Working Groupのイニシアチブとして継続するものもある。例えば次のようなものが考えられます。
- イベント:共通のイベントフォーマット、API、メタデータを定義します。最初の提案の幾つかは、Serverless WG githubリポジトリにあります。
- デプロイメント:既存のCNCFメンバーのうち、サーバレスの提供者を生かして新しいワークグループを発足し、共通の関数定義、メタデータのセットを実現するために取り得る手順を探ります。例えば、次のようなものがあります。
- AWS SAMやOpenWhisk Packaging Specificationなどの、アプリケーション定義マニフェスト
- 異なるプロバイダのサーバレスプラットフォーム間での関数のワークフロー:サーバレスの利用シナリオは、単一のイベントが単一の関数をトリガする以外に多数考えられます。多様なイベントとワークフローにおける前ステップの関数の戻り値の組み合わせに応じて、複数の関数がシーケンシャルまたは並列で実行されることが考えられます。開発者が自らのユースケースのワークフローを定義するために利用可能な、共通のコンストラクトを定義できれば、異なるサーバレスプラットフォーム間で使用できるツールを生み出せます。こうしたコンストラクトは、イベントと関数相互の関係/やり取り、ワークフローにおける関数間の関係/やり取り、ある関数から次のステップの関数への情報の渡し方などを指定します。例としては、AWS Step Function Constructs、HuaweiのFunction Graph/Workflow Constructsなどがあります。
- 開発者の採用と業務スピードを加速するオープンソースツールのエコシステムを促進し、次のような懸念事項の解消を目指します。
- 計測
- デバッグの容易性
- 教育:新しいユーザーのために、一連のデザインパターン、参照アーキテクチャ、用語の統一を進めます。
- 用語集:用語集(付録A)を公開し、当ワーキンググループの文書がこれらの用語を一貫して使用することを保証します。
- ユースケース:共通パターンでグループ化されたユースケースのリストを管理し、上位の語彙を共有する。 次の目標をサポートします。
- サーバレスプラットフォームを初めて使用する開発者に向けて、一般的な利用例に関する理解を深め、適切なエントリポイントを特定します。
- サーバレスの提供者とライブラリ/フレームワークの開発者のために、共通ニーズに関する検討を促進します。
- CNCF GitHubレポにおけるサンプルアプリケーションとオープンソースツール。相互運用性の側面を強調したり、各プロバイダの外部リソースにリンクしたりすることが望まれます。
- CaaSまたはPaaSに比べた場合の、サーバレスアーキテクチャの機能的および非機能的な特性を評価する方法に関するガイダンスを提供します。これはフローチャートの形をとるか、CNCFプロジェクトファミリー内のツール群の利用を推薦することができます。
- セキュアなサーバレス開発についてのガイドライン、サーバレスデプロイメントのハードニング、適切なセキュリティログと監視、関連ツールと手順(「サーバレスアーキテクチャにおける最も重要な10のセキュリティリスク」を参照)などの、サーバレスセキュリティトピックに関するガイダンスを提供します。
- サーバレスワーキンググループやストレージワーキンググループなどによる、CNCFとしてのアウトプット(上記に示されたドキュメントなど)を公開するプロセスを開始し、その後共同編集ができるよう、GitHubにMarkdownファイルとして保存します。この分野におけるイノベーションのスピードを考慮すると、このことは特に重要となります。
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」における機能強化などを発表した。こうした発表から見えてくるものは、インフラを意識しない運用環境の進化だ。