マイクロソフトが「Software for Open Networking in the Cloud (SONiC)」を発表

執筆者: Kamala Subramaniam (Principal Architect, Azure Networking)

このポストは、3 月 9 日に投稿された Microsoft showcases “Software for Open Networking in the Cloud (SONiC)” の翻訳です。

 

サンノゼで開催された Open Compute Project (OCP) Summit において、マイクロソフトは、スイッチなどのネットワーク デバイスの管理を可能にする完全オープン ソースの「Software for Open Networking in the Cloud (SONiC)」を発表しました。これは、ネットワーク製品の主要ベンダーである Arista、Broadcom、Dell、Mellanox との協力により開発されました。

SONiC はハードウェアではなくソフトウェア ネットワーキング コンポーネントの集合体であり、これによりスイッチなどのネットワーク デバイスに豊富な機能を搭載することが可能になります。マイクロソフトは昨年の OCP Summit にて Switch Abstraction Interface (SAI) の仕様を発表し、これが 7 月に公式に OCP で採用されましたが、SONiC はこの仕様に基づいているため、さまざまなスイッチング プラットフォームで実行することができます。SONiC は軽量なスタックのモジュール式アーキテクチャを基盤とし、データセンターにおけるネットワーキングの多様なニーズに対応します。クラウド事業者は SONiC を利用することで、ハードウェアの進化を活用しながら、ネットワーク スイッチ アプリをオープン ソース コードで構築するためのフレームワークを利用したり、複数のプラットフォームを統合したりすることができます。SONiC はプロトタイプのソフトウェアではありません。既に導入実績があり、今後はより大規模な環境で実行することが計画されています。

最も重要な点は、SONiC のコンポーネントはすべてオープン ソースとなっており、コミュニティがオープン ネットワークでイノベーションを主導しているということです。

 

SONiC の意義

マイクロソフトが世界規模で展開する Azure クラウド インフラストラクチャの管理には、Software Defined Networking (SDN) の原則が長年採用されてきました。仮想化、スケールアウト、集中型コントローラーなどに関するこの SDN の原則に基づいて、Azure ではサーバーやネットワーク インターフェイス カード (NIC) から、エッジ ルーターやワイド エリア ネットワーク (WAN) に至るまで、コンピューティング、ストレージ、ネットワークの拡張性、信頼性、スピードの点についてかなり細かいレベルまで旧来の設計が刷新されてきました。Software for Open Networking in the Cloud は、こうした中核を成す方針を基に考案されました。

どのクラウド事業者も、高速で可用性の高いネットワークを利用してサービスを運用しています。このため、SDN は非常に重要なものとなっています。またネットワーク事業者は、必要とするネットワーク機能を速やかに導入すると同時に、リスクや複雑さを増大させるような機能変更にうまく対処できなければなりません。

マイクロソフトでは、現在市場には多くの優秀なスイッチ ハードウェア プラットフォームが供給され、多数のベンダー間で健全な競争が行われ、イノベーション、高速化、コスト削減が進んでいると見ています。しかし一方で、異なる種類のスイッチ上で実行されているさまざまなソフトウェアを 1 つのクラウド規模のネットワーク管理プラットフォームに統合することは容易ではありません。それでも、スイッチ ハードウェアの進化の波に乗りながら、性能を損なわないよう機能を実装したりバグを修正したりしてメリットを存分に活用できるのが理想的であると考えます。

SONiC は、スイッチ用 ASIC のプログラミングに使用される標準的な C 言語 API である SAI を使用しており、複数のスイッチ ベンダーから供給されているハードウェアを同一のソフトウェア スタックで共有できるようにします。モジュラー式アーキテクチャで構築され、スタックも軽量であるため、ソフトウェアのデバッグ、不具合の修正、テストなどにかかる時間が大幅に短縮されます。また、データセンターやネットワーキングのニーズに応じて、ソフトウェアをスケールダウンしたり機能を開発したりできる柔軟性も備えています。さらに、オープン ソースであるか、サードパーティ製であるか、自社製であるかを問わず、他のソフトウェア コンポーネントへの拡張が容易なため、イノベーションが促進されます。

SONiC をオープン ソース化することで、幅広いネットワーキング コミュニティからの協力や利用が増え、SONiC の品質は今後も向上し続けることが期待されます。マイクロソフトは、協力企業の皆様と初期段階から連携することで、リソースの改善、カスタマイズ、拡張、進化に時間をかけて専念できる持続的なコミュニティを形成することを目指していました。この精神に則って、このたびの OCP への貢献についても、早い段階から表明することとなりました。

OCP コミュニティにとっての SONiC の役割

マイクロソフトは、完全なオープン ソースのスタックをゼロから総合的に育てる環境として OCP は最適であると考えます。OCP 傘下で SONiC をオープン ソース化することは、OCP でこのスタックを成長させるうえでは当然必要なステップです。SONiC には、機能性、安全性、信頼性を完全に備えたオープン ソースのクラウド スイッチに必要な構成要素がすべて組み込まれています。このため、ユーザーはネットワーキングのニーズに最適なハードウェアとソフトウェアを自由に選択することができます。

今回、標準化された SAI インターフェイスが SONiC に統合されたことで、新しいハードウェアをいち早く活用できるようになり、ASIC のイノベーションの流れに乗りつつ、それと同時に複数のプラットフォームでの運用が可能になりました。また、早い段階から各社の協力を得られたことで、特定のスイッチ向けのオープン ソースのプラットフォーム用ドライバーにも対応し、フル機能を備えたレイヤー 2 スイッチおよびレイヤー 3 スイッチとして実行できるようになっています。

今後は新しい局面へと向かい、Linux ディストリビューションのカーネル モジュールで SONiC や SAI がサポートされることが期待されます。また、さらに多くのベンダーが各社のプラットフォーム用ドライバーをオープン ソース化したり、既存の OCP 認定済みスイッチが Open Network Linux (ONL) により SAI と統合されたりということも考えられます。このほかにも、オープン ソース化されるソフトウェア コンポーネントも増えていくと思われます。

SONiC にとっての SAI の重要性

マイクロソフトは、SAI はオープン ネットワーキングに向けた重要なステップであり、SONiC にとって重要な足掛かりになると考えています。SAI は当初からコミュニティ内で成長し、多数の協力者やユーザーを招き入れ、さまざまな機能を組み込んできました。現在、Barefoot Networks、Broadcom、Cavium、Centec、Dell、Mellanox、Metaswitch の各社の協力を得ています。

SAI は昨年 7 月に OCP に採用され、現行バージョンの v0.9.4 では統合トンネリング (共通の API によってトンネルとレイヤー 3 の送受信インターフェイス、ウォーム ブートに対応する手法) などの主要機能を備えており、データ プレーンに影響を与えることなくサービスの再起動や SAI のアップグレードが可能です。これは、レイヤー 3 の完全なルーティング機能を保証する既存の機能と、サービス品質 (QoS) 関連などの複雑な機能にさらに追加されたものです。また、このバージョンでは OCP での SAI の適合性を高めるために、Python Test Framework (PTF) が追加されています。

マイクロソフトは、皆様にぜひユーザーや協力者として SONiC と SAI の開発に参加していただきたいと考えています。SAI と SONiC はどちらも、ベンダーがサポートする各プラットフォーム向けのバイナリとソース コードが公開されています。ユーザーとしてご協力いただく場合は、SAI と SONiC 両方のサポート対象プラットフォームおよびバージョンのバイナリを入手するかビルドして、お客様が使用するデータセンターのスイッチのプロトタイプを作成してください。協力者となっていただける場合は、GitHub リポジトリから SAI と SONiC のどちらの開発にも参加していただけます。

SONiC と SAI に関するさらに詳細な情報をご希望の方は、メーリング リストにご登録ください。また、ユーザー向けの利用に関する情報やプロジェクトの協力者向けの情報は、GitHub (英語) をご確認ください。

マイクロソフトはこれまでも協力してくださる皆様と共同で開発を進めてきましたが、今後はさらに協力者が増える予定です。SONiC および SAI をサポートする各企業の声をご紹介します。

Arista

「Arista とマイクロソフトはこの 5 年間、Azure 向けのクラウド規模のプログラム制御ネットワークの構築において緊密に協力してきました。Arista EOS (拡張オペレーティング システム) ドライバーを通じて SONiC やマイクロソフトの統合型 SDN スタックに貢献できることを光栄に思っています」
– Arista、EOS プラットフォーム エンジニアリング担当バイス プレジデント、Hugh Holbrook 氏

Big Switch Networks

「当社のチームはマイクロソフトと協力して、Software for Open Networking in the Cloud (SONiC) ソフトウェアを Open Network Linux (英語) オペレーティング システムと抽象化レイヤーに移植し、一般的なネットワーク機能を OCP エコシステムのネットワーク ハードウェア全体で実際に使用できるように取り組みを進める予定です」
– Big Switch Networks、CTO、Rob Sherwood 氏

Broadcom

「Switch Abstraction Interface と SONiC のプロジェクトに参加できること、そして SAI の実装に貢献できることを光栄に思います。当社は Open Network Switch Layer (OpenNSL) の提供という形で SAI および SONiC のプロジェクトに参加しており、データセンターや通信事業者のネットワーク イノベーションを活用して当社のチップセットに直接アクセスする新たな方法を提案しています」
– Broadcom Limited、ソフトウェア ソリューション担当ディレクター、Eli Karpilovski 氏

Cavium

「明確に定義された API がハードウェアの垣根を越える架け橋となるため、機能の移植が容易です。Microsoft Azure のネットワーク サービスを使用した合同デモで紹介しましたが、XPliant が SAI API をサポートすることにより、プラットフォーム ソフトウェアを統合する手間が大幅に軽減されます」
– Cavium、スイッチ プラットフォーム グループ担当バイス プレジデント兼ゼネラル マネージャー、Eric Hayes 氏

Centec Networks

「SAI は真にオープンなネットワーキング システムを実現する鍵となります。多くの大手ネットワーク OS ベンダーやハードウェア スイッチ メーカーに SAI が急速に採用されており、たいへん嬉しく思っています。今後もマイクロソフトやその他のコミュニティ メンバーと協力して SAI の開発を進め、SAI によって実現されるオープンなネットワーキング システムを運用環境に展開できることを楽しみにしています」
– Centec Networks、ビジネス開発担当バイス プレジデント、Tao Gu 氏

Dell

「SAI の開発に初期段階から長期にわたって協力してきた立場として、SONiC については、特に当社が最近リリースした OS10 ソフトウェア環境にかかわりが深いことからも、強い興味を持っています。オープン ソースは OS10 にとっても、クラウド事業者の将来に向けたビジョンにとっても中核となるものであり、またテクノロジを最大限に活用するための重要なポイントとなります。SONiC によってこうしたビジョンを実現していくために今後も協力してまいります」
– Dell、ネットワーキングおよびエンタープライズ インフラストラクチャ担当バイス プレジデント兼ゼネラル マネージャー、Tom Burns 氏

Facebook

「私たちはネットワーク業界を構成要素ごとに分けるというマイクロソフトの取り組みに注目しています。マイクロソフトの Switch Abstraction Interface (SAI) を推進する OCP での取り組みは、SONiC が加わることでさらに前進するでしょう。当社が SONiC の開発に協力することで、ネットワーク事業者や開発者にとって OCP スイッチのオープンソースの選択肢が広がることにつながれば幸いです」
– Facebook、ネットワーク チーム所属エンジニアリング ディレクター、Omar Baldonado 氏

Mellanox

「Mellanox は OCP を通じてマイクロソフトと協力し、SAI (Switch Abstraction Interface) の開発を進めています。これにより、25、50、100 Gb/秒の速度を誇る当社の最新世代イーサネット スイッチである Spectrum を利用した複数のネットワーク運用システムのサポートが可能になり、その開発ペースが向上しています。SONiC などの製品を当社の最先端イーサネット スイッチで利用できることで、世界品質のスイッチ プラットフォームの市場投入までの期間が短縮されるようになり、比較的小規模な企業でもクラウドの成長速度に合わせてイノベーションを進めることが可能になります」
– Mellanox Technologies、マーケティング担当バイス プレジデント、Kevin Deierling 氏