Last reviewed 2023-08-07 UTC
Dataflow は、オープンソースの Apache Beam ライブラリを使用した高速でシンプルなストリーミング データ パイプラインの開発を可能にするフルマネージド データ処理サービスです。Dataflow は自動スケーリングとバッチ処理を介して、レイテンシ、処理時間、コストを最小限に抑えます。
ベスト プラクティス
Dataflow を使用した本番環境対応データ パイプラインの構築 - Dataflow パイプラインの計画、開発、デプロイ、モニタリングなどの Dataflow の使用方法に関するドキュメント シリーズです。
- 概要 - Dataflow パイプラインの概要です。
- 計画 - SLO を測定し、パイプラインのスケーラビリティとパフォーマンスに対するデータソースとシンクの影響を把握して、Dataflow ジョブを実行するリージョンを指定するときに高可用性、障害復旧、ネットワーク パフォーマンスを考慮します。
- 開発とテスト - デプロイ環境の設定して、エラー処理にデッドレター キューを使用することでデータ喪失を防止し、費用がかかる要素ごとのオペレーションの最小化によってレイテンシとコストを削減します。また、バッチ処理を使用することで外部サービスに負担をかけずにパフォーマンス オーバーヘッドを削減します。不適切に融合されたステップの融合を解除して、パフォーマンス向上のためにステップが切り離されるようにします。本番前環境でエンドツーエンド テストを実行してパイプラインが引き続き SLO やその他の本番環境に対応していることを確認します。
- デプロイ - 新しいバージョンのストリーミング パイプラインのデプロイを特別に考慮した継続的インテグレーション(CI)と継続的デリバリーと継続的デプロイ(CD)について説明します。また、CI / CD パイプラインの例と、リソース使用量を最適化するいくつかの機能を紹介します。最後に、パイプラインの信頼性向上のための高可用性、地理的冗長性、ベスト プラクティスについて説明します(リージョン分離、スナップショットの使用、ジョブ送信エラーの処理、実行中のパイプラインに影響するエラーと停止からの復旧など)。
- モニタリング - パイプライン パフォーマンスの重要な指標であるサービスレベル指標(SLI)を確認し、サービスレベル目標(SLO)を定義して測定します。