BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース AWS LambdaがNode.js 16ランタイムのサポートへ

AWS LambdaがNode.js 16ランタイムのサポートへ

原文(投稿日:2022/05/20)へのリンク

最近AWSは、Node.jsバージョン16がFunction as a Service(FaaS)AWS Lambdaをサポートし、アクティブなLTSステータス(一般利用可能)にあることを発表した。

開発者は、Node.jsの新機能を使ってAWS Lambda関数を作成できるようになった。新機能としては、ツールチェーンやコンパイラのアップグレード(Apple Silicon向けのビルド済みバイナリを含む)、安定版のTimers Promises APIRegExpマッチインデックス引数のサイズが一致しない場合の高速呼び出しなどがある。

AWS LambdaはNode.jsの現在のロングタームサポート(LTS)バージョンをサポートしている。つまり、新しいバージョンを使う開発者は、関数を作成・更新するとき、あるいは適切なマネージドランタイムベースイメージを使って、nodejs16.xのランタイムパラメーター値を指定する必要がある。さらに、Node.js 16ランタイムは、ArmベースのAWS Graviton2プロセッサあるいはx86ベースのプロセッサで実行される関数によってサポートされる。

Node.js 16バージョンには、2022年1月にNode.js 14ランタイムに追加されたESモジュールのサポートとトップレベルのawaitが含まれている。これは、Provisioned Concurrencyと使うことでコールドスタート時間を短縮するために役立つ。

Node.js 16マネージドランタイムとコンテナベースイメージには、AWS JavaScript SDKバージョン2がバンドルされている。AWSのサーバーレス担当のプリンシパルスペシャリストソリューションアーキテクトDan Fox氏は、最近のAWS Computeブログ投稿でSDKの利点について説明している。

バンドルされたSDKを使うのは、いくつかのユースケースにおいて便利です。たとえば、Lambdaコンソールを介して短い関数を記述したり、CloudFormationテンプレートを介してインライン関数を記述したりする開発者は、バンドルされているSDKを参照すると便利です。

以前、AWS Lambdaで利用できたNode.jsランタイムは14であり、2021年10月からメンテナンスLTSになっている。11か月でサポートが終了する予定である。


出典: https://nodejs.org/en/about/releases/

プリンシパルクラウドアーキテクトのKenneth Falck氏は、次のようにツイートしている。

LambdaがついにNode 16をサポートするのはうれしいです。しかし、私の14.x関数が最終的に非推奨になることを知って、うれしくありません。Webブラウザのように裏で自動アップグレードするEvergreenプラットフォームがあればよかったのにと思います。Lambda向けのWebAssemblyといったところでしょうか。

さらに、同社はLambda向けのNode.js 16ランタイムのリリースが遅くなったことを認めている。Redditスレッドの投稿者は次のように述べている。

今のところは、確かに言っているだけです。しかし、私はAWSの発表で自己批判を読むことはそうそうないため(実際に何も思い出すことができない)、その点で改善されると信じたいです。

そして、スレッドの別の人たちは、Python 3.10Ruby 3. x向けがまもなくリリースされることを望んでいる。

最後に、AWS LambdaドキュメントのNode.jsプログラミングモデルには、Node.js 16での関数の記述に関する詳細が記載されている。さらに、開発者は、既存のNode.js関数を新しいランタイムに移行できる。互換性の問題についてコードを確認した後、ランタイム設定をnodejs16.xに変更することで移行できる。

作者について

この記事に星をつける

おすすめ度
スタイル

BT