cloudpack新人のAkira Tsumuraです。
技術支援チームというところで、王子の右側をやっています。

東京タワーの観えるオフィスが快適すぎて、もう涙チョチョ切れております…

さて、この会社にはブログ制度(?)があり、色々面白そうなので参戦しようと思います。

WordPressとか、もう古い。

いきなり刺されそうな事を書いていますが、この会社の方のBlogを読んでいると、WordPressの他Qiitaやgithubでコンテンツを公開されている方が多いように見受けられます。
おそらく、身近で使いやすいものを無意識に使ってしまったのかな…と思っています。
ただ、本当にそのツールで良いのでしょうか。ハックの結果ではなく、エンジニアとしてある種の思考停止に陥っていないでしょうか。

時代はコンテンツマネジメント“フレームワーク”

さて、僕は2008年からMODXというLAMP CMSのコミュニティ活動をしています。
MODXは一般的なウェブCMSとしての側面と、もう1つ、「コンテンツマネジメントフレームワーク(CMF)」という側面を持ち合わせます。

ウェブサービスを構築する際、GUI付きのフレームワークとしてMODXを使用する事により、「ディレクター(ライター)」「コーダー」「プログラマー」の分業をとても容易にしてくれます。
例えば、MODXの場合、事前に変数名を決めておくことで、コーダーは変数を事前に埋め込むだけ、プログラマーは返り値が変数としてHTMLに渡される事を意識するだけで、容易に分業をする事が可能です。
これにより、従来コーダーにとってネックであった、SmatyやWordPressテーマのように一種のプログラミングを覚える必要や、ディレクターがHTMLやPHPを覚える必要を大幅に軽減してくれます。

2004年9月頃、EtomiteというCMSから派生したのがMODXなのですが、Etomiteは元々、友人のサイト更新を容易にする為に開発した、という経緯があります。
その後、ある事情でEtomiteの開発はストップしますが、’MOD-1′, ‘MOD-2’…といった形で有志のコアハックが続けられ、なし崩し的に「MODx」という名前になった経緯がありますw
http://ja.wikipedia.org/wiki/MODX

AWSとMODXでブログを作ろう

結果として、このブログはAmazonWebServicesとMODX Evolutionのみで開発されています。
開発期間は、インフラ含め約3日。
デザインはオープンソースのデザインをカスタマイズしました。
t1.microインスタンス、db.t1.microインスタンスによりMODXを動作させ、エクスポートしたファイルをS3で静的配信を行っています。
MODX on Amazon EC2, S3, RDS

AWSとMODXが産んだ3つのメリット

これにより、3つのメリットが生まれました。
1つはMODXの静的書き出しと、S3による静的配信により、快適なレスポンスを維持しつつ運用コストを最低限に抑えられます。
このキレッキレのレスポンスは、EC2では得られないでしょう。
(もちろん、EC2でもやればできますよ。MODXならね!・転載先をご覧の方は元ブログを御覧ください。)

次に、MODXの特徴として低リソースの環境でも安定して動作する事から、t1.microインスタンスでも十分な編集環境を得ることができます。
尚、初期(PowerPC)のOpenBlockSや、初代Mac mini(PPC)等、極端な低リソースでも安定した動作実績があります。

最後に、MODXの簡単かつシンプルなリソース管理により、本来の「記事を書くこと」に特化したブログツールに容易にカスタマイズできます。
これにより、コードがスパゲッティになるリスクを減らしつつ、自分の使いやすいブログツールへ変化させる事が可能です。
具体的には、OGP対応やSyntaxHiright、このブログにあるようにタグの実装など、PHP+αのスキルで実装する事ができます。

尚、このブログは自腹運用ですw

おわりに

まだまだ実装したい所は多々ありますが、取り急ぎこのあたりでリリースしたいと思います。
実は、「はてなの50%ルール」はとても重要だと思っていて、プロトタイプのレベルでリリースしてしまうのはアリだと思っています。
特にウェブサービスやゲームは実質「仕様」が無い為、際限のない理想を追い求めてしまいます。
ですので、50%くらいの所で一旦リリースしてしまい、必要に応じて改修する、この仕組みはとても良いと思います。
「へんな会社」のつくり方-NT2X-近藤-淳也

元記事はこちらです。
ブログが無いから、ブログを自力で作ってみた。