Juniper Networksは,同社のSDN(Software Defined Networking)ソリューションとなるOpenContrailをローンチした。オープンソース用の寛容なソフトウェアライセンスであるApache v2を採用する。これによってオープンソースSDNに,VMwareが先月のVMworldでローンチしたNSX以外の新たな選択肢が現れたことになる。
OpenContrailもNSXと同じく,GRE(Generic Routing Encapsulation)あるいはVXLan技術を使用したソフトウェア実装ネットワークスイッチと,仮想マシン環境で動作するルータを使ったオーバーレイネットワークを提供する。ハードウェアベースでネットワーク機器をコントロール可能な点も同じだ。2つのプラットフォームの大きな違いは,それぞれのオーケストレーション(Orchestration)システムへの接続方法にある。OpenContrailがOpenStackクラウド管理プラットフォームを使って動作するように開発されているのに対して,NSXはVMwareのvCAC(vCloud Automation Center)に準拠したものになっているのだ。
OpenContrailは,Neutron(旧Quantum)ネットワーク・アズ・ア・サービスプロジェクトに対するプロバイダとしてOpenStackを組み込んでいる。'Northbound' APIも提供している。ローンチと同時に公開された "Network Virtualization Architecture Deep Dive" というプレゼンテーションで示されたように,アプリケーションに直接統合することも可能だ。
OpenContrailのコア技術は,昨年Juniperが買収したContrail Systemsから取得したものだ。Contrail Systemsは多数の元Juniperエンジニアによって設立されたSDNスタートアップである。このシステムが他のSDNアプローチと異なるのは,アプリケーション要件と管理対象ネットワークの能力との関係を扱うために,内部的にデータモデルを活用している点だ。
Ciscoはこれまで,CTOであるPadamasree Warrior氏がLimitation of a Software-Only Approach to Data Center Networkというブログ記事を発表するなどして,ネットワークにおけるSDNの影響力を押さえ込もうとしてきた。残念ながらこの記事は,ネットワーク業界コメンテータであるArt Fewell氏の指摘記事の通り,NSXが単なるソフトウェアではなくハードウェア管理にも使用可能である点を無視しているようだ。同社の最大のライバルであるJuniperが,OpenContrailというNSX相当のオープンソース製品を市場に持ち出したことによって,Ciscoのエコシステムとその関係者には新たな圧力が加えられたことになる。
今回のOpenContrailの発表ではONF(Open Networking Foundation) のフォワーディングプレーン制御プロトコルであるOpenFlowや,'Northbound' APIのオープンソース実装を開発するLinux FoundationのOpenDaylightイニシアティブには言及されていない。Juniperはかつて,OpenFlowとOpenDaylightをいずれもサポートすることを発表しているが,この点ではVMwareの例に倣っている。元々NiciraのものであったOpenFlowは,現在NSXの主要部分のひとつであるにも関わらず,NSXのローンチ時にはまったく触れられていなかった。同じようにVMwareも,OpenDaylightプロジェクトのメンバでありながら,オープンソースAPIが公開されるまで製品の市場投入を待つ,という選択をしていない。
OpenContrailのAPIは内部的なデータモデルから派生したものだ。RESTfulなインターフェースを通じてCRUD(生成,読込,更新,削除)操作をサポートし,Python, C++, JavaScriptといった言語のバインディングもサポートする。アプリケーションからはオーケストレーションシステムを経由せずに,直接APIを操作することができる。InfoQでは,JuniperでSDNのチーフアーキテクトを務めるCTOのKireeti Kompalla氏から,APIが複数のマスタをどのように操作しているのか,詳しく聞き出すことができた:
すべてのデータモデル操作は,認証され,検証された後,最終的にデータベースに到達します。このDBは階層的な構造を持っています。それにより,プロジェクトに新たな仮想ネットワークを生成しようとするオーケストレータは最初に,プロジェクトにすでに定義されているVNを問い合わせることが可能になります。
データベースアクセスの単一障害点(Single Point Of Failure / SPOF) を回避するため,OpenContrailが分散ハッシュテーブル(DHT)によるNoSQLアプローチを採用している点も注目に値する。