マイクロソフト、Azureの大規模クラウドネットワークを忠実にエミュレートする「CrystalNet」の存在を明らかに。メンテ作業などをエミュレータで事前検証、ダウン回避を実現

2017年11月10日

マイクロソフトはクラウドネットワーク全体を忠実にエミュレートする「CrystalNet」に関する論文を公開した。ネットワークに対する操作をエミュレータで検証可能になり、ダウンタイムの大幅削減につながるとしている。


マイクロソフトリサーチは、同社のクラウドサービスであるMicrosoft Azureのクラウドネットワーク全体を忠実にソフトウェアでエミュレートする「CrystalNet」についての論文「CrystalNet: Faithfully Emulating Large Production Networks」を公開しました

CrystalNetの名前の由来は、未来を映し出す水晶玉(Crystal Ball)から来ているとのことです。

ざっくりと1千万台前後のサーバが接続されたクラウドネットワーク

Microsoft Azureで稼働するサーバ台数は明らかにされていませんが、これまで公表されている数字から推測すると、1つのリージョンあたり大規模なものでおそらく60万台かそれ以上の物理サーバがあり、リージョンは現時点で全世界36箇所に存在するため、ざっくりと1千万台前後の物理サーバがあるようです。

これらは当然ながらすべてAzureのデータセンター内ネットワーク、データセンター間のネットワーク、リージョン間のネットワークといった複雑な構成のクラウドネットワークに接続されています。

そしてネットワークにはサーバだけでなく、ストレージ、ロードバランサーやスイッチ、ルータといったさまざまなネットワーク機器も接続されています。クラウド全体のネットワークは非常に大規模かつ複雑であることが想像できます。

大規模かつ複雑なクラウドネットワークを忠実にエミュレート

マイクロソフトが今回その存在を明らかにした「CrystalNet」は、この大規模で複雑なクラウドネットワーク全体を忠実にソフトウェアでエミュレートするものだとされています。

マイクロソフトによると、CrystalNetは本物のクラウドネットワーク同様に、その内部に仮想サーバを追加すれば自動的にネットワークを拡張するスケーラビリティを備え、さまざまなベンダのネットワークデバイスに対応したソフトウェアイメージも備え、エミュレートされたネットワークに物理的なネットワーク機器を透過的につなぐこともでき、また本物のネットワークと同じようにふるまいつつも規模を適切に縮小してエミュレートすることで扱いを容易にする機能なども備えているとのことです。

エミュレータでクラウドネットワークの運用を事前検証可能に

クラウドネットワークはつねに本番運用を続けながらも、故障したサーバや機器があればそれらを入れ替え、また新規サーバやストレージ、ネットワーク機器を追加することで規模を拡大し、しかもつねによりよいアーキテクチャへの見直しも行われています。

こうしたメンテ作業に大きなミスは許されません。クラウドにおけるネットワークの停止はサービス停止に結び付く可能性が高い、非常にデリケートなものだからです。

CrystalNetは、こうしたメンテ作業を本番ネットワークに対して実際に行う前に、エミュレータで試してみることができます。それにより、メンテナンス作業やアーキテクチャの変更などが想定した通りの結果をもたらすかどうかを検証し、もし問題があればそれを事前に知ることができるのです。

リージョナルバックボーンへのマイグレーションに成功

すでにマイクロソフトはCrystalNetを用いることで、ダウンタイムを大幅に削減する成果が上がっていると説明します。

例えば、かつてAzureのリージョンのバックボーンは下図のようにコアバックボーンだけだったとのこと。

CrystalNet fig1

これをリージョナルバックボーンを持つように再構成する際のマイグレーション手順を事前にCrystalNetで確認したところ、マイグレーション用のツールやスクリプトにいくつかのバグを見つけたとのことです。

CrystalNet fig2

最終的にCrystalNet上で問題ないマイグレーション手順を確認したうえで、本番のマイグレーション望み、1つの問題も起きることなくマイグレーションに成功したとのこと。

また、マイクロソフトはホワイトボックススイッチ用のLinux対応スイッチソフトウェア「SONiC」をオープンソースで公開していますが、この開発時のテスト環境としてもCrystalNetが活用されたそうです。

Azureエンジニアを完璧に導く

CrystalNetを用いることで、本番環境に影響を与えることなくエミュレータ上でさまざまなことが試せるようになります。マイクロソフトはこれが画期的なアイデアであり、Azureエンジニアを完璧なものに導いていく技術でもあるとしています。

Tags: Microsoft Azure クラウド

このエントリーをはてなブックマークに追加
ツイート
follow us in feedly





タグクラウド

クラウド / AWS / Azure / Google Cloud
コンテナ / Docker / Kubernetes
クラウドネイティブ / サーバレス
クラウド障害 / 運用・監視

プログラミング言語 / 開発ツール
JavaScript / Java / .NET / WebAssembly
HTML/CSS / Web標準

アジャイル開発 / スクラム / DevOps / CI/CD
ソフトウェアテスト・品質
ローコード/ノーコード開発

データベース / RDB / NoSQL / 機械学習・AI
Oracle Database / MySQL / PostgreSQL
Office / 業務アプリケーション

ネットワーク / HTTP / QUIC / セキュリティ
OS / Windows / Linux / VMware
ハードウェア / サーバ / ストレージ

業界動向 / 働き方 / 給与・年収
編集後記 / 殿堂入り / おもしろ

全てのタグを見る

Blogger in Chief

photo of jniino

Junichi Niino(jniino)
IT系の雑誌編集者、オンラインメディア発行人を経て独立。2009年にPublickeyを開始しました。
詳しいプロフィール

Publickeyの新着情報をチェックしませんか?
Twitterで : @Publickey
Facebookで : Publickeyのページ
RSSリーダーで : Feed

最新記事10本