Erlang に興味ある方が増えている気がするので、Erlang-users.jp に記事を追加してみようかな

と言う事を、病の床*1で考えたので、整理のため、ここに内容を記載します。

熱のおかげでコードを書けず、本も読めずで、それくらいしかする事が無かったのです。

Erlang-users.jp 上で書きたい記事

Web サービス開発で利用すると便利な Erlang VM 上で動作するミドルウェアのコードリーディング記事を、少しづつゆっくり書き足して行きたいと考えています。
具体的には、KaiScalarisCouchDBRabbitMQYawsEjabberd などを対象としています。
個人的な優先順位で行くと、Kai、RabbitMQ、CouchDB、あと適当・・・でしょうか。

ありがたい事に Erlang-users.jp のコミット権を頂いているのですが、記事の誤りを指摘してもらいやすいよう、まずはこの日記に書いて行こうと思います。三日坊主*2になったらごめんなさい。

何故、それらの記事を書きたいのか

私が Erlang を学び始めたのは、Erlang が持つ利点*3が、現在勤める会社で提供するサービスに役立つだろうという実務目的があった為です。多分、Erlang に興味を持つ多くの方々も、私と似た理由で学び始めているのではないでしょうか?
そして、その利点の体現が Erlang VM 上で動作する各ミドルウェアであるならば、それらのコードリーディング記事が、Erlang の考え方を理解する助けになるのではないかと考えています。

個人的な理由

仕事で Kai、Yaws を運用する自信はあるのですが、RabbitMQ などは運用する自信がありません。でも使いたいのです。
ただ・・・正直な所、RabbitMQ なんて、どこからコード読めば良いのでしょうか?(w;
とは言いつつも、仕組みを調べ、実際に動かして試行錯誤し、監視項目などを考えないと怖いので、記事を書く過程で運用できるほど精通できたらと考えています。

蛇足

Web サービス開発の現場で、Kai を使うべき箇所に Memcached が選択されていたり、RabbitMQ を使うべき箇所に MySQL をベースとしたアレコレが選択されている現状があるのではないかと妄想*4しています。
例えば、似たような機能を提供する Kai と Memcached ですが、それぞれの利点から得意とする領域が異なるので、適材適所で使い分けできると良いだろうと考えています。

ただ、Kai や RabbitMQ を現場で運用するには、Erlang VM の理解が必要であるため、コードリーディング記事だけでは足りないのだろうなぁと認識しています。

*1:ただの、おたふく風邪

*2:RabbitMQ の前半で挫折予定

*3:分散、並列が得意、障害耐性があるなど

*4:少なくとも私が知る幾つかの現場では、この傾向が強い