[神アップデート]Step Functionsが新たに8つのマネージドサービスと連携可能になりました! #reinvent
re:Invent 2018キーノートにおいて、「Step Functions service integrations」が発表されました!
一瞬なんかの新サービスかと勘違いしましたが、実態はStep Functionsと連携するマネージドサービスが飛躍的に増えた!という、全国1000万人のStep Functionsファンにはたまらないアップデートとなります。
Step Functions きたか…!! ( ゚д゚) ガタッ / ヾ __L| / ̄ ̄ ̄/_ \/ /
アップデートの内容
StepFunctionsと直接連携可能になった、新サービスは以下の通り。
- Dynamo DB
- DynamoDBテーブルからの既存アイテムの取得、新アイテムの登録が可能
- AWS Batch
- バッチジョブの起動、および完了待ちが可能
- Amazon ECS
- ECS、もしくはFargateのタスク定義からのタスク起動が可能
- Amazon SNS
- SNSトピックのパブリッシュが可能
- Amazon SQS
- SQSキューへのメッセージ送信が可能
- AWS Glue
- Glueジョブの起動が可能
- Amazon SageMaker
- トレーニングジョブ、トランスフォームジョブの起動が可能
こう書いていて思ったんですが、めっちゃ強力なラインナップじゃありませんか。
やってみたページ
StepFunctionsからDynamoDBに接続するサンプルとなります。
お次は、AWS BatchとSNS連携。
SQS連携もアガってますYO
AWS Batch連携もういっちょ来ました!
Step Functionsの適用範囲が広がる素晴らしいアップデート
一番嬉しいのは、「無駄なLambdaラッパーがなくなる所」ですね。
以前から、StepFunctionsとLambdaは統合されていて、StepFunctionsからLambdaの起動は簡単にできました。ただ、SNSの送信をするだけでも専用のLambdaを挟む必要があり、手間がかかりました。
もちろんLambdaの汎用性は魅力なんですが、Lambdaが無駄なラッパーになっているケースも多かったかと。階層が増えるとエラー処理も複雑になり管理対象も増えるのでTCOが増えがちです。
柔軟なジョブ管理機能をもつStep Functionsを各種マネージドサービスと連携して使うことで、今まで以上にStep Functionsが使いやすくなります。
個人的にはECS、特にFargate対応とかアツいすね。しばらく前にFargateがスケジュールタスクに対応しましたが、Lambdaではできないような処理をコンテナ実装してFargateとして起動して、それぞれのバッチ処理をStepFunctionsで管理するなどが、非常にやりやすくなりそうです。
コレを機に、いまいち地味(偏見)なStep Functionsに光があたることを期待しております!
それでは、今日はこのへんで。濱田(@hamako9999)でした。