Googleは最近、Google Cloud Workflowsの一般向け提供を発表した。Google Cloud Workflowsは、Google CloudとHTTPベースのAPIサービスをサーバーレスワークフローと統合するサービスである。Workflows Connectorsが公開プレビュー版となった。
Google Cloud Workflowsはインフラストラクチャ管理を必要とせず、オンデマンドでスケールする。リクエストが処理されない場合はゼロにスケールダウンする。これは、一連のサーバーレスタスクを所定の順序で接続してワークフローに基づく、複雑なサーバーレスアプリケーションを開発するために使用できる。そして、Google CloudのAPI、Cloud Functions、CloudRunなどの他のマネージドサービスと連携する。
新しいサービスの機能の中には、構成可能な再試行ポリシーによるエラー処理機能、エンタープライズおよび基幹業務アプリケーションを対象とした信頼性の高いワークフローを実行する機能、JSON解析と式ベースの変数操作を使ってステップ間で情報を渡す機能がある。Workflowsは、ワークフロー内の他のGoogle Cloud APIに簡単にアクセスできるように、コネクタを公開している。
GoogleのシニアディベロッパーアドボケートであるMete Atamel氏は、新しいサービスが開発者に役立つと彼が考える理由を説明している。
サービスの接続は「簡単であるべき」ものの1つですが、実際には多くの時間と労力がかかります。サービスが使用する共通の接続形式を理解し、接続を確立し、結果を解析して、結果を渡す必要があります。それでもまだ、エラー処理、再試行、および、最終的に実行する必要のあるすべての本番準備タイプの機能については触れていません。
ワークフロー、在庫管理プロセス、eコマーストランザクション、そして、オーケストレーションレイヤーを必要とするその他のサービスから利益を享受できるユースケースの中で、 GCPのプロダクトマネージャーであるFilip Knapik氏は、GAの前に、ある記事を書いた。それは、ストレージバケットにアップロードされたファイルの処理、拡張子に基づいたファイルのタグ付けなどのWorkflowsの例である。彼は次のように説明している。
極端に単純化すると、データ処理、ETL、機械学習パイプラインを管理し、BigQueryやDataflowなどのデータ製品と統合する場合は、CloudComposerが最適です。ただし、バーストトラフィックパターン、大量の実行、低レイテンシで、サーバーレスの方法でイベントまたはチェーンAPIを処理する場合は、最初にWorkflowsを確認する必要があります(..)Workflowsは「コールドスタート」の影響なく、自動的にスケールアウトします。そして、ステップ間を高速に遷移します。これにより、Workflowsは遅延の影響を受けるアプリケーションに最適です。
マネージドワークフローを提供しているクラウドプロバイダーはGCPだけではない。MicrosoftにはAzure Logic Appsがあり、Amazonは4年以上前にAWS Step Functionを導入した。AWSの元VP/著名なエンジニアであるTim Bray氏は、AWSサービスとGCPサービスの詳細に比較した。しかし、提供する機能やさまざまなサービスの成熟度に関係なく、ワークフローサービスの選択はプラットフォームの選択であると彼は結論付けている。
どのワークフローサービスを使用するすべきか。とても簡単です。宣言的に指定されたフルマネージドのクラウドネイティブサービスを使うべきです。さまざまなワーカーを呼び出すことができ、再試行と例外処理を組み合わせて高い信頼性を実現できるものです。そして、そのようなパブリッククラウドを使っていても、それに対してネイティブなものを使用すべきです。
Google Cloud Workflowsには、ステップ数と外部HTTP呼び出しの数に基づく従量課金モデルである。毎月、最初の5000ステップと2000回のHTTP呼び出しは無料である。