はてな、イー・マーキュリー共同勉強会を聴きました

最近非常に忙しいですが、興味深い情報が入ったので日記を更新。

はてな技術勉強会の前回はid:naoyaさんがJavaScript Programming 2.0と題して発表されましたが、それに引き続き9月21日にSNSmixiを運営する会社と共同勉強会が開催されました

DBマガジン2005年4月号で「「はてな」のDB運用の裏側すべて見せます!」の記事を前に読んでいたので、最初は期待していませんでした。が、しかし、じっくりPowerPointを見つつ音声ファイルを聴いていると、非常に興味深い内容が沢山盛り込まれていることがわかりました。LAMPなシステム構成で大規模システムを運用するということに興味がある方は必見ですね。

興味深かったネタを列挙します。

Hatenaサーバーと命名規則

  • Hatenaサーバは現在170台。半分はMySQLのDBサーバ。PowerPointには「5台/月増」と書いてありますが、実際には「10台/月増」らしいです。このままのスピードでサーバ数が増えていったら、はてなはサービスを続けていけるのか?とちょっと心配に。「イー・マーキュリー音声ファイル」の方で、mixiにおけるサーバの台数の話題(30:00)で話が盛り上がります。

(30:24) naoya:
「うちも把握しきれなくなっちゃって。それがね〜、あの〜後先考えずに峠の名前とかでつけちゃったんですよ。だからねー何とかが落ちたとか言われても、何のこと言ってるのかかわからない」[...]

naoya:「命名規則何かつければ良かったのに、何も考えずにつけてきてしまって。」


mixi側:
うちは島の名前ですね〜。(爆笑) 一緒じゃねぇか。
日本の島じゃないからわかんないんです。
最初はインドネシアの島だけしか,,,
最近は本州とか[...]


(32:05) naoya:
「最近はホスト名じゃなくて無くてIPで覚えてる。用途が変わると大変なんですよね。128でこう頭に刻み込まれていたあの用途っていうのが、全然別のとこにいっちゃうともう管理しきれなくなっちゃう。自分の頭の中にMySQLがほしくなる。
...
あ、寒かった?

id:naoyaさんは、もっとみんなに笑ってもらいたい様子でした。(笑

Hatena Framework

11:18からHatena Frameworkの説明がはじまります。EngineとFunctionの説明が興味深いですね。id:naoyaさんも結構よくできていると言われているこのMVCフレームワークid:jkondoさんが、はてながはじまって1年目に作られたようです。4年たった今もあまり進化していたい様子。ModelとControllerを提供する変なフレームワークらしいです。

URIを見ただけで、どこにその処理が書かれているのかがわかるような組み方になっているようで、複数人での開発を考慮されている模様。これって本当に大切だと思いました。コードの修正時に、どこをいじれば良いのかすぐにわかるのは強いですね。

XML関連処理

半年前はXMLモジュールは使わずに正規表現を使ってXMLデータのパースをしていたそうですが、最近はXML::RSS::LibXMLを使っているらしいです。正規表現でパースはやっぱりしんどいですしね。

コミュニティーへの還元

少しづつ還元されている様子。今度はid:jkondoさんが、はてな記法のモジュールを公開されるようです。id:jkondoさんが作れれた初のCPANモジュールHTML::MobileConverterは、すでに知っていましたが。どんなコードになるのか楽しみ。

ソフトウェア更新

22:51からはてな自慢のソフトウェア更新システムのお話がはじまります。かなり面白いカラクリでやっておられるので感動。凄い便利な反面、バグがあっても全部勝手にサーバにアップデートされるのが難。今までに何回か、はてなダイアリーのトップページをInternal Server Errorにしてしまったとのこと。

障害対応

Single Point of Failureなシステム構成になっている箇所多数。mixiとは対照的。障害があるのはしょうがないとの割り切り。障害があった時にいかに早くリカバリするかどうかが重要。結構思い切ったやり方ですね。


これからもはてな技術勉強会に期待大ですね。楽しみ。