Computing Environmentの変遷に関する考察

過去の外部記事まとめに対する自己レス、というか自己考察。。。
##推測な書き方が多いのは自信が無いからなのです(;´д`)トホホ

元始、システムはHost Centricであった

コンピュータと言うものは、その発生時とても高価なものであった。
この高価な資源を有効利用しようと発想するのは当然である。有効利用、すなわち投資対効果の最大化、コンピュータを稼動させることによる効用の最大化である。平たく言えばCPU使用率の最大化だとおもわれる。そのため、Time Sharingの考え方により少ない・高価なコンピュータ資源をみんなで共同利用しようという発想は、メインフレーム系でもUNIXなどのオープン系システムでの共通の思想だと思われる。
過去記事の言をそのまま使えば、CPUとタスクは1:nの関係性を持っており、投資対効果の最大化とは1つのCPUに対してどれだけ極限までのタスクを効率よく詰め込めるか、と同義であり、これが至上命題となっていたといえるだろう。

オープン・システムへの変遷とそこで起こった変化

PCなどのコモディティ化などにより、ユーザーはこれまでに無い多くの選択肢を手に入れた。ハードウェア価格は劇的に安価となり、またComputing能力は汎用機・専用機等に引けを取らないレベルまで進歩した(ほんとか?)
同じ事をするためにより安いコストでできる手段があるのであればそちらを選ぶのは(刹那的な視点で見れば)至極当然なのかも知れない。1台のメインフレームと1000台のPCが同じComputing能力を有するとして、メインフレームの3分の1、4分の1のコストで1000台のPCが変えるのであれば、システム要件によっては1000台のPCを選ぶのもありだろう。
メインフレームの中央集権からサーバーによる機能分散・負荷分散への変遷である。

当初はオープン化によって高い自由度と低価格なシステムを勝ち得たユーザーだが、TCO(Total Cost of Ownership)という尺度で考えると疑問をもち始める。CPUとタスクの関係がn:nとなり、機能分散・負荷分散を進めることで、1台のメインフレームの時に行っていたCPU使用率の最大化という命題は忘れ去られていたのかもしれない。
結果、TCOは増加し、CPUの使用率も減少した。1つのCPUに如何に効率よく仕事をさせるか、という部分が破綻したシステムになっていたのである。

仮想化・集約化

これに対する答えとして出てきたのが、サーバー統合と言うかたちでの集約化や仮想化の技術なのだろうとおもわれる。機能分散・負荷分散によって生まれたCPUの余剰Computing能力をいかにして埋めるか、つまり1つのCPUを如何に効率よく働かせるか、というところに議論は戻ってきたのかもしれない。
仮想化の技術が進み、ユーザーが物理的な存在を意識しない、Computing能力を必要な時に供給を受けると言うサービス形態、、、世はユーティリティ・コンピューティングの黎明期を迎えている。
翻って、メインフレームの世界は依然中央集権的であり、1:nの関係性が強く残っている。
では、メインフレームの世界での集約・仮想化、更に言えばユーティリティ・コンピューティングというのは何を目指すのだろうか・・・・・(自己Loop)

つづけ*1

*1:一方の人間側はどうだろう。。。集約化→属人性の排除→標準化→自動化とか続いていくのだろうか・・・