アリスタネットワークスのクラウド・ネットワーク・ソリューションの中核となるのがEOSです。EOSは、完全にプログラム可能で、高度なモジュール性を備えるよう構築されています。Arista EOSでは、標準および知名度の高い管理プロトコルを使用する多彩なAPIを揃えています。すべてのレイヤ、すなわち、Linuxカーネル、ハードウェア転送テーブル、スイッチの構成とCLI、スイッチ制御プレーン、および管理レイヤでプログラム可能です。EOSのプログラマビリティによって、仮想化、管理、自動化、オーケストレーション、ネットワーク・サービス向けの幅広いサード・パーティ製アプリケーションとすばやく統合することができます。
EOSのオペレーティング・システムの基礎をなすのが、改変されていない標準Linuxです。これにより、Linuxオペレーティング・システムのすべての設備にアクセスすることができます。EOSは、市販のLinuxアプリケーションや、増大しているオープンソースの管理ツールで拡張して、ネットワークのエンジニアリングや運用のニーズに対応することができます。
拡張性とプログラマビリティ
EOSには、スクリプトを作成して、アプリケーションをLinuxオペレーティング・システム上に直接ロードする機能、およびそのアプリケーションをゲストVMとして実行する機能があります。EOSの拡張性には次の特徴があります。
- Linux版サード・パーティ製ソフトウェアを変更なしでインストール
- スクリプティングとLinuxシェルレベルのアクセスによる自動化
- すべてのレイヤでプログラム可能:Linuxカーネル、ハードウェア転送テーブル、スイッチの構成とCLI、スイッチ制御プレーン、および管理レイヤ
- スイッチ上でDockerコンテナを直接実行するためのサポート
EOSは、標準ベースの、知名度の高いプログラマブル・インターフェイスを多彩に揃えています。これには次のインターフェイスが含まれています。
- Linux
- JSONを使用したEOS拡張API(eAPI)
- オープンソースのGo、Python、およびRubyに基づくオブジェクト・モデル
- GoおよびPythonのネイティブ・オンボックス・スクリプティング
- XMPP
- アドバンスト・イベント・マネージャ
- SQLiteデータベース
- OpenFlowとDirectFlow
- EOS SDK
OpenFlowとDirectFlow
Arista EOSでは、トラフィックのフィルタリングとリダイレクトをOpenFlowコントローラで制御するOpenFlow 1.0をサポートしています。また、Arista EOSは、Arista DirectFlowによってトラフィックをSDNアプリケーション(TAPアグリゲータなど)に送信する、コントローラなしのモードもサポートしています。
- DirectFlowによって、プログラム可能なデータ・プレーンの柔軟性と、実績のあるルーティング技術とブリッジング技術の信頼性が得られます。
- フローに対して利用できるマッチとアクションには、OpenFlow 1.0の仕様で利用できるものが含まれているので、SDNコミュニティが精通している標準のマッチ/アクション・ポリシーを使用できます。
- Arista DirectFlowは、OpenFlowを補足することを目的とし、柔軟性の向上と幅広いエコシステムの統合を実現しています。
EOSソフトウェア開発キット(SDK)により、お客様は独自にカスタマイズしたEOSアプリケーションをC++、Python、Ruby、またはGoで開発できます。このようなアプリケーションは、他のEOSエージェントとともに、EOS内で活躍する重要なソフトウェアとなります。SDKでは、Arista EOSで利用できるソフトウェア抽象化に対するプログラミング言語バインディングが提供されるので、サード・パーティ製エージェントによってスイッチの状態にアクセスしたり、ネットワーク・イベントに反応したりすることができます。たとえば、これらのアプリケーションにより、インターフェイス、IPおよびMPLSルート、アクセス制御リスト(ACL)を管理したり、多彩なAPIを使用してスイッチとモニタリング/ネットワーク・コントローラ間の通信を行うことができます。