ハードウェアありきのSDNから、仮想ネットワークを切り離して考えてみよう
はじめに - ネットワーク仮想化とSDN -
今、ネットワークが面白い。私がネットワーク業界のエンジニアではないからかもしれないが、業界におけるこれまでの力関係を大きく変える可能性すら感じるのだ。しかも、この変化の行方はまだ誰も分からない。だからこそ、今、ネットワークが面白い。
さて、面白さの原点はどこにあるのだろう。それは、Software Defined Network(通称SDN) と呼ばれるネットワークのソフトウェア化にあると考えている。これまで、スイッチやルータなどのハードウェア機器ありきで結線とコンフィグレーションを行っていたネットワークを、「ソフトウェアによって定義」するというのだ。ただ、ここにも言葉遊びのような要素がある。例えば、ネットワークベンダは自社のSDNに対応した機器を導入すれば Software Defined が実現できるような話をしているが、ネットワークのソフトウェア化とは言っておらず、ソフトウェアで定義ができると言っているだけだったりする。
ソフトウェアベンダという筆者の立場からすると、SDNと言いながらいきなりハードウェアを置き換える話というのも驚かされるし、ネットワークの定義や設定はこれまでもネットワーク機器内に組み込まれたOSに対してソフトウェア的に行っていたのだから、何が変わったのかが分かりにくいともいえる。
ただ、ハードウェアありきのSoftware Defined を分かりやすく説明できるものがある。それがOpenFlowだ。ネットワーク機器はOpenFlow対応のものにすべて置き換え、OpenFlowコントローラというソフトウェアからそれらをコントロールするらしい。20年近く前にルータの研修を受けたことがある私の中で、ネットワークエンジニアといえばルータにシリアルケーブルをつないでコマンドで設定を行うイメージが強かったため、記事でよく見かけるOpenFlowのように、ソフトウェアベースのコントローラを使ってネットワークを可視化し、フローを制御できるのを見ると、ネットワークがソフトウェア化された感覚が得られるのだ。
しかし、OpenFlowが面白いとは思えるのに、サーバー仮想化をやっている私にとって、何かを与えてくれるように思えないのはなぜだろう?
それは、新しいネットワークの議論の多くがネットワークエンジニアのためのものであり、その上で動くサービスにとってのメリットが見えていないからだ。もちろん、今のITを支えているのはネットワークであり、ネットワークがつながることでITが便利さを手に入れていることは十分理解をしている。その上で、あらためてSoftware Defined Networkとサービスの関係について考えたいのである。そのため、本記事ではサーバーの仮想化というサービスのためにSoftware Defined Networkがどれだけ役に立つのかを見ていきたい。
サーバー仮想化とネットワーク機器に依存しない新しいソフトウェアベースのネットワーク
現在、サーバーの仮想化と共に使われることが多いVLAN環境では、既存のネットワーク設定に合わせる形でサーバー仮想化の設定を行うか、サーバー仮想化の環境を意識してネットワーク側の設定を変更(調整)しなければならない。サービスプロバイダやグループ企業向けにITの構築や運用を請け負っているIT子会社などでは、VLAN数の枯渇、サービス変更の度に発生するネットワーク設定変更の作業負荷とリスク、そしてサーバー仮想化により集約が進むMACアドレスのネットワーク機器への影響など、悩みは尽きないはずだ。
さて、これらの課題に対して、ハードウェアありきのSDN導入は適切な議論なのだろうか?もしよかったら、一度ハードウェアによるSDNを忘れてみようではないか。なぜなら、既存のネットワーク上で、ネットワーク機器の設定を変えずに動く完全ソフトウェアベースの新しいネットワークが生まれてきているのだから。。