
Prefect は、Python のネイティブな関数とデコレータでワークフローを記述できるデータオーケストレーション基盤です。Apache Airflow の主要コミッタを務めた Jeremiah Lowin が 2018 年に Prefect Technologies 社(現 Prefect 社)を設立し、Airflow の運用上の課題を解消する代替として開発を始めました。@flow と @task をつけるだけでローカル関数がそのまま分散実行可能なフローになる手軽さと、Prefect Cloud によるホスティングが特徴で、データチームの小規模スタートから本番運用までスムーズにスケールします。
この記事の目次
- FlowとTaskの動的実行モデル
- Lowin氏の創業と2.x大刷新
- ETLからML推論まで幅広い適用
- Airflow比較に見るPrefectの選択軸
- まとめ
FlowとTaskの動的実行モデル

Prefect 2.x 以降の中核は @flow デコレータで、通常の Python 関数をワークフローへ昇格させます。関数内で呼ぶ @task 付きの関数は自動的にスケジュールされ、依存関係は引数渡しから推論されます。これは Airflow のように DAG を事前定義する必要がなく、ループや条件分岐で動的に生成されるタスクもそのまま追跡できる点が大きな違いです。
実行はワークプールとワーカーの概念で抽象化され、ローカル・Docker・Kubernetes・ECS・Serverless など複数のインフラに同一コードで展開できます。状態遷移は Cloud/Server がイベントとして記録し、失敗時のリトライ、キャッシュ、サブフロー呼び出しなどを Python 的な書き味で扱えるため、ノートブック的な探索からプロダクション運用への移行が容易です。
Lowin氏の創業と2.x大刷新

創業者の Jeremiah Lowin は Apache Airflow の PMC を務めていた人物で、Airflow の運用課題、特に動的タスク・テスト容易性・ローカル開発体験の弱さを解消することを目的に Prefect を立ち上げました。2018 年の創業後、まず Prefect Core を OSS として公開し、Server と Cloud を有償提供するビジネスモデルを確立しました。Positive Sum や Bessemer Venture Partners から資金調達を行い、急速に開発体制を整えています。
2022 年に発表された「Orion」アーキテクチャは、後に Prefect 2.0 として正式公開され、DAG の静的定義を撤廃する大刷新となりました。2024 年にリリースされた 3.x ではトランザクション、結果型の整理、イベント駆動の自動化機能が強化され、複数チームでの大規模運用にも耐える基盤として成熟しました。フリーミアムの Prefect Cloud が広く使われています。
ETLからML推論まで幅広い適用

Prefect は API クローリングや SaaS データ収集など、リトライと例外処理が重要な処理に向いています。HTTP リクエストやスクレイピングをタスクとして定義し、retries と retry_delay_seconds を指定するだけで指数バックオフを実装できるため、データ取得の安定性を高めるのに有効です。Snowflake や BigQuery への ELT、dbt 起動、Reverse ETL までを一本のフローとして組み立てる事例が多数公開されています。
機械学習用途では、特徴量計算・推論・モニタリングをサブフローに分割し、テナントや顧客ごとに動的にサブフローを実行する設計が定着しています。Kubernetes ワーカープールと組み合わせれば、GPU ノードで重い推論ジョブを並列処理しつつ、軽量タスクは安価なインスタンスに振り分けるなど、コスト最適化も柔軟です。Cash App や Endpoint などの導入事例が知られています。
Airflow比較に見るPrefectの選択軸

Airflow と Prefect の最大の違いは「DAG を事前に書くか、動的に生成するか」です。Airflow ではタスクの数や依存関係を起動時に決定する必要があるのに対し、Prefect は実行時に確定する設計のため、入力データの中身に応じてタスク数が変わるパイプラインを素直に書けます。map メソッドで配列を並列実行する書き味は、特に分析系の処理で重宝されます。
一方で、Airflow が長年積み上げてきた Operator・Provider の網羅性や、SRE 文化との親和性は依然として強力です。Prefect は Python に閉じた世界での開発生産性で優位に立っており、サーバーレスで小規模に始めたい組織や、データサイエンティスト主体のチームに親和性があります。両者を併用し、Airflow を ETL の幹、Prefect を分析・ML の枝として使い分ける事例も増えています。
まとめ
Prefect は 2018 年の創業以来、Airflow の課題を踏まえつつ Python ネイティブな開発体験を磨いてきました。3.x で成熟したイベント駆動と動的タスクの仕組みは、モダンデータスタックを軽量に組み上げたいチームにとって有力な土台になります。
※本記事はIT用語辞典の手書きドラフトです。公開前に最新情報・出典を確認のうえ加筆修正してください。

コメント