明日のトップランナー
ネットワークにイノベーションをもたらす「仮想化基盤ネットワークソフトウェア技術」
近年のネットワークサービスは多様化が進み、データ通信トラフィックの増大やトラフィック変動の予測・対応が困難になるといった問題が顕在化しています。しかしソフトウェアを仮想化する「仮想化基盤ネットワークソフトウェア技術」をネットワークサービスに適用することで、これらの課題を解決しようとする取り組みが多くの通信事業者で検討されています。今回は「仮想化基盤ネットワークソフトウェア技術」について、小川泰文特別研究員にお話を聞きました。
小川泰文 特別研究員
NTTネットワークイノベーションセンタ
PROFILE
2003年大阪大学大学院工学研究科卒業。同年、日本電信電話株式会社に入社。2021年よりNTTネットワークイノベーションセンタに所属。2022年よりNTTネットワークイノベーションセンタ特別研究員。仮想化基盤ネットワークソフトウェア技術の研究開発に従事。OpenInfra Summit 2020、DPDK Summit 2019などの国際会議に多数登壇。OpenStackコミュニティでのプロジェクトリーダーを務める。
ネットワークソフトウェアを仮想化し、低コストで高性能ネットワークを実現
◆はじめに「仮想化基盤ネットワークソフトウェア技術」とはどのようなものなのでしょうか。
「仮想化基盤ネットワークソフトウェア技術」についてお話しする前に、まずは「仮想化基盤」とはどのようなものであるかを説明します。そもそも「仮想化基盤」とは、仮想化技術を活用することでさまざまな要件に応じて適切なコンピュータリソースを柔軟に割り当てることを可能とするインフラシステム・技術を指します。例えば最近流行りのAI(人工知能)やディープラーニングを動かすには高性能のマシンが必要になり、これを試す場合、個人であればマシンを構成するさまざまなパーツをそろえて自分で組み立てる必要がありますが、仮想マシンを使うことでそのプロセスを簡略化することができます。つまりデータセンタの巨大マシンの一部を自分のためにチューンして占有し、高い性能のマシンを自由に使うことができるということです。このときに求められるセキュリティの機能強化やネットワークの性能強化といったさまざまな要件に対しても、マウスをクリックしメニューを選ぶ程度の簡単な操作で即座に要件を満たすマシンが仮想的にでき上がってしまう、これが「仮想化基盤」の技術概要です。
「仮想化基盤ネットワークソフトウェア技術」はこれをよりネットワーク機能にフォーカスしたもので、一般的にNFV(Network Function Virtualization)と呼ばれます。大規模なネットワークの中核機能は品質・性能ともに大変要件が厳しいため、従来の技術では非常に高価な専用装置を用いることで実現していました。しかし「仮想化基盤ネットワークソフトウェア技術」では、高価な専用装置を汎用的なサーバとソフトウェアに置き換えることによって、簡単かつ廉価に大規模ネットワークを実現することができます。具体的には既設の汎用サーバ内に専用装置の機能などを実現するソフトウェアを構築することで、物理的な工事不要で専用装置と同等のものを構築できます。これにより、ネットワーク事業者にとって喫緊の課題であったネットワークの開発コストや開発期間を削減し、非常に大きなメリットをもたらすことができます。
◆「仮想化基盤ネットワークソフトウェア技術」を実現するために、どのような取り組みをされているのでしょうか。
仮想マシン自体の設計手法や仮想ネットワークの考え方などの要素技術はすでに確立されているのですが、ソフトウェアの取り組みとして現状は開発途上のものが多く、オープンソースコミュニティなどで積極的に実装が進められているものの、品質や可用性といった実用的なネットワークに求められる要件に関してはまだ十分ではありません。そのため、欧州を中心とした世界各国の通信事業者が参画する標準化団体ETSI(European Telecommunications Standards Institute:欧州電気通信標準化機構)が規定するNFV標準仕様を、OpenStack Tackerと呼ばれるソフトウェアに実装・提供することで新たな価値を創造するという取り組みを行っています(図1)。
TackerはOpenStackの仮想化基盤ソフトウェアでNFVを実現することを目的とした中核プロジェクトの1つです。私たちはこれをETSI NFV標準仕様に置き換えることにより、世界に先駆けて実用的かつ高品質なネットワーク基盤システムを構築することをめざしています。私が研究を始めたときにはすでにNFVの標準化は行われていたのですが、年々変わる業界や要件に対応するように標準仕様自体も変革を続けています。ESTIのNFVには具体的な標準仕様アップデートのプランがあり、現在はフェーズ1から始まったものがフェーズ4まで来ているという状況です。
具体的な取り組みとしては、私は現在OpenStack TackerプロジェクトにおいてPTL(Project Team Leader)と呼ばれるチームリーダーの役割を担っており、自分自身が書いたソースコードを提供する以外にもプロジェクトの開発方針を決めるための取りまとめや、Tackerのプロモーションに携わる業務を行っています。ほかにもTackerの目標であるETSI NFV仕様への準拠だけではなく、開発の中で見つかった課題をフィードバックするなどの取り組みも行っています。また開発者としての貢献にとどまらず、国内外の通信事業者やベンダなどさまざまな立ち位置のプレイヤーを巻き込むことで、実用化開発の立場からネットワーク仮想化技術自体の進展へ貢献しています。
◆「仮想化基盤ネットワークソフトウェア技術」の研究ではどのような点に苦労されていますか。
OpenStackでは各プロジェクトが独立して開発を進めていて、PTLはその中でも開発方針決定・ルール策定・コアメンバー推薦などの裁量権を持ち、またプロジェクトの代表としてOpenStack全体の運営にもかかわっているため、その分多くの苦労があります。例えば私はETSIメンバーにインプットするための要件抽出やフィードバック改善要望の取りまとめなどを行っていますが、NTTが要件として盛り込みたい機能があった場合にメンバーを納得させ稟議を通さなければいけません。そのための具体的な取り組みとして、コアメンバーと呼ばれる会議において大きな発言権を持つメンバーをNTTや意見交換等を密にしている企業のパートナーから輩出しています。そのほかにもソースコードのパッチ提供、開発者からのパッチ品質向上のためのレビュー貢献、OpenInfra Summitなど国際会議での発表による知見共有や、Project Team Gatheringと呼ばれるOpenStack開発者会議における取りまとめなどを行うことで、さまざまな技術を世に出していきたいと考えています。
また、技術実装や相互接続等の段階において何かトラブルがあった場合には、早急な対応が求められます。OpenStackのような大規模なソフトウェアの開発を行う際には、製品自体の動作を保証するための品質管理として、CI/CD(Continuous Integration/Continuous Delivery:継続的インテグレーション/継続的デリバリー)と呼ばれる手法が用いられ、ソースコードの検証からテストによる動作確認まで多くが自動化されています。しかし実際の開発では、テスト自体の設計不良や長年の開発によるライブラリの互換性崩壊などのトラブルが9割以上の確率で発生します。確かにこれらのトラブルへの対応は一見地味な課題なのですが、この正常性を維持するためには既存のコードで用いられるソフトウェア設計に関する幅広い知見を持ち理解している必要があります。また問題事象が発生した場合にいち早く原因を解析し修正することが必要なため、高度なソフトウェア開発スキルを持つように日々努力しています。OpenStackでは現在も新たな実装が次々と取り込まれていて、膨大なコードベースに対してそれらに追従しつつ品質を保証することが求められるため、とても骨の折れる取り組みですが、その反面非常にチャレンジングな課題でやりがいを感じます。
ねらうはネットワーク事業者にとって希望となるサービスの提供
◆「仮想化基盤ネットワークソフトウェア技術」によりどのような世界が実現されるのでしょうか。
近年のネットワークサービスは多様化が進み、通信ネットワーク事業者においてはデータ通信トラフィックの増大やトラフィック変動の予測・対応が困難といった問題が顕著化してきています。そのため大規模災害発生時等における通信の確保といったような、社会インフラとしての信頼性確保が難しい状況になっています。特にモバイルネットワークにおいては、スマートフォンが日常生活の必須アイテムとなったことで、これらの課題に対して早急な対応が求められています。同様にこれまで電話サービス等を支えてきたいわゆる固定網と呼ばれるネットワークでは、高いコストをかけて開発した専用装置を長期間利用して収益を上げていくことが従来の基本的な考え方でした。しかし現在では、開発期間の短縮化や提供までのスピード化・サービスのライフサイクル短縮が起き、このようなモデルが成り立たなくなってきています。そこで「仮想化基盤ネットワーク技術」をこれらのネットワークサービスに適用し、導入コストやメンテナンスコストを抑えてスピーディかつ柔軟なサービス提供を可能にすることで、諸課題を抜本的に解決し、多くのネットワーク事業者にとって大きな手助けとなると考えています。
またETSI NFV標準仕様に準拠した仮想化基盤システムを提供することで、さまざまな製品との相互運用性が確保されるといったメリットがあります。現在の大規模システムでは、ベンダ特有の接続性を持つ製品が乱立しているという状況があり、そのためVNF検証コストや期間の肥大化が問題となっています。そこで仮想化基盤技術へTackerの標準化実装を行い、相互運用性を保証してベンダの独自性を排除することによって、数十億円規模の検証コスト削減をねらっています(図2)。
そしてIOWN(Innovative Optical and Wireless Network)構想では、ディスアグリゲーテッドコンピューティング基盤として多種多様なデバイスを組み合わせることで、サービスの要求を満たしつつ省電力性も両立させる新しいサーバインフラ技術の取り組みがあります。このような低レイヤ領域のソフトウェア技術において、制御される側としてのコンピューティングリソース、特にソフトウェアとして実装される仮想リソースの制御に対してTackerを活用することを考えています。私たちは「仮想化基盤ネットワークソフトウェア技術」を基盤技術として、低レイヤのソフトウェアに位置する技術上にIOWNを特徴付けるセキュリティやデータセントリック基盤などが配置されサービスとして提供される世界を実現しようと日々研究に取り組んでいます。
◆研究開発を進めるうえで大切にされている考え方を教えてください。
私は研究者として常に自分のこだわりや納得感を大事にするように心掛けています。私が取り組むソフトウェア開発は、チームとして各開発にそれぞれ期日が決まっていて、そのような環境の中で求められる要件を1つでも多く満たしつつ品質を高めるためには、プロジェクトリーダーという立場としてときに取捨選択が迫られます。私は研究所では一貫してソフトウェア開発に携わっており、ソフトウェアは「苦悩」と「妥協」の産物だと思っていますが、簡単に「妥協」の道を選択するのではなく、どうにか実現できる方法がないかを探す「苦悩」の部分を大事にして、自分たちの成果をより役に立つものにしたいと考えています。そうすることで多くの方に喜んでいただけるサービスを提供でき、私だけではなくチームメンバーが研究開発で達成感を味わうことができると信じています。
また「次の世代に引き継ぐことができる仕事をする」ということを大事にしています。例えば私が取り組んでいる仕事は、今後私以外の誰かに引き継がれていく可能性もあるため、日々の研究開発の中で「プログラムのソースコードを整然ときれいに書きつつ、ソフトウェアの設計を継続的に見直し改善する」ということを意識しなければいけません。そうすることで、単に機能として動くようなものをつくるのではなく、誰が見ても理解できて容易に引き継ぐことができるものを積み重ね、現在だけではなく将来の研究開発へバトンをつないでいきたいと考えています。
◆最後に、研究者・学生・ビジネスパートナーの方々へメッセージをお願いします。
私が所属しているNTTネットワークイノベーションセンタは、IOWN構想のもと新たに設立された組織です。その源流には数十年におよぶ数多くのNTTの通信技術研究の歴史の積み重ねがあり、それらの成果をより大きな目標に集約させるための組織だと私は考えています。研究分野としてはコアネットワークからアクセスネットワークまでさまざまな領域を幅広くカバーし、特に実用化フェーズにおけるプロフェッショナルが数多く在籍していると感じます。例えば私の専門であるネットワークサーバソフトウェア分野では、事業会社で利用されているさまざまなアプリケーションの開発に加え、標準化団体やオープンソフトウェアコミュニティなどさまざまな業務に取り組んでいます。各分野のプロフェッショナルが多く、グループ会社を含めてさまざまなコネクションを活用し、意見交換できる環境であることがNTTにおいて研究開発を行う強みであると感じます。またグループ内にとどまらず、国内外の他社やコミュニティにおいてもNTTの影響力は大きく、こちらの提案を積極的に聞いて味方になってくれる人たちも多くいて、グローバルに活躍したい研究者にとって魅力的な場所なのではないかと思います。
私たちのオープンソフトウェアを活用したネットワーク基盤技術開発の取り組みは、実用化開発フェーズの研究開発の中でも非常に実践的なものです。そして将来のネットワーク技術のあり方に関して日々議論し、さまざまな企業や団体を巻き込んでいくため、世の中に大きな影響力のある非常にやりがいのあるものです。ほかにもOpenInfra Summitなどの国際会議では、世界中から著名な開発者が集まる場で活躍するチャンスがありますし、また標準化団体やその他のオープンコミュニティにおいては数多くの企業が協力し、世の中に大きな影響を及ぼすような標準仕様や、デファクト製品を生み出す活動を進めることも可能です。このようにグローバルなコミュニティにおいてソフトウェア開発者として活躍したい方や、さらに将来のネットワークの基盤をつくり出していくようなスケールの大きなテーマに興味のある方は、ぜひ私たちの活動に参加していただけるよう願っています。