今どきのスタートアップが技術ブログを始めるためのソリューション選び

プロダクトマネージャーのおおかです。
Forkwell では最近、開発チームのメンバーが2人ほど増えたのですが、それを機にウチでもようやく技術ブログを始めようかという話になりました。

しかし実際にとりかかってハタと困りました。エンジニアドリブンの今どきのスタートアップ(ウチが厳密な意味でそうかどうかはこの際さておき)が技術ブログを始めるにあたり、2014年8月現在でどんなソリューションを使うのが正解なのでしょうか。いちおうウチは ITエンジニアをターゲットにしたサービスを運営している会社なので、ヘタなものを使うと技術力を疑われたり、セキュリティがなっていないとお叱りを受けたりする恐れがあります。

手っ取り早いのは出来合いのブログサービスを使うこと。「はてなブログ」ではクックパッドや pixiv、gumi といったそうそうたるメンツの会社が技術ブログを運営しているそうです。
ならばウチも「はてなブログ」でよさそうなものなんですが、マイナーな会社だからこそ自前運営にこだわりたい。そんなある種の意地があえて困難な道を選ばせました。

ならばサーバーを借りるなり PaaS に展開するなりしてブログを自前で運営するとして、どんなブログエンジンを使うべきでしょうか。現在、世界で一番使われているブログエンジンは WordPress ですが、あえて自前運営しようというのにここで安易な道を選ぶという手はありません。(まあ私が「WordPress にしよう!」と言ったところで、チーム全員から猛反対に合うでしょうし)

ForkwellForkwell Jobs も Ruby で開発されているので、Ruby製のブログエンジンを使うのが筋でしょうか。

Ruby製のブログエンジンと言えば老舗中の老舗「Typo」。2005年にリリースされて最近「Publify」と名前を変え、今だに開発が続けられているという息の長いプロダクト。しかしもう10年にも及ぼうかという歴史を誇っているのに、これまで一向にブレイクの兆しすらありません。テーマも数えるほどしかなく、どれも今となってはデザインが古くさい。

というわけで Publify(Typo)は脱落。
次に思いつくのが国産のブログエンジンである「Lokka」。実は Forkwell の公式ブログである「表参道フォークウヱル別館」は Lokka と Heroku で運営されています。

しかし作者の komagataさんが開発に飽きたのか、最後の正式版であるバージョン0.5.0が2011年にリリースされたのを最後に音沙汰がありません。というわけで Lokka も脱落。

ではここ1〜2年でエンジニアの間で静かに流行っているっぽい OctopressJekyll)や Middleman でブログを書くのはどうか。しかし、あれ系のローカル環境で Markdown で静的ファイルを書いてコンパイル、本番環境に Push して記事をアップするというツールによるブログは、一時期「始めました」「乗り換えました」というエントリーをよく見かけたものですが、今に至るまでちゃんと更新されて続いているブログがどれだけあるのでしょうか。

「エンジニアにとってはこっちのほうが簡単」みたいに言っている人がいましたが、記事を書こうとするたびにまずローカル環境でサーバーを起動、エディターでしこしこ書きながらブラウザを逐一リロードして確認、完成したら Git で Push とか死ぬほど面倒じゃないですか。しかも多人数で運営する場合は、最初に Pull して環境を最新版にするという手続きが加わります。

始めた当初はテンションが高いのでそれでもやるかもしれませんが、怠惰なことに死ぬほど自覚のある私は確信を持って長く続かないと断言できます。程度の差こそあれ、ウチの他のメンバーも同じではないかと。

Qiita が流行りだして技術ブログを書く人が減った理由もそこでしょう。Markdown でプレビューしながらサッと書けて、そのまますぐに公開できる。それと比べると Octopress でブログを書くのは「よっこらしょ」という感じで腰が重くなりそう。めんどくさいことは誰でも嫌いだし、よほどの固い意志かモチベを上げてくれるご褒美でもないと、長くは続きません。

Qiita の話が出ましたが、ならあれと同じくらい手軽に書けるものがあればそれが一番いいはずです。そして探してみたらありました、そんなブログエンジンが。

その名も「Ghost」。今話題のクラウドファンディング Kickstarter で「WordPress はブログには大げさすぎる。もっとブログを書くことが楽しくなるようなシンプルなツールを作りたい」と20万ドル(=約2,000万円)近くを集めたというプロダクト。

Qiita に似ているというのはその入力インターフェースで、画面が縦に2分割されていて左に Markdown のテキストフォーム、右にプレビュー画面というもの。

ちなみに Qiita だとプレビューに多少のタイムラグがあって、それがストレスになったりしますが、Ghost のプレビュー画面はほとんどラグなく即座に反映されて快適です。(ただしこれにまつわる部分がある問題を引き起こしているのですが、それはまた次回以降)

画像もドラッグアンドドロップでアップロード。テーマの開発も活発なようで、マーケットプレイスでは有料無料含めてスタイリッシュなデザインのテーマが160種類以上掲載されています。

Ruby製ではありませんが、Node.js と Express(Ruby では Sinatra にあたるシンプルな Webフレームワーク)で作られており、JavaScript さえわかれば簡単なカスタマイズは問題なし。テンプレートの記述は「Handlebars」という ERB ライクな言語を使います。

Node.js なので、他の Ruby や PHP のフレームワーク製のブログエンジンよりパフォーマンスは数倍よさそう。(このへんとかこのへん参考)
VPS やクラウドで運用する場合はコストを抑えるために一番安いプランで最低限のスペックのサーバーに載せることが多いので、これは大きなメリット。

Ghost で会社の技術ブログを書けばモヒカンの方々から後ろ指をさされて笑われることもなく、作業がめんどくさくてメンバーが誰も更新してくれなくなる事態も回避できるに違いありません。

では Ghost をどんなプラットフォームで運用するのがいいかという話は、次回に続きます。