デブサミ2009の感想

あんまり整理できてないけど、自分が感じたことをとりあえず二つに分けて書いてみる。

クラウド

クラウドについての理解は正直浅いし、今でも浅いと思っているけど、デブサミでいくつか話を聞いて思ったのは「クラウドはまだもうちょっといいや」ということ。

いいやといっているのは、今の普通のN-tierモデルに対するクラウドアーキテクチャのこと。簡単にスタートアップ/拡張できる的な意味はすぐにも必要と思う。でもそれはきっとクラウドじゃなくてもいいし、クラウドって言ったときはアーキテクチャの話なんだろうな。

既存モデルをスケールするためのボトルネックは、結局のところストレージ層。一貫性を取ろうとするから同期の負担が大きすぎる。その一貫性とかオーダリングとかをある程度あきらめてアプリケーションの負担を高めることで、クラウドではシステムをスケーラブルにするということの模様。

RDBMSが提供する一貫性とかデータモデルの柔軟さとかの意味の大きさはとても大きいと思っている自分としては、クラウド側の言っていることはちょっと一方的なような気がした。確かに今のモデルでは対応しきれない規模のトランザクション量のシステムはあるとは思うがその領域はとても狭い。今のRDBMSのロック単位がレコードなのをがんばってカラムレベルにしたり、トランザクション設計をきちんとやることでカバーできる範囲は広がる。なんでもクラウドに載せるんじゃなく、そっちがどう考えても優先度が高い。その意味でクラウドバズワード認定。

僕が聞いたクラウド関係のセッションがMicrosoftGoogleの中の人の話だったので、バイアスの掛かった話の可能性もあるけどね。超大規模な話が前提だったっぽいので。

ソフトウェア開発チームのアーキテクチャ

全体的に、「ビジネス価値のあるソフトウェアをどのようにつくるか」「そのためにチームのアーキテクチャはどうなっていればよいか」「特に顧客と作り手の関係」っていう感じの課題設定を感じた。初日の7コマ目パネルディスカッションもそうだし、角谷さんのコマもそれ。テストトラックだけど木下さんのコマもこれの流れのニュアンスがあった。

お二方ともグダグダとか不本意っぽいことをtwittされていたけど、この辺の問題は全く結論が出ていることではないし、みんなで考えていくべきことだからそんなにすっきりとまとまったセッションでなくて全然問題ないと思う。「参加者に何も伝えられないような〜はやるべきじゃない」って言われたことあるけど、少なくとも伝えるものは電波のような何かで十分だ。聴衆に意味があるのは整理されたメッセージだけじゃない。2日目の7コマ目も整理はされてなかったけど、意味は大きかった。

SIerの業態の問題じゃないかとか、契約の問題だとか、いろいろあった。何の結論も出てはいない。今のSIのやり方はビジネス価値のあるソフトウェアが作られるやり方じゃないということだけ。どういうやり方が良いのか、そういうやり方を実践するためにどうすればいいのか、大きな課題設定といくつかの解決事例があった。

あと、テスト。

いわゆる「テスト」じゃなくって、もっと大きな意味。単体テストとか、受け入れテストとかそういうくくりとも違う様な気がする。全く整理できてない。僕が。「テストトラック」が実はあんまりテストテストしてなかったし。だから、開発チームのアーキテクチャとプロセスの一つとしてテストの話は受け取った。その先まではまだ分かってないけど。

(モダンPerlのセッションすら、「テスト重要」「テストテストテスト」「テストのためにはPerlがいいよ!」という流れで驚いた)

考えるためのポインタをいっぱいもらった。関さん語録もそうだし、僕が仕事に行っていったい何ができるのか何を目指すのか。うーん。