MicrosoftがAzure Cloud Switch (ACS) を紹介

Posted: 2015/09/26 カテゴリー: Uncategorized
タグ:, , , , ,

クラウドとエンタープライズは両方とも、自社のサービスを支えるために、高速で可用性の高いネットワークに依存しています。このため、通信事業者が、危険性や複雑さを増やす機能変更を締め出しつつ、必要なネットワーク機能を迅速に追加することで、自社の運命を制御できることが不可欠になります。

Microsoftは、市場で多数の素晴らしいハードウェア プラットフォームを入手可能であり、多数のベンダー間の健全な競争が革新、速度向上、コスト削減を推進していると信じています。しかし、クラウドとエンタープライズのネットワークが困難だと考えているのは、異なる種類のスイッチ上で動作する根本的に異なるソフトウェアを、クラウド全体のネットワーク管理プラットフォームに統合することです。理想的には、我々は、より新しいスイッチのハードウェアの革新の波に乗っているので、実装済みの機能の利点と修正済みのバグのすべてが欲しいです。

Azure Cloud Switch (ACS) は、スイッチのようなネットワーク デバイスを実行するための、我々独自のソフトウェアの構築への進出です。ACSは、Linux上に構築された、データセンター ネットワーキングのためのクロス プラットフォームのモジュール型OSです。ACSによって、ソフトウェア バグのデバッグ、修正、テストをずっと速く行えます。また、ACSによって、ソフトウェアを縮小し、自社のデータセンターやネットワーキングが必要としている機能を開発する柔軟性を得られます。

また、ACSによって、我々は、複数のスイッチ ベンダーにわたって同じソフトウェア スタックを共有できます。これは、ネットワーク スイッチASICをプログラムするための最初のオープン標準C APIである、Open Compute Project (OCP) (英語 / 日本語)Switch Abstraction Interface (SAI) 仕様を通して行われます。Microsoftは、SAIをACSを成功させるための役立つ要素だと見なしているので、SAIの取り組みの創設メンバーであり、このプロジェクトの主要な貢献者であり続けています。

ACSは、高品質のスイッチ ソフトウェア スタックの長年の経験を尊敬しそれから学んでいますが、説明したいくつかの目的を達成するために、多くの側面で従来型のスイッチ ソフトウェア スタックから外れています。

従来型のスイッチ ソフトウェアは、いくつかのシナリオと機能要求を持つ何社かの顧客向けに構築されています。ACSはMicrosoftの優先順位を基にした機能開発に焦点を合わせているので、リーンなスタックを持っています。薄いソフトウェア スタックは、我々のデータセンター ネットワークに必要となるソフトウェアに焦点を合わせており、現在よりも速くネットワーク デバイスのソフトウェア バグを修正、テストできるように努力しています。また、ACSは、1つのモノリシックなイメージとは対照的に、モジュール型のスタックです。リーンでモジュール型のスタックの利点は、多数あります。これによって、隠れた優先度の高いバグの可能性がより低くなり、検証がより簡単になり、新機能要求の対応の遅れを小さくします。

ACSは、Microsoftの監視/診断システムと統合することで、より簡単な構成と管理を実現しようと努力しています。ACSは、従来型のエンタープライズのコマンド ライン インターフェイスの対話型モデルから外れることで、週次でソフトウェア展開やロールバックが行われるサーバーと同様に、サーバースイッチを管理できるようにし、成熟した構成/デプロイ モデルを確実なものにします。

ACSは、オープン ネットワーキングの力を信じています。ACSとオープンで標準化されたSAIインターフェイスによって、我々は、より速く新規ハードウェアを活用し、複数のプラットフォーム上で同時に運用できようにしつつ、ASICの革新の波に乗れるようになります。ACSはLinux上で動作しているので、Linuxの活発なエコシステムを活用できます。ACSでは、オープン ソース、Microsoft、サード パーティーのアプリケーションを使用、拡張できます。ACSスタックの上部から下部にいたる主要な機能ブロックを、次の図に示しました。

image

アプリケーション: これには、Quaggaといったオープン ソース アプリケーション、Autopilotのような構成管理システム全体やSWANのような機能に関連しているMicrosoft固有のアプリケーション、および、サード パーティー アプリケーションが含まれます。

Switch State Service (SSS): SSSは、グローバル ネットワーク状態のサブセットです。SSSは、スイッチをその目標状態に向けて駆動するのに役立ちます。これは、スイッチの状態のすべての要求を管理するために、Redisに似たオープン ソースのキー/バリュー ペア ストアを利用しています。SAIオブジェクト管理サブ層でもあるデータベース層を持っているので、オブジェクトの共有や異なるアプリケーション間の依存関係に役立ちます。データベースはモジュール型であり、アプリケーションに状態のビューを提供します。

SAI: SAI以前は、基になるハードウェアの複雑さと、プロトコル スタック ソフトウェアとの厳密な結合によって、ネットワーキングのニーズのためのハードウェア、ソフトウェアの最高の組み合わせを選択する自由がありませんでした。SAIによって、ソフトウェアが変更なしに複数のスイッチ チップをプログラムできるので、基礎ルーター プラットフォームが単純で一貫性があり安定したものになります。また、標準化されたAPIによって、ネットワーク ハードウェア ベンダーが、プログラミング インターフェイスを一貫性のあるものに維持しながら、素晴らしい速度を達成するために、革新的なハードウェア アーキテクチャを開発できます。加えて、SAIは、機能、スタック、アプリケーションのオープンでより簡単なソフトウェア開発を可能にします。2015年7月、SAIがOpen Compute Project (OCP) (英語 / 日本語) に公式に承認されました。こちらで (英語 / 日本語)、これに関してさらにお読みください。

ベンダー提供のハードウェア/ソフトウェア: これは、上向きにSAIと対話する実際のASIC、そのドライバー、SDK (ソフトウェア開発キット) で構成されています。

2015年8月のSIGCOMMカンファレンスで、ACSとSAIをデモしました。このデモでは、ACS、4社のASICベンダー (Mellanox、Broadcom、Cavium、Barefoot)、SAIの6つの実装 (Broadcom、Dell、Mellanox、Cavium、Barefoot、Metaswitch)、3つのアプリケーション スタック (Microsoft、Dell、Metaswitch) を紹介しました。

このデモでは、ACSのリーンでモジュール型のスタックを紹介しました。このスタックは、1つのソフトウェア アプリケーションに多様なASICと対話させることで、ASICに依存しないインターフェイスである標準化されたSAIの力を解き放ちました。加えて、ACSは、Dell、Metaswitchのアプリケーション スタックとも対話しました。Microsoftが自社データセンターで使っている現実世界のClosトポロジー上で、これらの機能をデモしました。デモした機能は、基本的なレイヤー3ルーター機能から、QoSといった複雑な機能までです。

我々は、スイッチ ソフトウェアをスイッチ ハードウェアから切り離すこのアプローチが、ネットワーキング業界で高まりつつあるトレンドであり続けると信じており、ここから始まる我々のこの旅の洞察と経験を貢献したいので、ACSについて公に話し始めています。

関連情報

コメント

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中