似たようなことをやってるけど実は違うことをやってる人たち

梅田さんより10歳前後若いブロガーたちが急激な変化を予想する一方、44歳の梅田さんは一貫して、「変化は起きるが、みんなが思っているほど急激ではないだろう」という立場で語った。

僕もこのイベントにはちょこっと顔を出してみました。

なんかパネラーの人たちがはてなブックマークの話をたくさんしてて、開発者がここにいるって言うのに開発者そっちのけで色々話してて、まあ最後に開発者から一言とかで呼ばれるだろうと思ったらそんなこともなくって。おまえらいい加減にしろと憤慨しました。いや、冗談です。

個人的には第二部の SNS の話で id:umedamochio にいじられる山岸さんが面白くてしょうがなかったんですが、ここは敢えて第一部の話に触れてみよう。

この ITmedia の記事の冒頭の一文にあるように、「ネットがマスメディアを飲み込むんだ」という見方に対して梅田さんが「いやいや、そんなに簡単にはいかないよ」という話をしているという構図で、僕はどっちが今自分が思ってる感覚に近いかなあと考えたら梅田さんの方でした。

世の中、「こっちの方が絶対良い」って言ってるひとがたくさんいても必ずしもそちらに物事が転ぶとは限らない、という事が時々ありますが、産業が絡むとそういう事が頻繁にあります。

ところで、最近よく考えるのがソフトウェア産業における文化の違いとかに由来する話。

具体的な一例としては「Java でミッションクリティカル」みたいなのと「Perlアジャイル」というのが、似たようなことをやってるけど、実は全然違うことをやってる。その二つの文化は似ていて非なるものである。そういった話のことです。

以前に「Perl はやわらかい言語で try & error に向いてるよ、スタティックな言語は自分にはちょっと辛い」みたいな話を書きました。(http://d.hatena.ne.jp/naoya/20050518/1116425594) そのときフィードバックをたくさん頂いたんですが、その中で「そんな開発じゃミッションクリティカルなシステムは構築できない」といった意見もいただいた。

でも自分はそういうシステムを Perl & アジャイルで作れ、なんていう話をしてるつもりはない。何だか議論のポイントがずれるなあと感じてたんですが、これがきっかけで、実は両者が似たようなことをやってるけど実は全く違うことをやろうとしてる、そこに議論が噛み合わない原因があるんだと漠然と考えるようになりました。

そんなある日に

つまり、Perl屋さんはWEBが「世界」だと思っていて、PHPRubyは視野に入っているが、SIerの世界が見えてない。Java屋さんは、SIの案件が標準的な案件と思っていて、WEBは例外だと考える。つまり、お互いが自分独自のバカ世界地図を見ながら、話をしている状況なのである。そのくせ、「ノルウェー」とか「ブラジル」とか表面的に共通する語彙はたくさんあるから、よけい話が混乱する。

と、この essa さんの記事とかを読んでて「ああ essa さんはこういうのを言語化するのがうまいなあ」と思いながら、漠然と考えていたことが頭のなかではっきり認識できました。

そういえば今日も今日で essa さんは似たような話を冷静に分析していた。

だから、「事前の負荷限界」がある世界とそうでない世界には、それぞれ違う種類の高度な技術があるということだと思います。

それでまあ、このウェブ屋さとんSI屋さんの文化の違いみたいなのは、かなり溝が深い。また文化的に溝が深いだけじゃなく、産業構造にも大きな違いがある。

これはWeb2.0というより、1.0の人たちも含めてネット企業全般に言えることだ。ライブドア騒ぎのおかげで、「ネット企業」と言えば「アブク銭」「ヒルズ成金」みたいな扱われ方をされるようになってしまった。なぜそんなに手のひらを返すように変わるかといえば、味方が少ないからに違いない。なぜ味方が少ないかというと、一言で言えば、雇用への波及効果が低いからだ。

と、「ウェブは経済規模を拡大再生産しないから怪しいと思われる」みたいな話があって、なるほどと思ったんですよ。

でも日本のウェブ屋(ここでいうウェブ屋っていうのは、Yahoo! とか楽天とか、はてなのようなウェブサービス屋のこと) に対して、SI 屋さんってのは産業を作ってる感じがある。たくさんの企業を巻き込んで、大きなお金を動かして、詳しくはよくわからないけど、国を挙げて IT 革命だなんだっていう話もあったりとかそういうイメージがあります。そういうウェブ屋とは違うカテゴリの"ソフトウェア産業" (ここをひとくくりにするのもまた文化衝突を誘因しそうな気もするけど)は、その名の通り一つの大きな「産業」なんだなあと。

で、この両者の構図っていうのが、梅田さんのイベントで議論になった「ネットとマスメディア」にすごくよく似てるんですよね。文化の違いとか、産業構造のちがいとか。これが言いたいばっかりにだいぶ文字数使っちゃいましたが。

それで、そのソフトウェア業界における文化の違いはそう簡単には動かない、そういうのを感じる機会はすごく多い。アジャイルはすばらい、Rails を使えばあっというま、スクリプト言語オープンソースのデータベースでも何億のトラフィックはさばける...そういう話をしても、産業を作ってる人たちからは「それは分かってる。でもね。」っていう反応が返ってくる。SI 屋さんたちの中でも優秀な人たちは、ちゃんと Rails だなんだっていう新しい技術を理解している。でもそういう世界にすぐに移ってくるとかいうことは決してない。

最初はこの反応に対して何かやり切れないものを感じてたんですが、この産業構造の話とか、文化の違いとかそういうのを考えれば考えるほど、別のことをやってる人たちに対して自分の価値観を押しつけようとして、そんで自分が空回りしてるだけなんだなあと、そういう風に思うようになってきました。

なんで、このマスメディア vs インターネットの話も結構そんな感じで、たくさんの産業を巻き込んでるマスメディアってのは、いかにネットがすばらしいものだとしても、そう簡単には動かないし崩せない。崩せないどころか、二つの文化はまったく違った方向を指向していく。そしてその両者はなかなか理解しあえない。そういうのが当分続くんじゃないかなと、そういう風に思うんです。

とか長いこと書いてますが、

でもおれは「現実変わるのまだ時間かかりそう」ってのと「革命おこるぜ」っての、どちらか選ぶなら


既存メディアはネットによって再定義される、革命が起る
という根拠の無いビジョンを信じるな。
だっておれ梅田さんより18年分も若いんだもの。見える未来が違わなきゃ、若いのと遊んでくれようとしてる梅田さんに逆に失礼だ。

という一文を読んで、はっとした。確かにそういう風になっていくのが現実かもしれないけど、そうじゃない可能性を切り開くのが自分たちの役目だなあと。だから、僕らは見慣れない場所に恐れずに踏み込んでいかなきゃいけないなと、心を引き締めるのであります。

ウェブ進化論 本当の大変化はこれから始まる (ちくま新書)

ウェブ進化論 本当の大変化はこれから始まる (ちくま新書)

最後に、essa さんはサイトの似顔絵とむちゃくちゃ似てた。

しゃちょう

livedoor knowledgeのような、人に尋ねるタイプのサイトって他にもあるのでしょうか?

相変わらずうちの社長はいたずらが好きだ。いたずら好きなくせに自分はいじられても全然なんとも思わないタチなんで、最強だよな。ちょっといじられただけで夜も寝れなくなる僕とは器が違うよ。

id:jkondo には是非インターネットで革命を起こしてしてから死んで欲しいです。

サーバーを増やせばいいんじゃない、サーバーを増やすだけで解決できるように努力するのだ

ライブドアの技術の話について書いた、その記事のコメント欄。最初は感情的な批判などがあって話題とは別の方向で炎上し気味だったんでうーんと思ってたんですが、後半になってきて少し面白い議論が出てきました。

こんな反応があった。

アクセス数が増加している段階で、ApachやAppServerのスレッド数をいじろうが、ヒープサイズを増やそうが、DBのパラメータをいじろうが、はてまたアプリを書き直そうが、性能要求にミートするには相当のワークが発生しますし、どう最適化、チューニングしても追いつきません。そのようなチューニングにお金をかけるならサーバーを追加したほうが安く上がるのではないかと思うのですが、如何でしょう?

それに対する僕の返信は、

確かに何千万もするファイルサーバーとか、ロードバランサーとかで問題が解決できる機会っていうのは存在すると思います。なので ”負荷が高ければ、結局サーバーを単純に増やすしかないのではないか?” という点がびったりはまる局面も確かにあります。

でも、実際にはサーバーを増やせば解決できる、というケースは希で、むしろそういうケースは幸運な方です。「サーバーを追加すればいいていうのもなんというか幸せな誤解だなあ」というのはそういう局面を経験している人の一言じゃないかなと思います。

サーバーを追加するだけではどうにもならない、ではどうするか、というのを具体的に経験として語っている良い資料に以下の物があります。

LiveJournal という巨大なシステムを運用する中で、サーバー群がどのように成長していって、どういう局面でどういう技術が必要だったかが詳細に記されています。はてなライブドアなんかはこの LiveJournal がやってる取り組みと非常によく似ていて、そこにはそれなりの技術が必要という風に認識しています。

という主張なのだけど、「でも、実際にはサーバーを増やせば解決できる、というケースは希で、むしろそういうケースは幸運な方です。」という所をどうしたらうまく説明できるかな、と考えました。

それで思ったのが、実際の運用の中ではサーバーを増やすことで問題を解決するのではなく、"いかに「サーバーを増やすだけで問題を解決できる」状況を作るか" という所に労力を使うのだ、ということを理解してもらえばいいのかなということ。

サーバーを増やすだけで問題が解決できる状況を作ることができたら、安価なハードウェアや優れた無料のオープンソースソフトウェアがあるので、それを追加すればいい。そういう目標で運用するのがチープレボリューションが起こった今、僕らがやっていること。さらに追加するのにもより少ない台数であったほうが、コスト的にも故障発生確率的にも、幸せであると。そのためにマシン一台あたりで処理できる限界を引き上げることにも労力を使う。

実際にはウェブサーバーは比較的楽に水平展開できるのでそれほど問題にはなりません。問題はデータベースで、ここをどうやってマシンの追加だけでリソースを拡大できるか、というところにみんな頭を使っています。OracleRAC なんかはマシンを追加するだけでリソースが追加できるということをウリにしていますが、この技術に需要があるのは、そんな背景があるからじゃないかなと思います。

プロジェクトが火の車っていうときに、じゃあ人を足せば問題が解決できるかといったらんなこたない、(むしろ人が少ない方が余計な干渉がなくてやりやすかったりする)、人を増やすだけで問題が解決できるような体制をしくことこそが管理術です。人を増やせば解決する、と思考が止まってしまう、つまりは人が足りないといって言い訳してしまうことを、僕は最近「人が足りない症候群」と呼んでいます。

サーバーの増設の話は、そのプロジェクトが火の車の比喩とよく似ています。悲鳴をあげているサーバーの代理人としてキャッシュの仕組みを導入したりですとか。なので、サーバーを増やせば...というのは「サーバーが足りない症候群」と言うこともできるかなと、そんなことを思いました。

追記

ブックマークのコメント欄でこういうコメントをいただいた。

2006年02月09日 kusigahama 『このことを多くの人が納得する→Googleの株価が上がる?』

これはとても良い指摘だと思います。(株価が上がるかどうかは別として(笑))

Google の技術がなぜすごいか、というのはこの記事の話とすごく関係しています。安価なハードウェアを大量に使って世界中からのアクセスにも動じないシステムが構築できている裏には、サーバーを追加するだけで問題を解決できる技術を確立することができたからで、世界中で Google 以外にそれを成し遂げた企業がほとんどないことから、それがいかに難しいことかがよくわかると思います。

Google のサーバーがどんなものかというのは、拙文ですが、以下の記事を参考にしていただければと思います。

このサーバーはかなり昔のものなので、今は全然違うものになっているでしょう。

この記事のスライドの中で、ちょっとだけその姿を垣間見ることができます。