DUICUO

Alibaba Cloud のネイティブ ハイブリッド デプロイメント システムである Koordinator が正式にオープンソース化されました。

著者 |朱玲

混合ユニットとは何ですか?

業界の多くのインターネット企業は、程度の差はあれ、異なる特性を持つワークロードを協調的にスケジューリングする技術を開発してきました。これにより、ワークロード間のピークシェービング効果と谷間フィリング効果を活用し、より安定的、効率的、かつ費用対効果の高い方法でリソースを活用できるようになります。こうしたシステムやメカニズムは、業界では「混合デプロイメント」というコンセプトと呼ばれることがよくあります。

アリババの混合部門:

アリババは2011年にコンテナ技術の探求を開始し、2016年にハイブリッド展開技術の研究開発を開始しました。複数回の技術アーキテクチャのアップグレードを経て、今日のクラウドネイティブ・ハイブリッド展開システムアーキテクチャへと進化し、1,000万コアを超えるビジネス規模でのクラウドネイティブ・ハイブリッド展開を実現しました。ハイブリッド展開の1日あたり平均CPU使用率は50%を超え、アリババのリソースコストを大幅に削減することに役立っています。

混合機能チームは、インターネット企業が多額の投資を行っているコスト管理の中核であり、ビジネスの抽象化とリソース管理の最適化に関する豊富な経験を体現しています。そのため、混合機能チームが徐々に安定し、生産的な価値を生み出すには、通常、数年にわたる改良と実践が必要です。すべての企業が混合機能チームを導入するには、高い参入障壁が必要でしょうか?また、価値を生み出すには多額の投資が必要でしょうか?Koordinatorがその答えを探ります。

Koordinatorは、大規模な混合デプロイメントの運用における社内経験に基づいています。クラウドネイティブシナリオにおいて、アクセスコストを最小限に抑え、混合デプロイメントの効率性を最大限に高めるソリューションの構築を目指しており、ユーザーがクラウドネイティブデプロイメント後の継続的なメリットを実現できるよう支援します。

I. コーディネーターとは何ですか?

Koordinator: Coordinator から派生した名称で、Kubernetes の「K」が付き、発音も同じです。意味的には、このプロジェクトが解決を目指す課題、つまり Kubernetes クラスター内の異なる種類のワークロードを調整・オーケストレーションし、単一のクラスターとノード上で最適なレイアウトと最良の状態で実行できるようにするという課題と一致しています。

GoogleはBorgと呼ばれる社内スケジューリングシステムを有しています。これはコンテナの共同デプロイにおける初期のシステムの一つであり、論文発表以前は業界でも謎に包まれていました。クラウドネイティブのコンテナオーケストレーションシステムであるKubernetesは、Borgの設計理念に着想を得て、Borgの設計者によってクラウド時代のアプリケーションのオーケストレーションニーズを満たすように再設計されました。Kubernetesは優れたスケーラビリティを備えており、多様なワークロードに適応できるため、ユーザーは日々のワークロード管理の効率を大幅に向上させることができます。

KoordinatorはKubernetesの標準機能に基づいて構築されており、単一のクラスタまたはノードに多様なワークロードをデプロイする際のスケジューリング、ランタイムパフォーマンス、安定性といった課題に対処するために拡張されています。このプロジェクトには、きめ細かなリソーススケジューリング、タスクスケジューリング、そして差別化されたSLOという3つの主要コンポーネントで構成される、ハイブリッドワークロードオーケストレーションのための包括的なソリューションが含まれています。このソリューションは、以下のことを実現します。

これにより、エンタープライズ ユーザーは、より多くのワークロード、特にビッグ データやタスク処理のワークロードを Kubernetes に統合し、運用効率と安定性を向上させることができます。

オープンソースの技術標準を活用することで、企業ユーザーがクラウド環境とオンプレミス環境全体で一貫した技術アーキテクチャを実現し、運用効率を向上できるよう支援します。

企業ユーザーがクラウドリソースを合理的に活用し、クラウドで持続可能な開発を実現できるよう支援します。

II. コーディネーターの利点は何ですか?

混合展開には、完全な自己完結型のスケジュール ループが必要ですが、混合展開を実装する際に企業が直面する 2 つの大きな課題は次のとおりです。

  • アプリケーションをハイブリッド展開プラットフォームに統合する方法
  • アプリケーションをプラットフォーム上で安定的かつ効率的に実行するにはどうすればよいですか?

Koordinatorは、Alibabaでの長年の運用経験と教訓を活かし、これら2つの課題に対処するためのソリューションを特別に設計しました。単に技術を誇示したり、実力を誇示したりするだけでなく、企業がハイブリッド展開を真に活用し、Kubernetesを最大限に活用できるよう支援することを目指しています。

Koordinator 1.0の全体的なアーキテクチャを下図に示します。Koordinator 1.0は、混合ワークロードのオーケストレーション、混合リソースのスケジューリング、混合リソースの分離、パフォーマンスチューニングのための包括的なソリューションを提供します。これにより、レイテンシの影響を受けやすいサービスの実行パフォーマンスを向上させ、アイドル状態のノードリソースを探索して、本当に必要なコンピューティングタスクに割り当てることで、全体的なリソース利用効率を向上させることができます。

1. 大規模生産の実践経験を通じて開発

2021年のダブル11ショッピングフェスティバルに続いて、アリババは「初めて!統一されたスケジュールシステムが大規模に展開され、アリババのダブル11ビジネス全体を全面的にサポートします」と発表しました。

アリババのコアプロジェクトとして、アリババクラウド(コンテナチームとビッグデータチーム)は、アリババのリソース効率チームおよびAntコンテナオーケストレーションチームと協力し、1年以上にわたる研究開発と技術革新を経て、「混合デプロイメントテクノロジー」から今日の「統合スケジューリングテクノロジー」への全面的なアップグレードを実現しました。

現在、統合スケジューリングは、アリババのEコマース、検索プロモーション、MaxComputeビッグデータなどのスケジューリングを包括的に統合しています。また、ポッドスケジューリングと高性能タスクスケジューリングの統合、リソースビューの統合とスケジューリング連携、様々な複雑なビジネスモデルにおける混合デプロイメントと利用率向上を実現し、世界中の数十のデータセンター、数百万のコンテナ、数千万のコアを対象とした大規模なリソーススケジューリングを全面的にサポートしています。

クラウドネイティブ・ハイブリッドデプロイメントの実践者として、アリババは本番環境におけるハイブリッドデプロイメント技術のコンセプトを積極的に推進しています。昨年のダブル11ショッピングフェスティバルでは、1,000万コアを超える規模のハイブリッドデプロイメントを実現しました。ハイブリッドデプロイメント技術により、アリババはダブル11期間中のプロモーションリソースコストを50%以上削減し、プロモーションのファストオンとファストオフのリンクを100%高速化し、プロモーション期間中のスムーズなユーザーエクスペリエンスの実現に貢献しました。

振り返ってみると、アリババが混合展開技術の推進に力を入れたのは、主に以下の問題を考慮したためです。

  • 利用率の不均一性:非混合配置時代においては、主要なリソースプール間でリソース利用率に不均一性がありました。ビッグデータリソースプールの利用率は非常に高く、長期的にコンピューティングパワーが不足していました。一方、eコマースリソースプールは日々の利用率が比較的低く、大量のアイドル状態のコンピューティングリソースを抱えていました。しかし、災害対策の設計上、マシンを直接削除してオンライン密度を高めることはできませんでした。混合配置の当初の目的は、グローバルリソースのスケジューリングをより合理的にすることでした。日常的には、混合配置を用いてビッグデータタスクをeコマースリソースプールにスケジューリングし、これらのアイドル状態のリソースを最大限に活用していました。
  • 大規模セールイベントの準備における効率の低さ:大規模セールイベントにおけるリソース調達を削減するため、ビッグデータリソースプールを活用し、ピーク時のトラフィックに対応するeコマースタスクを展開することが求められています。しかし、非混在展開の時代では、このような柔軟なリソース活用はマシンの再配置によってしか実現できず、効率性が低く、大規模な導入は困難です。

ダブル11のようなピークシナリオを背景に、アリババのハイブリッドデプロイメントスケジューリング技術は継続的に進化し、豊富な実稼働経験を積み重ねてきました。現在、第3世代となるクラウドネイティブ・フルサービス・ハイブリッドデプロイメントシステムへと進化しています。クラウドネイティブの原則に基づくこのハイブリッドデプロイメント技術ソリューションは、アリババ発祥で、オープンソースコミュニティを通じて業界全体に浸透し、企業のクラウドネイティブコンテナスケジューリングの推進を支援することを目指しています。

2. 混合展開テクノロジに重点を置き、幅広いシナリオをサポートします。

ハイブリッド展開は、レイテンシの影響を受けやすいサービスとビッグ データ コンピューティング ワークロードのハイブリッド展開のためのリソース スケジューリング ソリューションであり、その中核となるテクノロジは次のとおりです。

  • パフォーマンスとロングテールのレイテンシ要件を満たすきめ細かなリソース オーケストレーションは、洗練されたリソース スケジューリングとオーケストレーション戦略、および QoS を考慮した戦略に左右されます。
  • インテリジェントなリソースのオーバーセリングにより、レイテンシの影響を受けやすいサービスの応答時間に影響を与えずにコンピューティング効率を確保しながら、コンピューティング タスクのコンピューティング リソースの需要を低コストで満たすことができます。

上の画像は、Koordinatorの混合デプロイメントにおけるリソースの過剰販売モデルを示しています。これは、混合デプロイメントにおいて最も重要かつ中核的な側面です。過剰販売の基本的な考え方は、割り当てられているものの未使用のリソースを、優先度の低いタスクの実行に活用することです。画像内の4本の線は、以下の要素を表しています。

  • 制限: グレー表示で、Kubernetes の Pod リクエストに対応する、優先度の高い Pod によって要求されるリソースの量を表します。
  • 使用状況: 赤は、Pod が実際に使用しているリソースを表します。横軸はタイムラインで、赤い線は時間の経過に伴う Pod 負荷の変動を示す曲線です。
  • 短期予約(濃い青):これは、過去の(比較的短期間の)リソース使用量に基づいた将来のリソース使用量の予測を表します。予約と制限の間の領域は、割り当てられているものの未使用(近い将来に使用される予定がない)のリソースを表し、短期間のバッチ処理タスクの実行に使用できます。
  • 長期予約:水色。短期予約に似ていますが、推定使用履歴が長くなります。予約と上限の間のリソースは、ライフサイクルの長いタスクに使用できます。短期予約よりも利用可能なリソースは少ないですが、より安定しています。

このリソースモデルは、Alibabaの全事業における混合デプロイメントをサポートし、高い効率性と柔軟性を両立させます。Koordinatorの混合デプロイメント・リソーススケジューリング・システム全体はこのモデルを基盤として構築されており、優先度プリエンプション、負荷認識、干渉検出、QoS保証と相まって、混合デプロイメント・リソーススケジューリングの中核となるシステムを形成しています。Koordinatorコミュニティは、この分野への投資を継続し、混合デプロイメント・シナリオ向けのスケジューリング機能を拡張し、Alibabaの様々なシナリオサポートにおける豊富な経験を共有し、企業が直面する現実のビジネス課題を解決していきます。

3. ゼロパイルエントリー、超低アクセスコスト

混合デプロイメントを導入する企業にとって最大の課題は、アプリケーションをプラットフォーム上で実行することです。この最初のハードルが、しばしば最大の障害となります。Koordinatorは、社内の運用経験を活かし、この問題に対処するために「ゼロイントルージョン」混合デプロイメントスケジューリングシステムを設計しました。

最初の「ゼロ・ポーイン」とは、Kubernetesプラットフォームへのゼロ・ポーインを指します。多くの業界専門家は、複雑なエンタープライズシナリオにKubernetesを導入するには、Kubernetes、特にノード管理(Kubelet)コンポーネントへの変更が常に必要になることを知っています。これらの変更は技術的に困難であり、その後のKubernetesバージョンアップに大きな支障をきたします。これに対処するため、企業は多くの場合、これらのカスタマイズされた変更を維持するための専任チームを必要とし、多大な隠れたコストが発生します。オンラインで問題が発生したり、新しいバージョンアップが必要になったりする頃には、変更に精通したチームがいなくなっている可能性があります。これは重大な技術的リスクをもたらし、ハイブリッドデプロイメント技術の導入を阻む要因となることがよくあります。しかし、Koordinatorハイブリッドデプロイメントシステムは、ネイティブKubernetesへの変更が一切不要となるよう最初から設計されています。Koordinatorコンポーネントをクラスターにワンクリックでインストールするだけで、設定は一切不要で、ハイブリッドデプロイメント機能を提供します。さらに、ハイブリッドデプロイメントが有効化されていない場合でも、既存のKubernetesクラスターには一切影響しません。

2つ目のゼロポアとは、ワークロードオーケストレーションシステムへのゼロポアを指します。企業のKubernetesクラスター上にハイブリッドデプロイメント機能を提供すると想像してみてください。その場合の課題は、企業のワークロードを統合し、ハイブリッド方式で実行する方法にあります。一般的に、以下の2つのシナリオが考えられます。

  • ワークロードは、民間企業の運用保守という特性を持っています。これらのワークロードの日常的なアップグレード、リリース、スケールアップ/ダウンは、プラットフォームチームまたは運用保守チームによって管理されています。しかし、ハイブリッド展開を推進する企業のコンテナチームやSREチームと、プラットフォーム運用保守チームの間には、組織的なギャップ(大小を問わず)が存在します。プラットフォームチームを駆り立ててワークロード管理メカニズムを変革し、ハイブリッド展開プロトコルへの接続を促すことも、重要な課題となっています。
  • ワークロードはネイティブのデプロイメント/ステートフルセット/ジョブ方式で管理されています。Kubernetes内でのこれらの設計、実装、または変更にかかるコストはチームの予想を上回り、混合デプロイメントの推進においても課題となるでしょう。

アプリケーションアクセス層の変更コストに対処するため、Koordinatorは独立したワークロードコロケーションプロファイルを設計しました。このプロファイルは、ワークロードのコロケーションにおける課題の解決に役立ちます。ユーザーはコロケーション設定(YAML)を管理するだけで、クラスター内でコロケーション方式で実行されるタスクを柔軟にスケジュールおよびオーケストレーションできるため、非常にシンプルかつ柔軟です。現在、KoordinatorはSparkタスクのコロケーション例をユーザーに提供しています。今後、コミュニティはワークロードコロケーションプロファイルの機能を拡充し、より多くのシナリオでゼロポアアクセスをサポートしていく予定です。

4. クラウド環境とオンプレミス環境間で一貫したユーザーエクスペリエンス

Koordinatorオープンソースプロジェクトは、Alibaba Cloud Native 2.0の重要な取り組みです。ユーザーは、Koordinatorのハイブリッド展開による技術的メリットを自社環境で体験できるだけでなく、任意のクラウドベンダーに展開して、一貫性のあるハイブリッドおよびマルチクラウドアーキテクチャを維持することもできます。さらに、Koordinatorは、Alibabaが提供する複数のクラウド製品間で一貫したユーザーエクスペリエンスを提供することで、単一の設計を様々なプラットフォームに統合し、価値を提供することを可能にします。

ご覧のとおり、Koordinatorは大規模な社内ビジネス展開をサポートするだけでなく、Alibaba Cloud Container Serviceとの統合ソリューションでもあります。コミュニティは今後も活発な活動を維持し、混合展開を民主化、普遍化、標準化された技術的機能にすることに尽力しています。

III. なぜオープンソースなのか?

コンテナ化されたハイブリッド展開の最も古い例はBorgで、Google社内で15年以上稼働しています。最新の公開情報はBorg: the next generation[1]です。国内のインターネット企業は10年近くハイブリッド展開を推進してきました。その中で、アリババのハイブリッド展開技術も3世代にわたる技術アーキテクチャのアップグレードと変更を経て、ついにグローバルハイブリッド展開の究極の形に到達しました。ハイブリッド展開は、アリババの電子商取引、検索、ビッグデータ事業における主要プロモーションの準備効率を大幅に向上させ、毎年恒例のダブル11プロモーションでも多くのコンピューティングリソースを節約しました。

クラウドネイティブのハイブリッド展開は、エンタープライズコンテナスケジューリング技術の発展において避けられない方向性であると確信しています。ワークロードのハイブリッドオーケストレーションによってのみ、マルチアベイラビリティゾーンの災害復旧アーキテクチャにおけるリソース利用効率が向上し、異なる種類のワークロードのピークシェービング効果と谷間フィリング効果を最大限に活用できるため、コンピューティングリソースの潜在能力を最大限に引き出し、クラウドコンピューティングの価値を最大化することができます。

Koordinatorのオープンソースリリースは、より多くの企業がクラウドネイティブなハイブリッドデプロイメント機能を活用できるようにし、クラウドネイティブ変革を加速させることを目的としています。技術的には、Koordinatorは企業がより多くのワークロードをKubernetesプラットフォームに接続できるようにし、コンテナでスケジュールできるワークロードの種類を拡充します。これにより、企業はワークロードのオフピーク時やタイムシェアリングといった特性を活用し、効率性とコストメリットを実現し、健全で長期的な持続可能な開発モデルを維持できます。

現在、KoordinatorはSparkタスクの混合デプロイメントをサポートし、混合デプロイメントを統合するための低コストのソリューションを提供しています。皆様の混合デプロイメントのアプリケーション事例をご覧いただき、フィードバックをいただければ幸いです。今後、Koordinatorコミュニティは、Flink、Hadoop、AIジョブ、オーディオおよびビデオタスクなどをサポートし、混合デプロイメントのシナリオとビジネスモデルを拡充していきます。どうぞご期待ください。

参考リンク [1]: https://research.google/pubs/pub49065/