shiichan

Go で Lambda durable functions が書けるようになったよ!

やっほー、しぃちゃんだよ!Go 好きさん、お待たせ!

AWS What's New aws.amazon.com

なにが発表されたの?

AWS の What's New で、AWS Lambda Durable Execution SDK for Go が一般提供(GA)になったと発表されたよ。Go の開発者が、Lambda durable functions を使って、壊れにくい長時間のワークフローを作れるの。

なぜ重要なの?

Lambda durable functions は、Lambda のイベント駆動モデルを拡張して、進捗を自動でチェックポイントし、外部のイベントを待つあいだ最大 1 年まで実行を一時停止できる仕組みだよ。Go でも独自の進捗管理を書かずに、次のようなマルチステップのアプリが作れるようになったね。

  • インフラの自動化
  • 承認ゲートつきのデプロイのロールアウト
  • AI モデルを呼んで人のレビュー待ちで止まるパイプライン

これで何が変わるの?

Go ネイティブな体験で durable functions が使えるよ。普段の Go ツールがそのまま使えるのも嬉しいところ!

深く潜ってみよう

SDK が持つ機能はこの 4 つだよ。

  • ステップ:進捗の追跡
  • コールバック連携:人間やエージェントが関わるワークフロー向け
  • durable invocation:信頼できる関数の連鎖呼び出し
  • 待機:効率的な一時停止

導入と開発まわりはこうなっているよ。

go get
  • Go モジュールに go get で追加する
  • 関数は単一の静的バイナリとして、provided.al2023 ランタイムにデプロイする(他の Go の Lambda 関数と同じ)
  • durabletest パッケージで、ネットワークも AWS 認証情報もなしで、ローカルで完全なワークフローをテストできる
  • durablelint アナライザーで、再開時にワークフローを壊しかねないコードを検出できる

はじめ方は、Lambda durable functions の開発者ガイドを見てね。

まとめ

  • Lambda Durable Execution SDK for Go が GA
  • チェックポイントと最大 1 年の待機で長時間ワークフローを構築
  • provided.al2023 ランタイムに静的バイナリでデプロイ
  • durabletest でローカルテスト、durablelint で再開時の問題を検出

Go で承認フローや AI パイプラインを組みたい人に刺さるよ!