大規模webシステムは大規模アプリでは無い(1)

id:yaneurao:20060708のコメント欄で


# yamaz 『LLじゃない言語だったら大規模な開発が破綻なくできると言うことなんでしょうか?』

という質問をいただいた。上記の質問は、私がそのエントリの本文に「LLで中規模以上の商用Webアプリの開発って出来るのだろうか?保守性ってどうなんだろう?」と書いたので、それに呼応するものでごく自然な質問なのだけど、これに答えるのは非常に難しい。


一般的にソフトウェアが中規模以上になってくるとLLでは保守性が問題になってくるので私はそのへんを心配しただけで「LLじゃない言語だったら大規模な開発が破綻なくできる」かどうかというと、そこは開発者の能力もあるし、議論しておくべき問題が山積している。


Building Scalable Web Sites: Building, Scaling, and Optimizing the Next Generation of Web Applications

まず、「大規模Webシステム」と呼ぶ場合、必ずしもシステム自体のコード量が多いことを意味しない。例えば、mixiは利用者数が500万にものぼるが、提供しているサービスの複雑さだけで言えば、はてなの提供する種種のサービスのほうが上だろう。場合によっては、会員数1000人規模のオンラインショッピングのサイトのほうがmixiより手が込んでいる。にも関わらず、間違いなくmixiは「大規模Webシステム」に分類される。


それは、500万人が利用するWebサイトのスケーラビリティを確保するのがどれだけ骨が折れる作業かをWebシステム開発者ならば誰でも知っていて、その骨の“折れ具合”からして、mixiは「大規模Webシステム」に属すると判断するのが妥当だからだ。(つづく)