JawsはAWSLambdaアプリのデプロイを一口取ります

新しいオープンソースプログラミングフレームワークJawsは、Amazon AWS Lambdaで「サーバーレスアプリケーション」を作成するために使用できると主張しています。アプリケーションは、APIによってリンクされたコードのスニペットにすぎず、正式なサーバーインフラストラクチャはありません。

AWS Re:Inventでのブレイクアウトセッション中に発表されたJawsは、開発者のAustenCollinsとDoAppエンジニアのRyanPendergastの発案によるものです。Jawsは、既存のNode.jsまたはJava8コードをコマンドラインインターフェイスを介してAWSLambdaにデプロイし、使用されるラムダに共通の構造と自動化手法を課します。

ブレイクアウトセッションで公開されたスライドデッキで、コリンズとペンダーガストは、AWSユーティリティに委任されたスタンドアロンサーバーによって通常処理される機能の多くを備えた、サーバーレス設計へのジョーズの適合を詳しく説明しました。本格的なサーバーを起動してWebからのリクエストを処理する代わりに、JawsアプリはAWS APIGatewayをフロントエンドとして使用できます。

Jawsは、同様の機能を最初から提供しようとするのではなく、既存のAmazonリソースをデプロイと管理に活用することもできます。これは、GatewayとLambdaがレートの制限とスケーリングを自動的に処理すること、およびAWSプラットフォームでのロギングとメトリックの可用性に一部起因しています。ただし、JawsはCloudFormationテンプレートを利用してリソースをデプロイするため、AWSユーザーに馴染みのあるメカニズムを通じて機能が指定されます。

ジョーズはコストにも役立ちます。1日あたり16,000リクエストのシナリオの計算は、Lambdaアプリの場合は1日5セントになりますが、1年前に支払われた2つのEC2インスタンスの場合は1日あたり2.97ドルになります。フレームワークの作成者が述べているように、「できるだけ少ないdevops」でデプロイすることは、Jawsユーザーがサーバーを維持したり、コンテナーインフラストラクチャを管理したりする必要がないため、それ自体の利点です。

Jawsで考えられる懸念の1つは、実際にはAWS自体に多くを反映しています。AWS(Lambda、Gateway、およびすべて)はプロプライエタリであるため、アプリケーションのロックインは、Jawsを使用してLambda中心のアプリを構築することで発生する可能性があります。とは言うものの、JawsはMITライセンスであり、Amazonのサービスはビジネスで最もよく理解され、最もエミュレートされています(APIレベルで)。

Jawsはまだ初期の変幻自在な状態にあり、1.3への最後のアップグレードでは、特定の機能について以前のバージョンとの互換性が失われています。製品ロードマップには、現在および将来の(1.4を対象とした)修正の詳細が記載されており、チームはCloudFormationsのワークフローの改善や、Re:Inventから戻った後のRESTAPIの変更などの項目に集中しています。