GoogleのGFSの話を書き(引用し/リンクし)ましたけど、
ある会社が、サーチエンジンを作ってサービスしようと考えたときに、
はてしてGFSのようなアプローチをとるだろうか、ということを
考えることがたまにあります。
現在の市場で新たな検索エンジンが売れるかどうかという点は、
ちょっと抜きにして、仮に、独自の新分野で一定のニーズがある検索エンジン
分野があったとして、そこに向けた検索エンジンを作ろう、となった場合に、
どうするか、です。
今のところの答えは、
「たとえGoogleが成功したことを知っていたとしても、
そんな不確実な方法は、なかなか、とれない。」
です。
以下、題材として、サーバの堅牢製と拡張性に絞って考えます。
(Googleはもっといろいろな要因に優位性を持っていると思いますが。とりあえず。)
堅牢性と拡張性を手っ取り早く、(運用者にも)わかりやすく実現しようと思ったら、
やっぱり堅牢製をウリにしている高価なサーバを導入し、
きっちりメーカーやSIerのサポートをつけ、運用手順をはっきりさせて、
状況を固めたくなる、と思います。
非常にアバウトですが、特に技術セントリックな会社でない場合には、
やっぱりビジネス優先であり、技術は確実性を得たいので、
こういう方策になりがちなんじゃないでしょうか。
(それがいいとか悪いとかは、申しておりません。
合理的な判断がなされた場合に、こういう方向になるケースが
多いんじゃないかと推測するのみです。)
- - -
このパターンは、Google型に比べて、2つの短所がありそうな感じがします。
1.コスト
初期費用がおそらく高い(技術料、中間マージン分)。
継続的にコストを下げることが、難しい(かもしれない)。
コストが下げづらいということは、世の中一般的にコストが下がっているトレンドでは大きな障壁。
具体的には知りませんが、堅牢性をアピールして売ってる会社は、堅牢性のランクに従って価格付けをするんじゃないでしょうか。技術の陳腐化や新技術に伴うコストダウンはあるにしても、それを超えるコストダウンは、何らかの需給要因(先に別の利得があるとか、トップ企業に食い込んで競争優位にたつためとか)が作用する場合を除くと、やっぱりサービスレベルの低下につながるように値付けされてたりしないでしょうか。(ちょっと根拠ない想像なんですけど。)
2.変化への対応
ガチガチに固めることで堅牢性を作るとすれば、それは、変化したいときには
堅牢性に危機が迫るということ。
変化を重ねると、(一般的には)より複雑性が増し、状況の捕捉が難しくなるため、
次第に、変化に関して、コストと時間がかかるようになります。
- - -
そんな欠点があるっていっても、やっぱりサービス開始時期/納期は
ある程度、決まっているわけで、これらの欠点要因を最小限に押さえつつ、
堅牢でビジネス要望を満たすシステムを、時間内にきっちり作るというのが、
やっぱり求められていることでして。
そういうことを効率的に達成するのが「よいアーキテクト」ということになるのでしょう。
システムの技術的なマネジメント、ということよりも、メーカ/SIerの
マネジメントが長けてないと、そういう人にはなれない感じがします。
(よいアーキテクトは、気心の知れ、計算できるメーカー/SIerを
持っている人、ということになるのかな。)
先生、結局、よくわかりません。