視点: 機能速度

目次

本章ではコンピューターネットワークにおける代表的な利害関係者 ── ネットワーク設計者、アプリケーション開発者、エンドユーザー、ネットワーク運用者 ── を紹介し、ネットワークの設計・構築方法を形作る技術的要件を説明する足掛かりとした。ここまでの説明では全ての設計判断が純粋に技術的だと仮定してきたものの、当然それは正しくない。市場圧力、政策、倫理的懸案事項など、ネットワークの設計・構築に影響を与える要因は他にも数多く存在する。

しかし言うまでもなく、最も大きな影響力を持つのは市場である。市場はネットワーク運用者 (AT&T, Comcast, Verizon, DT, NTT, China Unicom など)、ネットワークデバイスベンダー (Cisco, Juniper, Ericsson, Nokia, Huawei, NEC など)、アプリケーションとサービスのプロバイダ (Facebook, Google, Amazon, Microsoft, Apple, Netflix, Spotify など) 、そしてもちろん加入者と顧客 (個人および企業、法人) の相互作用によって形成される。こういった関係者を分ける線は必ずしもはっきりとはしておらず、多くの企業が複数の役割を担う。最も注目に値するのは大規模クラウドのプロバイダで、彼らは次のことを全て行う:

こういった事実を念頭に置くと、教科書で示されるような技術設計プロセスのストーリーが持つ暗黙の仮定の一部には再考が必要なことが分かるだろう。そのような仮定の一つに「ネットワークの設計は一度だけ行われる」がある: 一度構築しまえば、後はずっと使っていける (ハードウェアのアップグレードだけしてやれば、パフォーマンス改善をユーザーに届けられる) というものである。あるいは「ネットワークの設計はネットワークの運用と切り離された仕事である」という仮定もある。どちらの仮定もあまり正しくない。

ネットワークの設計は間違いなく進化しており、我々はその変化をこの教科書の新しい版が出るたびに記録してきた。変化を年単位で年表にまとめれば歴史的な価値は十分かもしれないが、最新のスマートフォンアプリをダウンロードしたことがある人なら誰でも知っているように、年単位で記録され得るものは現代の基準で言えば氷河の流れのごとく遅い。進化を見据えた設計は設計判断プロセスの一部である必要がある。

二つ目のポイントとして、ネットワークを構築する企業はまず間違いなく運用も行う。そのような企業をネットワークオペレーター (network operator) と呼ぶ。上述した企業の中にはネットワークオペレーターが含まれる。着想を得るためにもう一度クラウドを考えると、開発と運用を一緒に行う考え方は企業のレベルでだけ正しいのではないことが分かる: 最も速く動くクラウド企業では、エンジニアリングのチームが DevOps モデルに従って組織される (もし DevOps を知らないなら、どのように実践されるかを知るために Betsy Beyer ら編 Site Reliability Engineering: How Google Runs Production Systems を読むことを勧める)。

こういった事実は現在コンピューターネットワークが大きな変革の真っただ中にあり、ネットワークオペレーターはイノベーションのペース (機能速度とも呼ばれる) を加速させつつも安定したサービスを提供 (安定性を保持) しようとしていることを意味する。また、ネットワークオペレーターはクラウドプロバイダのベストプラクティスをますます利用するようになっている。このベストプラクティスの要点は次の二点である:

  1. 一般向けハードウェアを活用し、賢いことは全てソフトウェアで行う。
  2. 開発と運用の障壁を取り払うアジャイルなエンジニアリングプロセスを採用する。

この変革はネットワークのクラウド化 (cloudification) あるいはソフトウェア化 (softwarization) と呼ばれることがある。インターネットは常にロバストなソフトウェアエコシステムであったものの、そのアプリケーションは第 1.4 節で説明したソケット API を使ってインターネットのネットワークの上に作られたものだけに長い間制限されていた。それが最近になって、クラウドに着想を得たエンジニアリングプラクティスがネットワークの内部にも適用され始めている。SDN (software defined network, ソフトウェア定義ネットワーク) と呼ばれるこの新しいアプローチはゲームチェンジャーである。しかしそうは言っても、変化したのはフレーム化、ルーティング、パケットの分割/再構築、転送のスケジューリング、輻輳制御、セキュリティといった基礎的な課題を解決する方法ではない。そうではなく、ネットワークが新しい機能をサポートするよう進化する速度が変化したのである。

この変革は非常に重要なので、本書では各章の「視点」の節で触れていく。そこでの議論では、ネットワーク産業で起こることは確かに技術と関係を持つものの、技術とは関係のない様々な要因とも関係を持つことが分かるだろう。これはインターネットが我々の暮らしに深く組み込まれていることの証左である。

さらに広い視点

次章の視点: エッジへの競争を読めば、インターネットのクラウド化についてさらに知ることができる。

DevOps についてさらに学びたい場合は Betsy Beyer ら編 Site Reliability Engineering: How Google Runs Production Systems を勧める。

広告