Nephio でグローバル規模のクラウドネイティブ ネットワークの自動化を実現
Google Cloud Japan Team
※この投稿は米国時間 2022 年 6 月 1 日に、Google Cloud blog に投稿されたものの抄訳です。
Google は 2007 年、増加の一途をたどる YouTube のトラフィック需要に対応するために、現在の Google Global Cache プログラムの構築を始めました。過去 15 年間、Google は世界中に何千ものエッジ キャッシング ロケーションを追加してきました。これらのロケーションはお客様のデータセンター内の場合もあれば、接続が制限された遠隔地の場合もあり、ホスティング条件は大きく異なります。Google は、これらすべてのシステムのソフトウェアとハードウェアのライフサイクルをリモートで管理しています。
この間、フリートの大きさやサービス対象のコーパスは桁違いに成長しましたが、それを監督するオペレーション チームは比較的小規模でアジャイルな状態を維持しています。Google はこれをどのように実現したのでしょうか?
Google は、まず、ソフトウェア デプロイのための自動化ツールのセット(リモートでコマンドを実行)、監査、修復のためのツールのセット(条件が発生したらコマンドを実行)、構成管理のための第 3 のツールのセットからスタートしました。フリートが拡大し、より多様化した環境でデプロイされるのに合わせ、自動化ツールでより多くのエッジケースを検出して修復しました。やがて、このシステムはスケーリングの限界に達し始めたため、Google はそこに、より均一でスケーラブルな新しいシステムを構築しました。その過程で、Google は次のようないくつかの重要な教訓を得ました。
インテント主導かつ継続的に調整するシステムの方が、命令型のファイア アンド フォーゲット方式ツールよりも規模に応じた堅牢性がある。
インテントの分散型作動が大規模なエッジへのデプロイに不可欠である。すべてのアクションを一元的な場所からトリガーすることは信頼性に欠け、特にエッジへのデプロイではスケーリングできません。
システムの均一性により維持が容易になる。共通コンポーネントと共通ワークフロー(つまり、事前送信された検証、レビュー、バージョン管理、ロールバック機能でリポジトリにチェックインされたファイル)を使用してデプロイ、修復、構成を管理できるため、オペレーション チームの認識負荷が軽減され、人的エラーの少ない迅速な対応が可能となります。
このパターンは、Google の多くの大規模分散システムで何度も繰り返されており、Google ではネットワーク機能ベンダーや通信サービス プロバイダがクラウドベースのネットワーク技術の導入を検討する際には、こうした原則が重要であると考えています。たとえば、何百ものロケーション(RAN の場合は数十万)を含む 5G のデプロイでコンテナ化されたソフトウェア コンポーネントを使用する場合、業界には大規模なデプロイとオペレーションを処理できる優れたツールが必要になります。コミュニティと提携してこれらの問題に対処することで、Kubernetes ベースのクラウドネイティブ ネットワーク自動化アーキテクチャの共通化を推進すると同時に、ベンダーがイノベーションを起こし、それぞれの要件に適応するための拡張ポイントも提供できると Google は考えます。
これが、2022 年 4 月に Google Cloud が Nephio プロジェクトを設立した理由です。Nephio コミュニティは、24 の創設メンバーでスタートし、現在では立ち上げ時の 2 倍の規模に成長しました。新たに Vodafone、Verizon、Telefonica、Deutsche Telekom、KT、HPE、Red Hat、Windriver、Tech Mahindra などの組織がメンバーとして参加しています。2022 年 5 月 17 日に開催された Linux Foundation 主催のコミュニティ キックオフ ミーティングには、全世界から 150 以上のデベロッパーが参加しました。
Google Cloud と通信サービス プロバイダ、ネットワーク機能ベンダー、クラウド プロバイダは、Nephio で以下のように連携しています。
コミュニティと連携してクラウド ネイティブの自動化アーキテクチャを改良し、Kubernetes Resource Model(KRM)と Configuration as Data(CaD)のアプローチに基づく共通のデータモデルを定義しています。この新しいモデルは、クラウド インフラストラクチャ、ネットワーク機能のデプロイ、ユーザー ジャーニーの管理をサポートする必要があります。
このアーキテクチャのオープンかつ完全な機能のリファレンス実装の開発に貢献しています。
kpt、Porch、ConfigSync など、いくつかの主要なビルディング ブロックをオープンソース化しています。また、Nephio プロジェクトを速やかに進めるために、コントローラ、Google Cloud インフラストラクチャ CRD、NF CRD の追加サンプル、演算子のオープンソース化も計画しています。
Google Cloud は Nephio を Google Distributed Cloud Edge プラットフォームとも統合し、フルマネージド ハードウェア プラットフォームの利点と Nephio によるネットワーク機能のデプロイと管理を組み合わせてユーザーに提供します。
Nephio のコミュニティは、多くの既存のオープンソース コミュニティや基準を補完しています。Nephio は、CNCF、LF Networking、LF Edge といった隣接するコミュニティと密接に連携し、通信ネットワークのためのエンドツーエンドの自動化フレームワークを提供します。
Google は、このようにオープンな形でコミュニティと連携することで、共にネットワーク自動化の最先端を歩み、クラウド ネイティブなインフラストラクチャ上でのネットワーク機能のデプロイと管理を改善できると考えています。
業界のこの取り組みへの参加をお待ちしております。詳細は、Nephio のウェブサイト www.nephio.org をご覧ください。また、6 月 22 日、23 日に開催される Nephio developer summit(オンラインまたは対面)への参加をご希望の方は、こちらからご登録ください。
- Google Cloud、シニア スタッフ ソフトウェア エンジニア、通信担当 Randolph Chung