Publickey Smart Edition β3

AWS Lambda互換環境をKubernetes上で実現する「Knative Lambda Runtime」オープンソースで公開

2019年1月15日


TriggerMeshは、Kubernetes上にAWS Lambda互換の実行環境を構築することで、AWS Lambdaで利用可能なファンクションをそのままKubernetes上で実行可能にする「Knative Lambda Runtime」(KLR:発音はClear、クリア)をオープンソースで公開しました

Knative Lambda Runtimeを公開したTriggerMeshはサーバレスコンピューティング向けのさまざまな管理ツールを提供しているベンダです。

GitLabがアルファ版として公開した、どのクラウドでも使えるサーバレス「GitLab Serverless」の開発と運用にもTriggerMeshが協力しています。

参考:どのクラウドでも使えるサーバレス「GitLab Serverless」をGitLabが発表。KubernetesとKnativeがベース

Kubernetes上にAWS Lambda互換の実行環境を実現

Knative Lambda Runtimeの目的は次のようなものと説明されています。

The project aims to provide complete portability of Amazon Lambda functions to Knative native enabled clusters, and Knative enabled serverless cloud infrastructure without the need to rewrite these serverless functions.

このプロジェクトが目指すのは、Knativeをネイティブに実現するクラスタ上においてAmazon Lambdaファンクションの完全なポータビリティを提供することであり、Knativeはこれらサーバレスのファンクションを書き換える必要のないサーバレスクラウドインフラを実現する。

Knative(ケイネイティブ)とは、Kubernetes上でサーバレスコンピューティングを実現するためのフレームワークです。Google、Pivotal、IBM、SAP、Red Hatらがオープンソースとして開発しています。

Knativeを用いて構築されたソフトウェアは、Kubernetes上でゼロからのスケーラビリティおよびイベントをトリガーとした実行という、サーバレスの2つの特長を備えることができるようになります。Istioとも統合されているため、サービスメッシュの機能も利用可能になっています。

ただし現時点ではまだKnative自身もこれらを実現するために開発が進められているところです。

Knative Lambda Runtimeは、このKnativeによるサーバレス機能の実現に加えて、AWS Lambdaと互換の実行環境を実現することで、AWS LambdaのファンクションをそのままKubernetes上で実行可能にしているわけです。

Knative Lambda RuntimeがAWS Lambda互換の環境を実現するために利用しているのが、Docker環境でAWS Lambda互換を実現するたオープンソースプロジェクトである「docker-lambda」。そして、AWS Lambda上でさまざまなプログラミング言語を利用できる機能であるカスタムAWS LambdaランタイムAPIの利用です。

Knative BuildでAWS Lambdaファンクションのビルドを行う

Knative Lambda Runtimeの本体はKnativeのbuild templateと関連ソフトウェアだと説明されています。

Knativeは基本的に対象となるソフトウェアをビルドすることで、そのソフトウェアをサーバレス的な機能およびサービスメッシュの機能を備えた実行可能なソフトウェアにします。

Knative build templateはそのビルドのステップやパラメータなどを定義したものです。

(ざっと見たところ、なので間違っているかもしれないのですが)Knative Lambda Runtimeは、このビルド機能とテンプレート機能を用いてAWS Lambdaのファンクションをビルドし、AWS Lambda互換実行環境も組み込み、Kubernetes上で実行可能にするようです。

KnativeはKubernetes上でサーバレスコンピューティングを実現するフレームワークとして開発が進んでおり、これを用いた「Pivotal Function Service」や「GitLab Serverless」などのサーバレス環境が登場し始めました。

今後KnativeはAWS LambdaやAzure Functionsのような特定のクラウドに依存しない、新しいサーバレスコンピューティング環境の台風の目として、無視できない存在になっていくのではないでしょうか。



≫次の記事
AWSが「CloudEndure」を買収。マルチクラウド対応のライブマイグレーションツール
≪前の記事
Rubyのまつもと氏、「気分を害することもある。だからどうか建設的であってほしい」


新着記事

Home PC版Homeへ

お知らせ:Publickey Smart Editionは、現在ベータ版として無料で試験運用中です。