ウェブメディア「moonlinx」を支えるオープンソースソフトウェア

原和久(moonlinx)
2009-04-13 14:20:01
  • このエントリーをはてなブックマークに追加

moonlinxを支えるオープンソースソフトウェア

 moonlinx(ムーンリンクス)は、クリエイターの底上げと、レーベルやエージェントとのビジネスマッチングを目指してスタートしたウェブメディアです。

 デザインや音楽などのクリエイターに特化したウェブマガジンと、メンバーシップセンターと呼ばれる会員制クリエイターバンクのふたつのサービスで構成されています。

 現在、主体となっているウェブマガジンでは、クリエイターやアーティストのインタビュー、先端的なカルチャー情報を掲載し、クリエイターが刺激を受けるような内容を目指しています。

 また、メンバーシップセンターは、クリエイター自身のプロモーションツールとして活用できるほか、moonlinxが展開するさまざまな企画やコンテストに参加してもらうことで、クリエイターの活動がビジネスに直結していく機会の提供を目標としています。

ウェブマガジン「moonlinx」 ウェブマガジン「moonlinx」
moonlinx メンバーシップセンター moonlinx メンバーシップセンター

 moonlinxでは、サービスのほとんどをオープンソースソフトウェア(OSS)で構築しています。その過程で、moonlinxでは従来にはないアプローチによる技術応用や、業務効率をあげるアイデアの一例なども独自のノウハウとして蓄積してきました。

 本連載「オープンソースソフトウェアでクリエイターを支援するmoonlinx」では、すでに一般的に有効とされているOSSの検証も交えながら、そういったノウハウも紹介していきたいと考えています。

 今回は初回ということで、moonlinxのシステム構成を紹介します。

moonlinxのシステム構成

 moonlinxではOSにopenSUSEを採用しています。openSUSEはKDEやCompizの美しい3D効果などで、デスクトップLinuxとして特にヨーロッパで人気が高いLinuxディストリビューションです。

 openSUSEはサーバ用途としても十分に活用できます。特にYaSTと呼ばれるSUSE独自のシステム管理ツールが非常に使いやすく、サーバセットアップなどが簡潔に実行できることが特徴です。

 また、完全互換ではありませんが、エンタープライズ製品としてSUSE Linux Enterprise Server(SLES)があり、乗り換え時にノウハウを流用できるのも魅力です。

 openSUSEを採用したもうひとつの理由として、クリエイティブなサイトを扱う以上、OSも洗練されたものを採用したいという、技術以外の理由もありました。

moonlinx システム構成(画像をクリックすると拡大します) moonlinx システム構成(画像をクリックすると拡大します)

 フロントのウェブサーバはApache2系で、mod_proxy_balancerを利用してロードバランシングし、冗長性を確保しています。Apacheの採用については、今までの運用経験やノウハウが多いことが一番の理由です。

 メンバーシップセンターはRuby on Railsを利用して開発しており、Apache+Passenger(mod_rails)上で動作させています。Railsの場合、MongrelとMongrelクラスターでの運用が主流かと思われますが、Passengerでも問題なく運用できています。

 DBはMySQLを利用しています。ごく一般的なレプリケーション構成ですが、参照系と更新系をアプリケーション側で振り分けて運用しています。

 ユーザーが投稿した画像や音楽、動画を格納するストレージには分散ファイルシステム「MogileFS」というOSSを利用しています。MogileFSを利用すると、Google File System(GFS)や、Amazon S3ライクな分散ファイルシステムを構築することができます。これによってスケーラビリティと高可用性を実現しています。moonlinxのシステムの中で最もクラウド化している部分であり、特徴的なもののひとつです。

 moonlinxで利用している「MogileFS」などのOSSは、別の回で詳しく説明する予定です。

 次回は現在採用しているOS「openSUSE」の活用事例を紹介します。特に「YaSTを利用したパッケージ管理やシステムセットアップの効率化」に焦点を当てたいと考えています。