<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>オーケストレーション on ArcHack</title>
    <link>https://www.arc-hack.com/tags/%E3%82%AA%E3%83%BC%E3%82%B1%E3%82%B9%E3%83%88%E3%83%AC%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3/</link>
    <description>Recent content in オーケストレーション on ArcHack</description>
    <generator>Hugo</generator>
    <language>ja</language>
    <lastBuildDate>Sat, 08 Nov 2025 00:00:00 +0000</lastBuildDate>
    <atom:link href="https://www.arc-hack.com/tags/%E3%82%AA%E3%83%BC%E3%82%B1%E3%82%B9%E3%83%88%E3%83%AC%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Google Cloud Workflowsとは？サーバーレスで実現する業務自動化の完全ガイド</title>
      <link>https://www.arc-hack.com/blog/google-cloud-workflows-guide/</link>
      <pubDate>Sat, 08 Nov 2025 00:00:00 +0000</pubDate>
      <guid>https://www.arc-hack.com/blog/google-cloud-workflows-guide/</guid>
      <description>&lt;h2 id=&#34;はじめに&#34;&gt;はじめに&lt;/h2&gt;&#xA;&lt;p&gt;現代のクラウドアプリケーション開発において、複数のサービスやAPIを連携させて業務を自動化することは不可欠です。しかし、複雑な処理フローを管理し、エラーハンドリングやリトライ処理を実装するのは容易ではありません。&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;Google Cloud Workflows&lt;/strong&gt;は、こうした課題を解決するフルマネージドのサーバーレスオーケストレーションサービスです。本記事では、Google Cloud Workflowsの基本から実践的な活用方法まで、徹底的に解説します。&lt;/p&gt;&#xA;&lt;h2 id=&#34;google-cloud-workflowsとは&#34;&gt;Google Cloud Workflowsとは&lt;/h2&gt;&#xA;&lt;h3 id=&#34;概要&#34;&gt;概要&lt;/h3&gt;&#xA;&lt;p&gt;Google Cloud Workflows（以下、Workflows）は、Google Cloudが提供する&lt;strong&gt;サーバーレスなワークフローオーケストレーションサービス&lt;/strong&gt;です。複数のCloud FunctionsやCloud Run、BigQueryなどのGoogle Cloudサービス、さらには外部APIを定義した順序で実行できます。&lt;/p&gt;&#xA;&lt;h3 id=&#34;主な特徴&#34;&gt;主な特徴&lt;/h3&gt;&#xA;&lt;p&gt;Workflowsには以下のような特徴があります:&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;strong&gt;フルマネージド&lt;/strong&gt;: インフラの管理が不要で、運用負荷を大幅に削減&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;サーバーレス&lt;/strong&gt;: 自動スケーリングにより、トラフィックに応じて柔軟に対応&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;低コスト&lt;/strong&gt;: 従量課金制で、無料枠も充実（内部ステップ5,000回/月、外部ステップ2,000回/月）&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;シンプルな定義&lt;/strong&gt;: YAMLまたはJSON形式で直感的にワークフローを記述&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;豊富な機能&lt;/strong&gt;: 条件分岐、繰り返し、並列実行、エラーハンドリングをサポート&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;h2 id=&#34;なぜworkflowsが必要なのか&#34;&gt;なぜWorkflowsが必要なのか&lt;/h2&gt;&#xA;&lt;h3 id=&#34;従来の課題&#34;&gt;従来の課題&lt;/h3&gt;&#xA;&lt;p&gt;従来、複数のサービスを連携させる際には以下のような課題がありました:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;複雑なコード&lt;/strong&gt;: 各サービスの呼び出しロジックをアプリケーションコードに埋め込む必要がある&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;エラーハンドリング&lt;/strong&gt;: リトライ処理や例外処理を個別に実装する必要がある&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;スケーラビリティ&lt;/strong&gt;: トラフィック増加時のスケーリング対応が必要&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;可視性の欠如&lt;/strong&gt;: 処理フローの全体像が把握しづらい&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;workflowsによる解決&#34;&gt;Workflowsによる解決&lt;/h3&gt;&#xA;&lt;p&gt;Workflowsを使用することで、これらの課題を以下のように解決できます:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;宣言的な定義&lt;/strong&gt;: YAMLで処理フローを明示的に定義&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;組み込みのエラーハンドリング&lt;/strong&gt;: リトライポリシーを簡単に設定&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;自動スケーリング&lt;/strong&gt;: サーバーレスアーキテクチャによる自動対応&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;実行履歴&lt;/strong&gt;: すべての実行ログを自動的に記録し、可視化&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;主なユースケース&#34;&gt;主なユースケース&lt;/h2&gt;&#xA;&lt;p&gt;Workflowsは、さまざまなシーンで活用できます。&lt;/p&gt;&#xA;&lt;h3 id=&#34;1-データパイプライン&#34;&gt;1. データパイプライン&lt;/h3&gt;&#xA;&lt;p&gt;最も一般的なユースケースの一つが、&lt;strong&gt;データパイプラインの構築&lt;/strong&gt;です。&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;具体例&lt;/strong&gt;:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;業務システムからデータを抽出（Extract）&lt;/li&gt;&#xA;&lt;li&gt;Cloud Storageにデータを一時保存&lt;/li&gt;&#xA;&lt;li&gt;BigQueryにデータをロード（Load）&lt;/li&gt;&#xA;&lt;li&gt;SQLクエリでデータを変換（Transform）&lt;/li&gt;&#xA;&lt;li&gt;変換結果を別のテーブルに保存&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;このようなETL/ELTプロセスを、Workflowsで一連のフローとして定義できます。&lt;/p&gt;&#xA;&lt;h3 id=&#34;2-バッチ処理&#34;&gt;2. バッチ処理&lt;/h3&gt;&#xA;&lt;p&gt;定期的に実行する必要がある&lt;strong&gt;バッチジョブ&lt;/strong&gt;の自動化にも最適です。&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;具体例&lt;/strong&gt;:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;日次でのレポート生成&lt;/li&gt;&#xA;&lt;li&gt;定期的なデータバックアップ&lt;/li&gt;&#xA;&lt;li&gt;機械学習モデルの再トレーニング&lt;/li&gt;&#xA;&lt;li&gt;ログファイルのアーカイブ処理&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Cloud Schedulerと組み合わせることで、cron形式で定期実行を設定できます。&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
