はじめに(このブログについて)
この度、シスコが運営する公式ブログに書かせて戴くことになりました。ただし、「あくまでも個人の見解でありシスコの意見ではない」という免責事項がつきます。公式なサイトから公式見解でない情報を発信するというのは、何だかパラドクス的な感じがしますが、本質は往々にしてパラドクスに宿るのです。この貴重な機会と場を戴いたことに感謝し、日頃なかなかまとめて考察することができない「ネットワークアーキテクチャ」について、検討していきたいと考えています。
なぜ今「ネットワーク アーキテクチャ」か
現在は、希有な業界変遷期と言えると思います。業界構造も、主要なプレイヤーも、大きく変遷しつつあります。このような時代に、ネットワークがどのように適応し進化して行くかを見据えるためには、そのアーキテクチャに関する考察が必須になります。
私はこれまでずっと、ソフトウェアやネットワークといったシステムにかかわる仕事をしてきましたが、その過程で学んだことは、「アーキテクチャ」の重要性です。システムの「機能」を規定するのはロジックやアルゴリズムですが、可用性(availability)、拡張性(scalability)、相互運用性(interoperability)など、そのシステムの「性質や能力(-ilities)」を実現するのは、そのシステムの「アーキテクチャ」です。実際、どんなにそのシステムの機能が優れていても、混雑してくると応答時間が許容範囲を超えて遅くなる、拡張したいのにリソースの増強ができない、何かのモジュールに障害があるとシステム全体がダウンしてしまう、ということがよく起こるわけですが、このような場合、間違いなく「アーキテクチャが悪い」と言えます。すなわち、モジュール単体がどんなに素晴らしくても、それらのつながり方や構造如何によって、問題が起こり得る。特にネットワーク システムの場合は、モジュール単体では成立せず、何か別のモジュールとつながってこそのネットワークであるため、常に「アーキテクチャ」を検討する必要がつきまといます。
「アーキテクチャ」の特質
では、「アーキテクチャ」とは何でしょうか。今や情報がこんなにあふれているのに、意外に専門書は少ないように思います。様々なアーキテクチャフレームワーク・方法論 [1]、[2]、[3] を除くと、「システムアーキテクチャ」の理論的専門書としては、私の知る限り、『The Art of Systems Architecting』[4]が唯一無二ではないでしょうか。(他にもあれば教えてください。)「ネットワーク アーキテクチャ」に至っては、人々やそのコミュニティによって、=OSI参照モデルだったり、=プロトコルだったり、=トポロジーだったり、=インターネットそのものだったりします。さらには、マーケティング用語やコンセプト(SoA: Service Oriented Architecture、SDN [Software Defined Networking] Architecture ― すみません、これ私もよく使うのですが ― などなど)だったりする場合もあります。
かくいう状況ですので、ネットワーク アーキテクチャとは何か、ということも含めて、今後このブログで考察して行きます。序論としての今回は、アーキテクチャの特質のようなものを記述したいと思います。
(1) アーキテクチャにはトレードオフがある
機能には、基本的に、よい(利便性・効用が高い)機能と、そうでない機能があるのみである。しかし、アーキテクチャにはトレードオフがある。潤沢にリソースを使えば拡張性も性能もよくなるが、「コストが合わない」とか、「フルメッシュ接続すればホップ数を最小化できるが接続リンク数がO(N^2)で増える」とか、「抽象度を高くすると可読性・維持性がよくなるがオーバヘッドが増える」などなど。
(2) アーキテクチャを記述するためには、複数の視点が必要になる
(3) アーキテクチャは変遷する
よい(より好ましい)アーキテクチャは存在するが、それは絶対ではなく、時代やその環境によっても変遷する。まるで、スカートの丈が長くなったり短くなったりするファッションのように。
(4) アーキテクチャには、トップダウン的に設計するもの、ボトムアップ的に生成されるもの、そしてその中間形態や共存などがある
(5) アーキテクチャは、認識や考察のためのフレームワークにもなる
[1] DoDAF, Department of Defense Architectural Framework
[2] MoDAF, British Ministry of Defence Architecture Framework
[3] ToGAF, The Open Group Architecture Framework
[4] The Art of Systems Architecting –The third edition, Mark W. Maier, et al. CRC Press, 2009
4 コメント
You’ve mnaaged a first class post
Kudos! What a neat way of thnkiing about it.