Microsoftは、クラウドスケールネットワーク向けエミュレータ「CrystalNet」を発表した。同製品は、定期保守や更新、バグ、人的エラーによるネットワークダウンタイムの削減に役立つという。
Microsoftは2017年10月31日(米国時間)、第26回ACM Annual Symposium on Operating Systems and Principles(SOSP 2017)の場で、Microsoft Azure部門とMicrosoft Researchが共同開発したクラウドスケールネットワーク向けエミュレータ「CrystalNet」を発表した。
Microsoftは、「CrystalNetを使えば、Azureネットワークのルーティンメンテナンスやアップグレード、ソフトウェアバグ、人的エラーによるネットワークダウンタイムなどを、ほぼなくせる。Azureの本番ネットワークに実際に手を加える前に、予定している変更をCrystalNetが提供する検証ツールセットで実行することで、構成変更の影響を測定できる」としている。
Microsoft Researchは、2年にわたる研究開発で、主要なクラウドプロバイダー全社の文書化された障害を全て調査した。その結果、「本番ネットワークと同一のコピーであらかじめ検証を行うことで、ほとんどの潜在的問題を事前に発見できる」との見解に達した。
この検証を効率化するため、Microsoftは、本番ネットワークアーキテクチャと全く同じように相互接続された仮想ハードウェア上で、ハードウェア、ソフトウェア、ネットワーク構成を実行する方法を採った。特徴は次の3つ。
CrystalNetは、複数の仮想マシン(VM)にまたがるデバイスをエミュレートした仮想ネットワークリンクを構築する。エミュレーションクラスタに新たなVMを追加すれば、CrystalNetは自然にスケーリングされ、より大規模なネットワークをエミュレートできる。
CrystalNetは、さまざまなベンダーのネットワーク機器の多様なソフトウェアイメージをサポートする。ソフトウェアイメージは、スタンドアロン型のVMか、Dockerコンテナの形を採り、一括管理できる。エンジニアは、各機器の管理ツールを習得することなく、デバイスイメージにTelnetやSSHでアクセスできる。エミュレートされているネットワークに実際のハードウェアデバイスを含めることも可能だ。
あるネットワークをエミュレートする際は、「ネットワーク全体の再現」という非現実的な作業を避けるため、エミュレートの範囲を定めるための境界を必要とする。CrystalNetは、自動的に必要な境界を特定し、エミュレートすべきデバイス数を最少限に抑える。これにより、エミュレートされているネットワークの挙動と実際のネットワークの同一性を確保しながら、コストを抑えるという。
Microsoftは、「CrystalNetを使って、複数のエンジニアがAzureの本番ネットワークのエミュレーションに成功している」と述べ、CrystalNetによるリスク検証の対象として「新たなネットワークの設計」「ネットワークアーキテクチャの大規模な変更」「ネットワークファームウェアやハードウェアのアップグレード」「ネットワーク構成の更新」などを挙げている。同社のAzure担当エンジニアも、ネットワーク自動化ツールや自前のスイッチOS「SONiC」(Software for Open Networking in the Cloud)の開発段階で、CrystalNetを現実に近いテスト環境として活用しているという。
Microsoftは、「Microsoftは、「大規模で複雑なネットワークを正確にエミュレートするCrystalNetの機能は強力だ。Azureを利用する顧客からは、自社のエンタープライズネットワークのダウンタイムを低減する方法として関心が寄せられている。ネットワーク機器ベンダーからも、自社製品を市場に出す前に、CrystalNetを使ってテストしたいという声が出ている」と述べている。
Copyright © ITmedia, Inc. All Rights Reserved.