
LLRTとかいうカスタムランタイム
こんにちは、ITソリューション部の Y.Sです。今回は、AWS LambdaのカスタムランタイムであるLLRTについての話をさせていただきます。よろしくお願います!
LLRTとは
LLRT(Low Latency Runtime)とは、AWS Lambdaで設定できるJavaScriptランタイムの一つで、高速かつ低コストが売りだそうです。なんでも、Rustで作られていて今までのLambda上で動作する他のJavaScriptランタイムと比較して、最大10倍以上の高速起動と最大2倍の低コスト化を実現しているそうです。なんだかすごいですね!
LLRTへの移行の苦労
今までより高速で、さらにコストも安いというのであれば、移行しない手はない!と思われるかもしれません。ただ、現実はそんなに甘い話ばかりではないのです。ランタイムをNode.jsから、LLRTへの移行を行う際に苦労した点について以下に書き記しました。
苦労その1
まだ世に出たばかりなので、参考になる記事が少ない…
最新の技術あるあるですが、まだ試している人が少なく、課題に直面した際に参考にする記事が少ないです。もしかしたら、まだ誰も経験していない世界初の課題に直面するかもしれません。(その時はLLRTの公式Githubにissueを投げましょう!)
まあ、私が行った移行作業で世界初の課題は出なかったわけですが、参考記事が少ないのには手を焼きました。
苦労その2
使用できないAPI、モジュールが存在します。JavaScriptの標準組み込みAPIである Intl もその一つでした。(2024年7月時点)
UTCから日本時間を算出するために同APIを使用していたので、大変困りました。その他には、axiosや、自前で用意したlayerが使用できないなどもありましたが、何とか代替案で切り抜けられました。
まとめ
今回苦労だと話した内容は、二つともLLRTが浸透し、開発が進んでいけばなくなっていくものです。なので、今後のLLRTには注目ですね。最後までお読みいただきありがとうございました。