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のような特定のクラウドに依存しない、新しいサーバレスコンピューティング環境の台風の目として、無視できない存在になっていくのではないでしょうか。

あわせて読みたい

Kubernetes クラウド サーバレス Knative




タグクラウド

クラウド
AWS / Azure / Google Cloud
クラウドネイティブ / サーバレス
クラウドのシェア / クラウドの障害

コンテナ型仮想化

プログラミング言語
JavaScript / Java / .NET
WebAssembly / Web標準
開発ツール / テスト・品質

アジャイル開発 / スクラム / DevOps

データベース / 機械学習・AI
RDB / NoSQL

ネットワーク / セキュリティ
HTTP / QUIC

OS / Windows / Linux / 仮想化
サーバ / ストレージ / ハードウェア

ITエンジニアの給与・年収 / 働き方

殿堂入り / おもしろ / 編集後記

全てのタグを見る

Blogger in Chief

photo of jniino

Junichi Niino(jniino)
IT系の雑誌編集者、オンラインメディア発行人を経て独立。2009年にPublickeyを開始しました。
詳しいプロフィール

Publickeyの新着情報をチェックしませんか?
Twitterで : @Publickey
Facebookで : Publickeyのページ
RSSリーダーで : Feed

最新記事10本