Amazonは、同社のコンピューティング、データベース、メッセージング、アナリティクス、マシンラーニングの各サービスをAWS Step Functionsとして新たに統合し、ステートマシンワークフローのステップとして利用可能にすることを発表した。このAWS Step Functionsは、アクティビティを接続してコーディネートすることによって、高度にスケーラブルなランタイム、ワークフローの視覚的表現、組込みリトライ、監視、ロギング機構を活用するための手段を提供する。
有限状態機械アプローチ、タスクの実行と順次ないし並列実行機能、判断、代替状態といったものを活用することで、これらの機能は、状態とタスクを使用して、さまざまな機能や動作を実施するように実装されている。Step Functionsでは、これらワークフローの作成にAmazon States LanguageというJSONベースの定義を使用しており、テンプレートを解析してこれを視覚化することで、プロセスへの洞察の提供を支援する。Amazon States Languageを使って、何らかの処理の実行する一連のステートを実装し、ステート間の移行を実装し、エラー処理を適用することで、ステートマシンが定義される。結果としてAWS Step Functionsは、AzureのLogic Appsと同じように、完全なワークフローをセットアップする機能を提供する。
これまで提供されていたAWS Lambda統合のサポートに加えて、Amazonは今回、さらにいくつかのサービスを追加設定なしで統合するためのサポートを発表した。これにより、特別なコードを記述しなくても、データの交換とロジックの活用が可能になる。発表に記載されているように、これで合計8つのサービスで統合機能が使用できるようになり、それぞれのサービスでタスクを実装することが可能になった。
- DynamoDB – 既存のアイテムをAmazon DynamoDBテーブルから取得する。新たなアイテムをDynamoDBテーブルに追加する。
- AWS Batch – AWS Batchジョブを送信してその完了を待機する。
- Amazon ECS – タスク定義を用いてAmazon ECSまたはAWS Fargateタスクを実行する。
- Amazon SNS – Amazon Simple Notification Service (SNS)トピックにメッセージをパブリッシュする。
- Amazon SQS – Amazon Simple Queue Service (SQS)キューにメッセージを送信する。
- AWS Glue - AWS Glueジョブ実行を開始する。
- Amazon SageMaker – Amazon SageMakerトレーニングジョブを生成する。SageMaker変換ジョブを生成する(詳細は“New Features for Amazon SageMaker: Workflows, Algorithms, and Accreditation”を参照)。
AWS Step Functionsを始める上で有用なチュートリアルが多数用意されている他、新たな統合の発表に合わせて、これら新機能を紹介するいくつかのサンプルも公開されている。これらのサンプルは{0]Step Functionsコンソールからも実行が可能で、サンプルに必要なリソースはすべてAWS CloudFormationを使ってプロビジョニングされる。これらのサンプルは、機能をより深く理解するためのガイダンスを提供すると同時に、ソリューションを開発する上での基盤としての役割も果たしてくれる。
この記事を評価
- 編集者評
- 編集長アクション