2022年4月6日、Alibaba CloudのネイティブハイブリッドシステムKoordinatorがオープンソース化されることが正式に発表されました。 Koordinatorは、アリババ社内での長年にわたる大規模アプリケーションの実践の成果であり、2021年の「ダブル11」ショッピングフェスティバル中にコンピューティングコストを50%削減するのに重要な役割を果たしたと報じられています。アリババによるこの大規模実践プロジェクトとは一体何なのでしょうか?開発の背景、技術原則、オープンソース計画は何ですか? Alibaba は、コロケーション テクノロジーをどのように活用して、「ダブル 11」などの極端なシナリオにおけるリソースの課題を解決するのでしょうか? 先日、[T·TALK]シリーズの第5回では、アリババの技術専門家であるYichuan、Zeng Fansong、Yang Guodongの3人が、コロケーションの技術的背景と実装経験、そしてKoodinatorプロジェクトから始まるコロケーション技術の将来の進化についての考えと展望を共有しました。 【T·TALK】では、皆さんに様々な考えやインスピレーションをお届けしたいと思い、今回の生放送の核となる内容を整理しました。 コロケーション技術の概念コロケーションの概念は、2 つの側面から理解できます。ノード粒度の観点から見ると、コロケーションとは、同じノードに複数のコンテナまたは複数のアプリケーションをデプロイすることを意味します。複数のコンテナには、複数のオンライン コンテナ、複数のオフライン コンテナ、および複数のオンラインおよびオフライン コンテナの 3 つの形式があり、従来の意味でのオフライン コンテナに限定されません。単一ノードは、物理マシン、単一の ECS などを含むコンテナを実行できる最小単位です。 一方、クラスタ粒度の定義から始まり、複数のアプリケーションをクラスタ内に自動的にデプロイし、アプリケーション特性の予測分析を通じて業務間のピークシフトと谷埋めを実現します。これがコロケーションです。一般的に、コロケーションは、すべてのタスクを実行するために使用するリソースを少なくし、それによってコストを削減し、効率を高めるという最終目標を達成することを目的としています。 上記のコロケーションの定義に基づいて、コロケーションの 2 つのコア テクノロジーを特定できます。 1. ノードの粒度
2. クラスターの粒度: ノードの粒度に基づいて実装
アリババは、業界におけるコロケーション技術の先駆者の 1 つとして、2011 年にコンテナ技術の調査を開始し、2016 年にコロケーション技術の研究開発を開始しました。複数回の技術アーキテクチャのアップグレードを経て、最終的に今日のクラウドネイティブ コロケーション システム アーキテクチャへと進化しました。 K8S ベースのクラウドネイティブ統合スケジューリングを直接採用し、マルチタスクとマルチロードの共同認識を実現し、全体的なコロケーション効果を実現します。これは、現在実証されている最も理想的なアーキテクチャであり、最良のエンジニアリング実装でもあります。 現在、業界の多くの企業がコロケーションに注目しており、コロケーションによってもたらされるメリットをいち早く得ることを期待しています。この点に関して、最初の解決策は、コロケーション機能と弾力性機能がデフォルトでサポートされるパブリック クラウドまたは商用製品を直接採用することです。 2 番目の解決策は、オープン ソースの共同構築です。この方法は、チームの自己構築の効果を保証するだけでなく、テクノロジー スタックのさまざまなレベルでオープン ソース コミュニティによって蓄積された経験を活用することもできます。これは、現時点では最も推奨される解決策でもあります。 Alibaba CloudネイティブハイブリッドシステムコーディネーターKoordinator は Alibaba 内で開発されたコロケーション システムであり、2022 年 4 月 6 日に正式にオープンソース化されました ( https://koordinator.sh )。 Koordinator の技術的基礎とシステム全体の設計思想は、Alibaba の長年の実践経験から生まれたものです。 Alibaba は、オープンソースを通じてコロケーション技術全体の標準化を推進し、より多くのユーザーがコロケーションを適用してその恩恵を受けられるようにしたいと考えています。 現在、コーディネーター プロジェクトに含まれるコンテンツは 3 つの部分に分かれています。
全体的なアーキテクチャの観点から見ると、Koordinatorプロジェクトのテクノロジも3つの主要なモジュールに分かれています。最下層はKoordletモジュールで、機能認識、単一マシンレベルの干渉監視、一部のQoS管理、単一マシンリソース分離など、対応する単一マシンの一部の技術機能を担当します。 もちろん、Koordinator コンポーネントは、基盤となるインフラストラクチャ コンポーネントへの侵入的な変更を回避しながら、さまざまなランタイムに適応できるように、単一のマシン上でいくつかのランタイム マネージャー ロールも拡張します。 中央端には主に 2 つの役割があります。最初の部分は、スケジューリング機能とスレーブ スケジューリング機能を含む Koordinator Scheduler です。一般的に、スケジューリングの確率はセカンダリ スケジューリングの確率よりもはるかに高くなりますが、セカンダリ スケジューリングもコロケーション プロジェクトでは非常に重要なリンクであり、クラスター リソース全体の動作品質が引き続き高いレベルを維持することを保証できます。 2 番目の部分は Koordinator Manager で、主にワークロードへのアクセス方法を含むコロケーション戦略の管理に使用されます。さらに、リソース プロファイリング モジュールが Koordinator Manager に統合され、スケジューラのサポートが向上し、リソースがより適切に分散されるため、サービスに損害を与える可能性のあるローカル マシン上のホット スポットを回避できます。 上記は Koordinator の全体的なアーキテクチャです。上記モジュールの中心的な目標は、コロケーションの 2 つの中心的な問題を誰もが解決できるようにすることです。最初の問題は、さまざまなタスクを最小限のコストで Koordinator コロケーション フレームワークに接続できるように、コロケーション ワークロードを接続する方法です。 2 番目の問題は、コロケーション中にさまざまなタスクを適切に実行して、コンピューティング タスクが必要なコンピューティング パワーを獲得し、オンライン タスクの実行遅延が影響を受けないようにすることです。 比較的成熟したコロケーション システムとして、Koordinator は「二重ゼロ侵入」の特性を備えています。まず、Koordinator はアプリケーションのワークロードの管理に一切干渉しません。 Koordinator は、ユーザーが一般的なコンピューティング負荷に対してコロケーション リンクを開設できるようにするために多大な労力を費やします。ユーザーは簡単な設定を行うだけで、Koordinator がいくつかの設定 YAML を適用してコンピューティング タスクをコロケーション タスクに自動的に変換するため、これらのコンピューティング フレームワークを変更する必要がありません。これにより、ユーザーは企業内部のシナリオでコロケーションをより迅速に実装できるようになります。 2 番目のゼロ侵入は、Koordinator が Kubernetes に侵入していないことを意味します。 Koordinator でサポートされている Kubernetes バージョンでは、ユーザーはオープンソース コンポーネントを独自の Kubernetes クラスターにインストールして、対応する機能を取得できます。 Kubernetes は中央側では優れたスケーラビリティを備えていますが、ノード側ではスケーラビリティが低くなります。したがって、ポリシー拡張をサポートするために、Koordinator プロジェクトの Kubelet と基盤となるコンテナ実行プールの間にフック マネージャーがあり、それによって Kubelet と基盤となる Containerd または Docker への侵入的な変更を回避します。 コロケーション プロセス全体で最も重要なのはリソース モデルです。コロケーションの本質は、差別化された機能を作成し、リソースを過剰に発行してリソースの使用率を向上させることです。この一連のプロセスは逆の順序で導き出されます。 Koordinator によって定義されたリソース モデルは非常に完全であり、オンライン サービス、リアルタイム コンピューティング、AI トレーニング タスク、バッチ コンピューティング タスクをサポートでき、一部のテスト タスクもこのリソース モデルを通じて対応できます。 さらに、Koordinator は、CPU シーケンス、一部の LLC 分離機能、オペレーティング システムによって提供される優先度プリエンプション機能など、さまざまなリソース次元でリソース分離テクノロジも提供します。これらの分離機能は、将来的に Koordinator コミュニティで紹介され、さまざまなリソース特性に対して実装されたこれらの分離機能と干渉検出機能が徐々に誰もが目にすることになります。 Koordinator は Kubernetes コミュニティに基づいていますが、Koordinator は Kubernetes コミュニティに変更を加えることはありません。ユーザーがハイブリッド デプロイメント テクノロジーを使用する場合、まずそれを Kubernetes に適用し、次に Koordinator の対応するコンポーネントを Kubernetes にインストールします。これはコーディネーターの上流と下流の関係です。 Koordinator コミュニティによって提供される機能と、企業内の実際の環境で必要な機能との間には、若干の違いがある場合があります。ユーザーはコミュニティに基づいて独自の内部バージョンを使用し、エンタープライズ特性を組み合わせて、いくつかの古いシナリオと互換性を持たせることができます。このようにして、コーディネーター コミュニティ全体とより効果的に連携できるようになります。コーディネーター コミュニティは非常に迅速に反復します。このモデルでは、ユーザーはコミュニティから継続的に新しい機能を入手でき、社内バージョンでは自社の非特定部分のみを保守する必要があります。 現在、アリババは基本的にコロケーションの完全カバーを実現しており、コロケーション技術が企業に大きな価値をもたらすことができることを自らの実践を通じて証明しています。アリババは、オープンソースを通じてコロケーション技術の標準化を推進し、より多くのユーザーがコロケーション技術をより簡単に適用し、その恩恵を受けられるようにしたいと考えています。将来的には、コーディネーター コミュニティもいくつかの異なる役割を定義する予定であり、誰でも参加して、オープン ソースを通じてさらなる貢献を続けることができます。 コロケーションの実践と開発の展望Alibaba グループには、典型的なコロケーション シナリオが 2 つあります。 1 つは標準化されており、コロケーションの主な用途は災害復旧における冗長性を利用することです。アリババは、災害復旧における冗長性をビッグデータコンピューティングに活用し、全体的なリソース利用率を向上させることを望んでいます。 もう1つは、「ダブル11」などの応用シナリオで、アリババのオンライントラフィックは1日のトラフィックの約10倍になります。従来のリソース準備方法によれば、大規模なプロモーションのリソース要件をサポートするには、10 倍のマシン数が必要になります。しかし、アリババはMaxCompute、バッチ処理、非リアルタイムタスクをオフラインタスクとみなし、大規模なプロモーションのためのリソース調達を削減するために、大量のダウングレードを通じてオンラインビジネスにリソースを解放しています。 アリババの技術発展を考慮すると、コロケーションの適用環境は以下の点にまとめることができます。まず、企業の作業負荷を分散する必要があります。第二に、企業のトラフィックや業務が一定規模に達すると、リソースの弾力性が求められ、コスト削減や効率化の検討がより必要になります。初期段階または小規模のシナリオでは、ECS の弾力性を利用することで、基本的にコロケーションと弾力性の利点を享受できます。 コロケーション テクノロジーは、ハードウェアからオペレーティング システムまでのスケジュール設定が含まれ、調整された最適化を必要とする体系的なプロジェクトです。アリババグループのリソース利用率向上段階の観点から見ると、リソース利用率が10%から30%に増加したとき、この段階での技術的な閾値は比較的低かった。 K8S スケジューリングや基本的なコロケーションと同様の機能により、全体的な負荷を改善できます。この段階はほとんどの企業に当てはまります。 しかし、混合部門の水位を 30% から 50% に上げることは、依然として大きな課題です。 Alibaba のコロケーション テクノロジーは長年にわたって進化しており、コンピューティング、ストレージ、ネットワークの多くのアップグレードが行われています。しかし、これまでのところ、これらはコロケーションと弾力性のあるリソース モデルに対する要件を満たすことができません。現時点では、アプリケーション アーキテクチャの改善に頼る必要があります。たとえば、Alibaba はビジネス アーキテクチャからローカル ディスクを削除し、IO 分離の問題をネットワーク分離の問題に変換しました。これらは、利用率を効果的に向上させるために、アプリケーション側でリンク全体が協力する必要があるものです。 さらに、クラスター内のコロケーション自体には非常に高いしきい値があります。シンプルなワークロードに基づいて、4 コアまたは 8 コアの 16G 標準仕様に従ってスケジュールできます。ただし、コロケーションのワークロードの複雑さが増し、リソース仕様が多様化すると、割り当て問題は NP 問題になります。特定の問題を解決するには、意思決定インテリジェンスに似た、より複雑な問題解決アルゴリズムを使用する必要があります。また、コロケーション中にアプリケーション プロファイリングを改善する必要もあります。 ご覧のとおり、コロケーションは大規模なシステム エンジニアリング プロジェクトです。今日、アリババはオープンソースを通じて、ハイブリッド展開プロセスにおける過去の落とし穴と蓄積された経験を皆と共有しました。また、今後さらに多くのパートナーが当社に加わり、より深い技術を探求し、ハイブリッド展開のメリットを享受しながらハイブリッド展開技術のエコシステムを共同で構築することを期待しています。 |
<<: コンテナを大規模に実行する場合の最適なデータ ストレージ パス
>>: 生放送週間レビュー日記5日目:「クラウド」ってどれくらい面白いの?アボリジニは言う
ウェブマスターであれば、ウェブマスターツールを使用してウェブページのスナップショットがタイムリーに更...
テクノロジーの世界では、クラウド コンピューティングが実際に何であるかについて議論が続いています。認...
クラウド コンピューティングの急速な発展に伴い、コンテナ化とマイクロサービス アーキテクチャは最新の...
クラウド コンピューティングは進化を続ける科学であり、クラウド コンピューティングのビジネス上の利点...
Baidu の行動はますます頻繁になっています。表面的には、よりオープンになり、ウェブマスターとウェ...
近年、インターネット技術の継続的な発展により、Web アプリケーション システムが大規模に登場しまし...
[[262785]] Technavio は、エッジ コンピューティング テクノロジの応用が 201...
私はいつも自分自身にこの質問をしてきました。誰かが広告を出しているのを見るといつも、私は尋ねたくなり...
インターネットの発展に伴い、オンラインショッピングを選択する人が増えています。 B2C ウェブサイト...
テンセントクラウドやアリババクラウドなどの国内企業は、新規顧客を獲得し市場を拡大するために、長年にわ...
数日前、virpus が SSD CACHE ハードディスクを搭載した新しい Xen VPS をリリ...
無制限のトラフィックに最適なサーバーはどれですか?米国の無制限トラフィックサーバーの中で、最も安いの...
彼らは大物経営者であると同時に普通の起業家でもあり、普通のオンラインストアを運営するために一日中風雨...
Cloudcone は誰もが知っているブランドです。同社はブラック フライデー プロモーションを実施...
[[439048]]近年、消費者や企業によるクラウドストレージの利用事例が爆発的に増加しており、調査...