ダウンサイジングの問題点

 たとえ冗談に聞こえようと、結論を出す。たとえ実現不能でも解決策を出す。
 文章を書くときに私が心がけているのはこれである。というのは、反論が可能だからである。ともかくもオチを付けてしまえば、それをひっくり返すにはそれなりの論理が必要であるから、確実に理解は深まる。(実はポパー主義者だったらしい、私は。)

 今頃になって取り出すネタは「ダウンサイジングの問題点」。何を今更、もう飽きたというのが普通の感想と思うと、そうでもないらしい。だって「ダウンサイジングの問題点」でGoogleサーチしたら2サイトしか見つからなかった。
 多分このへんの議論が盛んだったのはInternetが商用利用される以前なのだろう。で、InternetはUNIXというダウンサイジングの担い手たるOSで動くサーバーとネットワークで構築され、PCというダウンサイジングの担い手たるOSで動くクライアントで構築されている。商用化されてからのInternetはダウンサイジングされたアプリケーションの動作環境である。いちいち「ダウンサイジングの問題点」なんて気にしないわな。

 なんでいきなりこんなことを言うかというと、クライアントサーバーシステムの可用性向上をどうやって実現しよう、という深遠な命題を解決する義務を課せられたからである。正確に言うとクライアントサーバーシステムにおいては可用性向上を実現する努力をしなければならないと、改めて指摘する必要を感じたからである。で、改めて指摘しようとして、世間がこれを問題視しているか確認しようとしたところ「ダウンサイジングの問題点」の検索結果が3件2サイトということだったのだ。

 さてさて、「コンピュータ帝国の興亡」という本でクリンジリー氏は「パソコンは途方もなく大きなチップなのだ」と言っている。正しいと思う。メインフレームコンピュータが小型化してパソコンになったのではない。少なくとも、メインフレームとパソコンは出来が違うと言っておかないと、アーキテクチャーのあまりの差がどうしても説明できない。メインフレームはアプリケーションを動かす為に作られ、アプリケーションを動かす為にOSというものが平行で開発された。しかしPCはOSがないのにハードだけあった。
 PC-9800はMS-DOSがなくてもN-BASICで動いていた。もちろん、ユーザー管理もタスク管理もない。ファイル管理はあるかもしれない?ファイルをオープンし、クローズするということができただけだけど。(電源を入れると最初に出てくるメッセージはHow many files 1-15だったよね。)

 そういう点ではUNIXもパソコンの仲間である。箱があって、これを使うためにOSを作った。つまり、メインフレームはコンピュータの力を借りて解決したい問題があり、それを解決するために設計・構築されたものであるが、パソコンやUNIXはまず箱があって、それを使いたいがためにプログラムが作られたというものである。はっきり言って自分が趣味で使えればそれでよかったわけだ。ビジネスに使えるものを作ろうなんて夢にも思っていなかったはずだ。

 そこから先はUNIXの歴史、という分野になるので私より詳しい人は、沢山いるようだ。「UNIXの歴史」をGoogleで検索したら59,100件あった。
 ともかく、UNIXはプログラマが趣味で使うために、柔軟な設計となった。自分が使うことが最優先だったので、マルチタスクのバッチ処理ではなく、マルチユーザーの対話式の利用を念頭に置いて作られた。

 で、これは当方の推測なんだが、UNIXが柔軟な設計であったから、Ethernetをはじめとするネットワーク技術を実装する時の「実験台」となり、結果UNIXがネットワークの標準プラットフォームになった。(メインフレームでTCP/IPを実装するのは極めて大変だったらしい。IBM純正以外のネットワークカードを接続するとMVS(メインフレーム用のOS)が止まったという信じがたい話を聞いたことがある。)
 となると使いたいという趣味人が増えてくるわな。というわけで安価な部品で作られたコンピュータで動くように移植された。(ちなみにUNIXははじめから移植性を考えてC言語で作られたわけではない。少なくともオリジナルのUNIXとLinuxはアセンブラで書かれた。)

 ということで(かなり強引な論理展開だが)UNIXの特長として

  1. 柔軟な設計
  2. マルチユーザー対話式での使用
  3. ネットワークとの親和性
  4. 安価なハード
を挙げることができる。ちなみにPCの場合は
  1. いい加減な設計
  2. シングルユーザー対話式での利用
  3. ネットワークへの接続機能追加
  4. 格安のハード
とでもまとめることができようか。で、これを使って「ダウンサイジング」と銘打ったシステム構築をすると、メインフレームに比べていろいろと問題点が出てくる。

 設計が柔軟なので、実装がプログラマ任せになる。アプリケーションが占有するメモリやセマフォのアドレスを、プログラマが決められるらしい。アドレス決め打ち、当然ディレクトリも決め打ち・・・コンフリクトを起こさせないためには、CPUを分離するしかない。というわけでサーバー台数は増える。でもまあいいや、ネットワークとの親和性がいいから。
 が、ネットワークとの親和性がいいと今度は外部からの不正アクセスといった問題が出てくる。LANケーブルは縦横に走り、ハブには空きポートがある。水道管の継ぎ目と蛇口がたくさんあるようなもの、どこから水が漏れるか分からない。
 ハードが安価なのも考え物だ。つまり壊れやすい。ちなみにRAIDのIはinexpensiveのIである。
 しかし最大の問題は、対話式の利用というところにある。つまり、機械の前に人が必ずいるというのを前提として構築されてきたということだ。人がいれば機械が壊れたり、プログラムの動作がおかしくなったりしたときにはすぐに気がつくことができる。しかも原初においてはプログラムやOSそのものを作った人間が端末の前に座っていることが前提とされていたのだ。
 かくして、どの機械で何のプログラムが動いているか、正常に動作しているかを確認する必要はなかったのだ。だって機械の前に分かっている人がいるんだから、いざというときは何とかなるよ。ジョブのスケジューリングなんてバッチ処理の発想が出てくるのはずいぶん先のことだ。つまり「管理」が生まれつき得意でないのだ。ウソだと思ったらSUNの社員に聞いてごらん。「あなたは管理されるのが好きですか」って。
 まあ、仕方なく監視・管理のためのプログラムが書かれることになるが、それは必要に迫られてのことだ。OSやハードの製造元が作ってくれるとは限らない。というわけで副次的ながら「マルチベンダー」というややこしいことになる。
 ここで問題となるのは障害が発生したときに、どの部位の(どのベンダーの製品の)障害であるかの切り分け責任を積極的にとるところはないということである。

 これに(とりわけMS製品の)「いい加減な設計」が加わると泥沼になる。原因不明のまま障害を起こし、その切り分けは自分でやらなきゃなんないとなると。

 マルチベンダーでなくてもサーバーを分割していると大変なことになるぞ。あたしゃあネットワーク越しのファイル転送なんぞやりたくないぞ。文字コードの問題とか、時間の問題とか、ファイルサイズの問題とか。
 で、サーバーが別のサーバーに何か問いかけて、返ってこなくてもそれが「先方のサーバーが止まっている(止まっているにも、OSが止まっているのとアプリケーション含むDBMSが止まっているの少なくとも2種類がある。)」のか「(たとえばサーバーのバックアップ処理やウィルス検索とぶつかって)応答時間が遅い」のか「ネットワークが過負荷で遅くなっている」のかわからないのだ。

 どうしてくれる!ということで「可用性向上」のためには、メインフレームとは別のアプローチが必要なのである。おしまい。
(結局、ダウンサイジングの問題点を洗い出す時に、このような演繹的手法はとらず、実に経験則的に、導入フェーズ各段階の問題として洗い出すこととした。)


 ダウンサイジングの問題点を思い出そうとして、机の中をごそごそやっていると96年2月頃に書いたメモが出てきた。こんなかんじ。
STEP1:Internet外国語代理店構想
日本でビジネスチャンスをうかがう海外の商店、メーカーのアンテナショップをインターネット上に開設する代理店業務を行う。
ホームページの作成代行(翻訳)、サーバーの提供。
利益は外国為替業務により得る。 (効果)外国為替手数料収益、海外企業本格進出時の取引
あるいは、海外に商品を売りたい国内企業に外国語のホームページを提供するということも考える。
(ポイント)ホームページ作成手数料は極力安く。ここでは仮想ショッピングモールの充実が重要。
(参考)96年1月初頭、日本語でショッピングのできるインターネットホームページは210。

STEP2:Internetプロバイダ事業
個人ないし小規模法人がインターネットに接続するサービスであるプロバイダ業務を開始する。
ショッピングモールサーバと直結し、海外商品を覗く際のパフォーマンスが高いことを売り物にして差別化を図る。
高レスポンスによる差別化を図り、契約者を獲得する。
効果:ここでの収益は少ない。
ポイント:契約顧客を以下に増やすかが焦点。
NTTや家電メーカーと相乗りすると効果大。

STEP3:電子決済実用化
STEP2までで契約した外国企業/国内個人客に対しオンライン決済サービスを提供する。
インターネット上の電子決済は現状不可能
理由1:セキュリティ上の問題、個人情報やクレジットカードの番号を送るには不安。
理由2:より根本的には、注文者と支払者が同一であることをネットワーク上では確認できないため。
しかし、プロバイダ契約をしているお客様であれば確認可能である。(競輪、競馬の電話投票で実績あり)
(効果)1.流動性預金の滞留。2.外為取扱高の更なる拡大。3.PR

STEP4:ICカード型電子マネーとのリンク
インターネット外国語代理店へのアクセス/支払端末を置いた商店。支払手段として電子マネーを念頭に置く。
端末(商品サンプル)を置いただけの専門店。一般消費者が購入。
IBM/ジャスコの電子マネー実験と提携。
端末のある専門店と一般消費者の相対取引。(店頭でNetSurfing?)
(効果)現在つながりのないネット上電子通貨とICカード型電子通貨をリンクさせる。
将来考えられる。電子決済網のお客様囲い込み。
コンピュータネタ、目次
ホーム