従来のバッチおよびフローオーケストレーションシステムでは、バッチデータ処理、機械学習パイプライン、インフラストラクチャの自動化、CI/CD といった複雑なシナリオへの対応が困難な場合があります。これらのシステムでは、増大する複雑さに対応したり、自動スケーリングをサポートしたりすることができません。バッチタスクオーケストレーションを簡素化するために、Alibaba Cloud はクラウドネイティブワークフローエンジンの Argo Workflows と互換性のあるコンポーネントを提供しています。
Argo Workflows の概要
Argo Workflows は、Kubernetes で複雑なワークフローを定義、管理、スケジューリングするために設計された、強力なクラウドネイティブワークフローエンジンです。ワークフローは依存関係のある複数のタスクで構成され、この柔軟性によりタスクの設定が簡素化されます。
シナリオ
Argo Workflows は、バッチデータ処理、機械学習パイプライン、インフラストラクチャの自動化、CI/CD などのシナリオをサポートします。自動運転、科学技術計算、クオンツファイナンス、デジタルメディアなどの業界で広く使用されています。
バッチデータ処理:一般的なシナリオには、大規模な高精度マップ処理、クオンツファイナンスのバックテストとシミュレーション、並列オーディオおよびビデオ処理、アニメーションレンダリングなどがあります。
科学技術計算:一般的なシナリオには、複雑な科学技術計算シミュレーション、創薬とトレーニング、遺伝子シーケンシング、変異比較と検出、エネルギー探査などがあります。
シミュレーション:一般的なシナリオには、自動運転アルゴリズムシミュレーション、分子動力学シミュレーション、天文データシミュレーション、金融モデリングなどがあります。
機械学習パイプライン:一般的なシナリオには、機械学習データの事前処理、分散トレーニング、大規模言語モデル (LLM) のパラメータチューニング、モデルの評価とデプロイなどがあります。
インフラストラクチャの自動化:一般的なシナリオには、自動化されたクラウドリソース管理、リソースのバックアップと復元、ノードプールの移行、クラスターの移行とアップグレードなどがあります。
CI/CD:一般的なシナリオには、並列 CI パイプライン、多段階のビルドとテスト、クラウド間のアプリケーションデプロイ、承認フローの統合などがあります。
Argo Workflows の利点
クラウドネイティブ:Kubernetes 専用に設計されています。各タスクは Pod であり、コンテナの軽量かつ柔軟な性質を最大限に活用します。
軽量かつスケーラブル:Argo Workflows は軽量で、従来の仮想マシン (VM) と比較して余分なオーバーヘッドや制限がありません。Kubernetes のスケジューリング機能を使用することで、何千ものタスクを並行して実行し、処理効率を向上させることができます。
柔軟なオーケストレーション:有向非巡回グラフ (DAG) とステップを柔軟に組み合わせることで、どのような複雑なカスタムワークフローロジックでもサポートします。強力なリトライおよびキャッシュメカニズムにより、ワークフロー実行の成功率が向上します。
豊富なエコシステム:Spark、Ray、TensorFlow Job など、さまざまなタイプのタスクのオーケストレーションをサポートします。イベント駆動機能と組み合わせることで、完全に自動化されたタスク処理プラットフォームを構築できます。
Argo Workflows の使用
ACK Argo Workflows は、Argo Workflows のコミュニティ版と互換性があり、オープンソース版を強化した機能が含まれています。既存の Argo ワークフローを修正なしでシームレスに移行できます。ACK Argo Workflows は、オープンソース版に比べて次の利点があります。
高い弾力性、自動スケーリング、コンピューティングコストの最適化。
マルチゾーンの負荷分散と信頼性の高いスケジューリングによる高い信頼性。
規模、パフォーマンス、効率、安定性、可観測性が大幅に向上した、強化されたコントロールプレーン。
大容量ファイルのアップロード、アーティファクトのガベージコレクション (GC)、ストリーミングをサポートする、強化された Object Storage Service (OSS) のストレージ管理機能。
ビジネスチームのワークフロー最適化、パフォーマンス向上、コスト削減を支援する、コンテナサービス技術専門家によるサポート。
ACK Argo Workflows は、さまざまなユーザーのニーズに対応するために、2 つの利用オプションを提供します。
Serverless Argo Workflows:フルマネージドサービスでビジネスフローのオーケストレーションに集中し、大規模で高性能なワークロードが必要な場合は、別のワークフロークラスターを構築できます。詳細については、「Serverless Argo Workflows」をご参照ください。
ACK 上の Argo Workflows コンポーネント:すでに Container Service for Kubernetes (ACK) クラスターがあり、そのリソースを使用したい場合は、Argo Workflows コンポーネントを使用してビジネスワークフローをオーケストレーションできます。このトピックでは、ACK クラスターで Argo Workflows コンポーネントを使用する方法について説明します。
Argo Workflows コンポーネントをインストールした後、バッチタスクオーケストレーションを有効にする必要があります。その後、Argo CLI または Argo コンソールを使用して、ワークフローを送信および管理できます。
さまざまなロールの一般的なプロセスは次のとおりです。
プロセス | 説明 |
1. 準備 |
|
2. 環境のセットアップ |
詳細については、「バッチタスクオーケストレーションの有効化」をご参照ください。 |
3. ワークフローの管理 | (データエンジニア) 並列タスクをオーケストレーションした後、Argo CLI または Argo コンソールを使用してワークフローを送信および管理できます。 |
(クラスター管理者)
|
課金
バッチタスクオーケストレーション機能は無料です。ただし、標準の ACK 課金に加えて、この機能を使用すると、Argo Server は従量課金制のクラシックロードバランサー (CLB) インスタンスを自動的に作成します。このインスタンスに対して CLB から課金されます。詳細については、「CLB 課金の概要」をご参照ください。
お問い合わせ
製品に関するご提案やご質問がある場合は、DingTalk グループ (ID: 35688562) に参加してお問い合わせください。