The Doppler Quarterly (日本語) 春 2018 | Page 67

ここで中心的な役割を果たすサーバーレスアーキテクチャーは、オンデマンドで呼び出して スケジュールを設定し、実行後に終了する、一部の言語に固有の関数で構成されます。サー バーレスは、アプリケーションを構築して展開するための VM やコンテナーに続く手段として もてはやされていますが、サーバーレス関数も何らかのプラットフォーム上で実行しなければ なりません。ただしこれに関しては、最適なプラットフォームとなる Kubernetes があり、実際 のところ、少なくとも2 つのオープンソースプロジェクト (KubelessとFission) において、サー バーレスの基盤となるプラットフォームとして K8s が使用されています。Fission プロジェク トは、 K8s をサーバーレスにどのように使用できるのかがわかる好例です。Fission は、 API サーバー、サービスルーター、プールマネージャー、および K8s 上でレイヤー化された一連 の関数に固有の Pod で構成されます ( 図 4 を参照 )。Fission は、 Fission にロードされた 関数をホストする Pod のプールを管理します。コントローラーは、関数のトラッキングを行い、 イベントトリガーと定義済みの関数で構成されたコンテナーイメージを管理します。プールマ HTTP の要求 Fission CLI コント ローラー ルーター ... プール マネージャー 「一般的な」 Pod 関数に「固有の」 Pod 図 4: Fission - Kubernetes のサーバーレス関数 ネージャーは、関数を実行するための一連のコンテナーを管理し、それらのコンテナーの「稼 働」を維持するとともに、特定のイベントによってトリガーされたときにオンデマンドでそのス ケジュールを設定します。ルーターは、 HTTP の要求を受け取って適切な関数 Pod に転送 し、必要に応じてプールマネージャーによる Pod のスケジュール設定を要求します。プール マネージャーは、ほぼ瞬時に起動して関数を実行できるようにし、コンテナーのロードのレイ テンシを回避するため、 Fission に不可欠です。 2018 年春号 | THE DOPPLER | 65