「炎上」というキーワードでGoogle App Engineを語ってみた

自宅でサーバを動かしてそこでブログを書くことは、今はそう難しいことではない。ADSL回線にお古のパソコンでも、一日1000PVくらいは楽勝だ。ソフトのインストールの説明書も、初心者向けの丁寧なものがいくらでもある。

しかし自宅サーバでは、もしブログが炎上してしまった時には困るだろう。突然、大量のアクセスが殺到したら、生半可な知識ではさばけない。知識があっても、個人が買えるサーバや回線ではもたない。

炎上した時に想定外の大量アクセスに対応できないことは良いことかもしれない。友人数人に向けて書いていたブログが、思わぬ反響を呼んでしまった時などは、むしろ勝手にサーバが落ちて読めなくなってしまったほうがいいだろう。

逆に言うと、炎上した個人のブログが、何千人、何万人という人に読まれてしまうというのは、実はかなり不思議なことである。コンテンツは友人数人を対象として書かれているのに、システムはそうではないからだ。

ブログサービスは、たくさんの個人ブログを配信している。たくさんのブロガーが、一つのサービスに相乗りしていて、個々のブログは家族や友人数人しか読まなくても、そういうブログがたくさん集まって、全体としては毎日毎日大量のトラフィックをさばいている。

相乗りしているということは、ブログサービスの側が想定するフォーマットというのがあって、それに全員が合わせているのだが、そのフォーマットには汎用性があって、いろいろな用途で使える。用途が広いから、たくさんの人が同じ一つのサービスに乗っかることができて、それが結果として、システムの炎上耐性を生む。自宅サーバとの違いはそこである。

Google App Engineというものが技術者の間で騒がれている。

このリンク集を見ると、たくさんの記事が書かれていて、どれも興味深い。ただ、プログラマでないと意味が分からない記事がほとんどだと思うので、これを解説してみようと思った。

これまでのWEBアプリ、いや会社の業務システムも含めてほとんどのコンピュータアプリケーションは、自宅サーバ上のブログと同じレベルである。Google App Engineの出現は、そこからブログサービスへの移行と同じことになる。

つまり、アプリケーションが炎上しても大丈夫になるのだ。

小飼   最近ではネットイナゴ問題なんて言われてますけど、彼らは僕の言説や考えをネットに拡散してくれてるんですよね。僕のブログが花だとしたら、色んなところに花粉を持って行ってくれている。「ネットイナゴ」じゃなくて「ネットバチ」と言っても過言じゃないです(笑)

中島 僕のブログでも、あるエントリーが荒れて大量のトラフィックが流れてきたときに、タイミングを見計らって関係ある本の書評エントリーを張るんですよ。そうすると、その本が売れるんです。これもある意味ハチみたいなものですね。ブログの炎上も山師にかかれば宝の山です。

こんな話もあるが、炎上、つまり想定外の大量のトラフィックが集まることは、悪いことばかりではない。心の準備ができていれば、むしろそれは福音となる。

しかし、これまではコンテンツの方に準備があっても、システムが追いつかなかった。コンテンツが同じ一つのシステムに相乗りできるケースは稀で、ブログのように、多様な用途のコンテンツが一つのシステムに同居できる方が例外だったのだ。

だから、新しいアプリケーション、新しいサービスは、炎上すると苦労する。はてなtwittertumblrも、炎上というほど突然ではなくてもユーザが増えてくると、一時期、遅くなったり煩雑に止まったりする時期があった。これは自前でシステムを用意している限り避けられないことだった。

Google App Engineはある意味でブログと同じく、ユーザに特定のフォーマットを要求し、その形にユーザの要望が収まる限りにおいて、相乗りを許すものだ。しかし、ブログと同じくGoogle App Engineの要求するフォーマットも、汎用性が高く、たくさんの用途に使える。

しかも、Google App Engineでは、データを置くだけでなくプログラムも書ける。

世の中にあるプログラムのうち半分くらいは、Google App Engineの要求するフォーマットの範囲で書くことができて、Google App Engineに相乗りすることができると私は思う。相乗りしていれば、スケーラビリティが自動的に確保され、どんなに炎上しても大丈夫。

Google App Engineの中で、本質的に独自の技術と言えるのはデータベースだけだ。ここだけは既存の技術をそのまま移行することは無理だが、そこさえ突破できれば、ほとんどの実用的なアプリケーションが書けるだろう。

Google App Engineによって、「Webアプリケーション」の意味が変わる。 最初から稼働環境があるので、まるでブログを書くような気軽さで、プログラムを書く人が大量発生してくるのではないか。

私のこのエントリは、この一節にインスパイアされて書いているのだが、「大量発生」という、ぼうふらか何かの大量発生を連想させる表現が素晴しいと思った。

ただ私は、これを「Webアプリケーション」に限定する必要は無いと思う。意味が変わるのは、「Webアプリケーション」でなく「アプリケーション」全てだ。少なくとも業務アプリケーションの意味も大きく変わる。

会社の業務を遂行するシステムは、ある意味で会社そのものである。業務システムのスケーラビリティが会社のスケーラビリティを規定する。

中小企業が Google App Engine 上に自社のシステムを構築した場合、その会社は炎上可能な会社になる。その会社の持っているコンテンツにスケーラビリティがあれば、システムに足を引っぱられずに、そのコンテンツの伸びしろいっぱいまで炎上できる。

ブログ以前に、ブログのようなものを想像できた人はいなかった。ブログのようなシステムは思いつけてもブログのようなコンテンツは思いもしなかった。特に炎上という現象、究極の下剋上を予想できた人はいない。誰もが、コンテンツの方にスケーラビリティが無いものと決めてかかっていた。

だから今、中小企業のシステムが炎上耐性を持ったと言っても、そのインパクトをわかる人はいない。私も抽象的な思考の帰結としてこのエントリを書いているが、中小企業が中小企業である理由はシステムでなくコンテンツの方にあるように見えてしまう。

でも、私の経験は、「スケーラビリティのあるコンテンツは事前に想像することができない」と教えている。Google App Engineのもとで、ぼうふらのようにアプリケーションが大量発生して、会社(のようなもの)も大量発生して、そのうちいくつかは、我々が想像もできないような理由で炎上するのだろう。

会社が炎上するということはどういうことなのか、実際の所、それも想像できないのだが、世の中は、今見えている姿より本当はずっとダイナミックなものであるような気がする。運慶が仁王を掘り出すように、何か世界の中から本質的なものが掘り出されているように感じる。

一日一チベットリンクチベット式: i-morley×湯川れい子×アムネスティ(ダライ・ラマ・コネクション)

チベット弾圧で日本の文化人有志が声明の裏話なんだけど、物凄い勢いで話が脱線してとんでもない方に行ってまた戻ってくる所が面白いです。