世界のLambdaから – AWS Lambda Custom Runtimesを好きな言語で試してみた記事のまとめ #reinvent
様々なCustom Runtimeを覗いてみよう
今年開催された「AWS re:Invent 2018」のキーノートで発表されたAWS Lambda Custom Runtimes。Lambda Functionを実行する環境(ランタイム)を自作できる機能です。発表時にかなり話題になりました。
【アップデート】 もう言語で悩まない!AWS LambdaでCustom Runtimeが利用できるようになりました! #reinvent
そして、ただのその場のノリでアドベントカレンダーを企画し無事に完走しました。ご参加いただいた皆さん、ありがとうございました!
そんな感じで、Custom Runtimesで自分の興味のある言語を動かしてみるブログをかなり見かけるようになりました *1。そして プログラミング言語をフワッと触りだけ理解するという目的においてCustom Runtimesの試してみた記事は非常に有用 であることに気づきました。その理由は「Lambda Functionとして動作する」というある一定のテーマを題材としているからです。同じテーマで書かれた記事はコンテキストが決まっているので読みやすいです。さくさく読めます。
個人的には人生においてはいろんなプログラミング言語に触れたいと思っているので、Custom Runtimesのブーム(?)は絶好の機会というわけです。
ということでプログラミング言語ごと(多分アルファベット順)にまとめてみました!自分の好きな言語でLambda Functionを書きたいと思っている方は、まずは本ページで探してみると良いやも知れません。
Bash
- [AWS re:Invent 2018]LambdaのCustom RuntimeでHelloしてみる - Qiita
- AWS Lambda Custom RuntimesでAWS CLIを動かした。#reinvent | DevelopersIO
BASIC
C
C++
Clojure
COBOL
Crystal
Fortran
Elixir
Erlang
Haskell
Java
- AWS Lambda のカスタムランタイムにて Java のカスタムランタイムで関数を動かす - mike-neckのブログ
- GraalVM の native image を使って Java で爆速 Lambda の夢を見る - Qiita
Lisp (Common Lisp)
mRuby
nim
Pascal
Perl
PHP
- AWS Lambdaの Custom RuntimeでさっそくPHPを動かしてみた - Qiita
- LambdaでPHPが動くので、とりあえずWordPressをいれてみた
- LambdaのCustom Runtime のPHPを使って ALB + VPC Lambdaの構成でRDSに接続してみた | DevelopersIO
- PHP7.2が使えるLambdaのカスタムランタイム環境を作ってみた #reinvent | DevelopersIO
- 本番環境のLambdaをステップ実行!! Lambdaのカスタムランタイム環境(PHP用)にExtensionを組み込んでみた #reinvent | DevelopersIO
- ステートフルなECサイトもLambdaで動くんです!! AWS Lambda の Custom Runtimes を利用してEC-CUBEを動かしてみる #reinvent | DevelopersIO
Rust
- AWS LambdaのCustom RuntimeでRustを実行してみた #reinvent | DevelopersIO
- Lambda が Custmon Runtimeに対応したのでRustで試してみた
- AWS Lambda の新機能 Custom Runtime を Rust でトライ - Don't Repeat Yourself
- AWS LambdaのCustom RuntimesでRustからAWSのサービスを利用する! #reinvent | DevelopersIO
Scheme
Shell Script
- re:Invent 2018 新機能!LambdaのCustom Runtimesを試してみた|ハンズラボエンジニアブログ|ハンズラボ株式会社
- AWS Lambda の新機能でサーバーレス・シェルスクリプト! カスタムランタイムのチュートリアルを動かしてみた #reinvent | DevelopersIO
- AWS Lambda Custom Runtime シェルを動かしてみた | TECHSCORE BLOG
Swift
VB.NET
Vim
なでしこ
GraalVM
Oracleが提供している複数言語の共通VMプラットフォームであるGraalVMを活用する記事もいくつか公開されています。
- GraalVM で作成したネイティブコードをAWS Lambda Custom Runtimes上で動かしてみた | DevelopersIO
- ClojureをGraalVMでネイティブバイナリにしてAWS Lambdaカスタムランタイムで動かす - Qiita
- GraalVM の native image を使って Java で爆速 Lambda の夢を見る - Qiita
番外編
Custom Runtimesの仕様を活用し、Lambda Functionの動作を探る系のブログもあります。どのように動いているかよく分かるので、必読!
- Lambda Custom Runtimes上でbashを対話的に操作してその内部仕様を丸裸にする - misc.tech.notes
- Lambdaのカスタムランタイムで無限ループをなくしてみた #reinvent | DevelopersIO
脚注
- 時折、実行環境を作るというより「いかにスタティックコンパイルして実行するか」のゲームになりつつありましたがw ↩