従来のバッチタスクオーケストレーションおよびワークフローオーケストレーションシステムは、増加するオーケストレーションシナリオの複雑さを管理するのに苦労し、自動化拡張をサポートしません。 これらの制限は、バッチデータ処理、機械学習パイプライン、インフラストラクチャの自動化、継続的統合および継続的配信 (CI/CD) などのシナリオで明らかです。 Alibaba Cloudは、クラウドネイティブのワークフローエンジンであるArgoワークフローと互換性のあるコンポーネントを提供し、バッチタスクのオーケストレーションを簡素化します。 このトピックでは、主にContainer Service for Kubernetes (ACK) クラスターでのArgoワークフローコンポーネントの使用方法について説明します。
オープンソースのArgoワークフロー
Argo Workflowsは、Kubernetesで複雑なワークフローを定義、管理、およびスケジュールするために設計された強力なクラウドネイティブのワークフローエンジンです。 ワークフローには、依存関係を持つ複数のタスクを含めることができます。 この柔軟性により、タスク構成が簡素化されます。
シナリオ
Argoワークフローはさまざまなシナリオをサポートし、、自動運転、科学コンピューティング、金融定量分析、デジタルメディアなどの業界で広く使用されています。
バッチデータ処理: 大規模な高精度マップ処理、財務定量的バックテストシミュレーション、並列オーディオおよびビデオ処理、アニメーションレンダリング。
科学コンピューティング: 複雑な科学計算シミュレーション、製薬研究とトレーニング、遺伝子シーケンシング、突然変異アライメント検出、エネルギー探査。
シミュレーションとモデリング: 自律走行アルゴリズムシミュレーション、分子動力学シミュレーション、天文データシミュレーション、財務モデリング。
機械学習パイプライン: 機械学習データの前処理、分散トレーニング、大規模なモデルパラメーターの調整、モデルの評価と展開。
インフラストラクチャの自動化: クラウドリソースの自動管理、リソースのバックアップと復元、ノードプールの移行、クラスターの移行とアップグレード。
CI/CD: 並列CIパイプライン、マルチステージビルドとテスト、クラウド間のアプリケーション展開、承認ワークフローの統合。
利点
クラウドネイティブ: Kubernetes用に特別に設計された各タスクは、軽量で柔軟な性質のコンテナを完全に使用するポッドです。
軽量化とスケーラビリティ: 従来のVMと比較して、Argoワークフローは軽量であり、追加のオーバーヘッドや制限はありません。 Kubernetesが提供する堅牢なスケジューリング機能により、数千のタスクを並行して起動できるため、処理効率が向上します。
柔軟なオーケストレーション機能: 有向非巡回グラフ (DAG) とステップの柔軟な組み合わせにより、さまざまな複雑さを伴うワークフローのカスタマイズがサポートされます。 強力な再試行およびキャッシュメカニズムにより、ワークフロー実行の成功率が向上します。
豊富なエコシステム: Spark、Ray、TensorFlowジョブなど、さまざまな種類のタスクのオーケストレーションがサポートされています。 イベントドリブン機能と組み合わせることで、完全に自動化されたタスク処理プラットフォームを構築できます。
ACK Argoワークフロー
利点
ACK Argoワークフローは、オープンソースのArgoワークフローと互換性があり、拡張機能が含まれています。 既存のオープンソースのArgoワークフローからACK Argoワークフローに変更せずにシームレスに移行できます。 オープンソースバージョンと比較して、ACK Argoワークフローには次の利点があります。
高い弾力性、自動スケーリング、および最適化されたコンピューティングコスト。
高い信頼性、マルチゾーン負荷分散、および高いスケジューリング信頼性。
スケーラビリティ、パフォーマンス、効率、安定性、および可観測性が大幅に向上した拡張制御プレーン。
大容量ファイルのアップロード、アーティファクトのガベージコレクション (GC) 、およびデータストリーミングをサポートする、拡張されたObject Storage Service (OSS) ストレージ管理。
コンテナサービスの技術専門家によるサポートにより、チームはワークフローの最適化、パフォーマンスの向上、コスト削減を支援します。
ACK Argoワークフローには、さまざまなユーザーニーズを満たす2つの使用オプションがあります。
サーバーレスArgoワークフロー: 運用上のオーバーヘッドなしでビジネスプロセスのオーケストレーションに集中し、大規模で高性能なワークロードを必要とする場合は、個別のワークフロークラスターを構築できます。 詳細については、「Serverless Argo Workflows」をご参照ください。
ACKのArgoワークフローコンポーネント: すでにACKクラスターがあり、既存のクラスターリソースを使用する場合は、Argoワークフローコンポーネントを使用してワークフローを調整できます。
手順
Argoワークフローコンポーネントをインストールした後、Alibaba Cloud Argo CLIまたはArgoコンソールを使用してワークフローを送信および管理することにより、バッチタスクオーケストレーションを使用できます。
次の図は、さまざまなロールのプロセスを示しています。
プロセス | 説明 |
準備 |
|
環境セットアップ |
詳細については、「Enable batch task orchestration」をご参照ください。 |
ワークフロー管理 | (データエンジニア) 並列タスクを調整した後、Argo CLIまたはArgoコンソールを使用してタスクを送信および管理します。
|
(クラスター管理者)
|
課金
バッチタスクのオーケストレーション機能には料金は発生しません。 ただし、通常のACK課金に加えて、バッチタスクオーケストレーションを使用する場合、Argo Serverは従量課金のClassic Load Balancer (CLB) インスタンスを自動的に作成します。 関連するコストはCLBによって請求されます。 詳細は、「CLB課金」をご参照ください。
お問い合わせ
この製品に関する提案や質問がある場合は、DingTalkグループ35688562に参加してお問い合わせください。