こんにちは、クラウドソリューション事業部の中村です。
2026年9月19日に開催された ServerlessDays Tokyo 2026 にて、
「JSONataとAWS Step Functionsで目指すRuntime Lessな世界」
というタイトルで登壇しました。
今回は、AWS Step FunctionsとJSONataによって、これまでLambdaで実装していた処理をどこまで置き換えられるのか、そしてその先にある「Runtimeless」という考え方についてお話ししました。
Step Functions + JSONataで表現できる範囲が広がった
Step FunctionsにはService Integrationがあり、AWSサービスをLambdaを挟まず直接呼び出せます。
さらにJSONataを利用することで、データ変換や条件判定などもASLの中で表現できる範囲が広がりました。
その結果、AWS SDKを呼び出したり、JSONを少し加工したりするだけの小さなLambdaであれば、Step FunctionsとJSONataだけで実装できるケースも増えてきています。
Runtimelessという考え方
今回の登壇では、単に「Lambdaのコードを減らせる」という話ではなく、Runtime lifecycleそのものを管理対象から外せることに注目しました。
Lambdaを1つ持つだけでも、Runtime、SDK / Packages、Build / Deploy、Test / Monitoringといった管理対象が生まれます。
Step Functions + JSONataで十分に表現できる処理であれば、Lambdaを持たないことで、これらのRuntime lifecycleを管理対象から外せます。
今回、この状態を Runtimeless と呼びました。
Runtimeが存在しないという意味ではなく、不要なRuntime lifecycleを自分たちで所有しないという考え方です。
Lambdaをなくしたいわけではない
ただし、何でもStep Functionsへ寄せればよいわけではありません。
ドメインロジックや継続的に機能追加していくコード、外部ライブラリを利用する処理などは、Runtimeを残した方が扱いやすいケースもあります。
特にAIを使った開発では、TypeScriptやPythonとしてローカル実行やテストができること自体にも価値があります。
そのため、判断軸は「Step Functionsで書けるか」ではなく、このコードを今後も継続的に育てるのかだと考えています。
Glue処理やAWS API連携、定型運用などはRuntimelessへ。
一方で、Web APIやビジネス・ドメインロジックなど、継続的に育てるコードにはRuntimeを残す。
その中間では、グルー部分だけStep Functionsへ寄せるといった使い分けもできます。
Runtimeless自体を目的にするのではなく、必要な場所だけにRuntimeを残すことが重要だと考えています。
スライド
登壇資料はこちらです。
JSONataとAWS Step Functionsで目指すRuntime Lessな世界
おわりに
今回は25分のセッションでしたが、振り返ると少し内容を詰め込みすぎたと感じています。
25分であれば、伝えたいことを2つか3つ程度に絞って、それぞれをもう少し深く説明した方が分かりやすかったと思います。
この反省は次回の登壇に活かしていきます。
聞いてくださった皆さま、ありがとうございました。
また、ServerlessDays Tokyo 2026 実行委員の皆さま、登壇の機会をいただきありがとうございました。
