summary:
ベンダー固有のCLIやプロプライエタリなAPIに依存せず,共通の論理データモデルに基づいて異機種間の機器を一貫して運用できるようにすることを目的としている.
OpenConfigは,機器の設定[Configuration]と状態情報[State]の両方を標準化されたモデルで表現し,それをYANGというデータモデリング言語を用いて定義する.
通信には主にgNMI[gRPC Network Management Interface]やNETCONFといったプロトコルが用いられ,これにより,構成変更だけでなくストリーミングによるリアルタイム監視も可能にしている.
OpenConfigは単なる標準提案にとどまらず,実際に大規模商用ネットワークで運用され,ネットワークオートメーションやテレメトリ収集の基盤として広く活用されている技術体系である.
OpenConfigは2014年頃,Googleを中心とする世界規模の大規模ネットワークオペレーターたちが,ベンダーロックインを打破し運用の自動化・効率化を実現するために発足させたオープンソースのプロジェクトである.従来,CiscoやJuniperなど各ベンダーのネットワーク機器は独自のCLI体系を持ち,機種ごとに設定・監視手順が異なっていたため,大規模なマルチベンダーネットワークにおいて運用管理コストが爆発的に増加していた.この問題意識から,ネットワークの基本機能[インタフェース,BGP,ACLなど]について,機器メーカーに依存しない統一的なデータモデルを作成し,それを機器ベンダーにも実装させる流れを目指してOpenConfigが誕生した.
技術的には,OpenConfigはYANG[Yet Another Next Generation]というIETF標準のデータモデリング言語を採用している.YANGモデルは,設定項目[config]と状態項目[state]を明示的に区別し,階層構造でオブジェクトを表現する.これにより,設定変更のトランザクション管理や,部分更新[Partial Update]といった高度な機能にも対応できるよう設計されている.通信プロトコルとしては,当初,NETCONFが主に使われたが,後により効率的なバイナリ通信を実現するgRPCベースのgNMI[gRPC Network Management Interface]が登場し,OpenConfigとの親和性が高まった.gNMIは,単発の取得[Get],設定変更[Set],ストリーミング監視[Subscribe]といった多様な操作に対応している.
OpenConfigのYANGモデルは,ベンダー中立[vendor-neutral]な共通仕様を提供する一方で,必要に応じて機器固有の拡張も許容する設計になっている.これにより,標準モデルを基盤としながら,各ベンダーの独自機能を損なうことなく実装可能である.現在では,OpenConfigに準拠した機器はCisco,Juniper,Aristaをはじめ多くのメーカーから出荷されており,SDN[Software-Defined Networking]や大規模データセンター運用の基盤技術として確固たる地位を築いている.さらに,OpenConfigはFacebook,Microsoft,Yahooなど他の大規模クラウドプロバイダーからも支持を受け,業界標準としての採用が広がっている.その結果,ネットワーク管理ツールやオーケストレーションシステムにおいてもOpenConfigのサポートが一般的になりつつある.
Mathematics is the language with which God has written the universe.