Kiln

何が変わるのか

速くなるのは公開作業です。更新のたびに全ページを作り直す構造をやめると、待ち時間と障害の両方が消えます。

Movable Type のサイトでは、記事を書く時間よりも公開にかかる時間のほうが長くなりがちです。Kiln に載せ替えると、そこが変わります。見た目と URL は変わりません。

更新のたびに全部作り直す構造をやめる

Movable Type は記事を1本直すと、その記事が載っているページをまとめて作り直します。記事数とカテゴリ数が増えるほど対象が増え、やがて「夕方の更新は再構築が終わるまで待つ」「数千記事あるので夜間に回す」という運用になります。更新が止まるのは、担当者が遅いからではなく構造がそうなっているからです。

Kiln はページを作るたびに「このページはどの記事とどの一覧を使ったか」を記録します。次の公開では、変更がその記録に引っかかるページだけを作り直します。記事1本の修正で動くのは、その記事のページと、それが載っている一覧と月別アーカイブだけです。

短縮される時間は【未実測】です。筆者はまだ実サイトで計っていないので、「何分が何秒になる」と書けません。分かっているのは作り直す対象の数で、記事数千本のサイトで記事1本を直したとき、MT が数百ページを作り直す場面で Kiln は数ページで済みます。

作り直す対象を絞ると、古いページが残る事故が起こりがちです。そこは機械検査で潰してあります。どんな編集をどの順で行っても「必要な分だけ作り直した結果」が「全部作り直した結果」と1文字も違わないことを、7500通りの編集の組み合わせで確かめています。

サーバーが要らなくなる

公開されるのは HTML ファイルだけです。Perl も、記事を読み出すデータベースも、Web サーバー上では動きません。

判断軸Movable Type の構成Kiln の構成
Web サーバーに必要なものPerl、CGI、データベース接続HTML ファイルを置ける場所だけ
月額の目安VPS や共用サーバーの費用静的ホスティングの無料枠で収まる規模が多い
アクセス集中時CGI とデータベースが先に詰まるファイルを配るだけなので、CDN(配信を分散する仕組み)がそのまま効く
攻撃を受ける面管理画面とコメント投稿口が公開されている公開側に動くプログラムが無い
記事を書く場所公開サーバーの管理画面編集担当者の PC、または社内サーバー1台

記事を書く環境に何が必要かは、人数によって変わります。1人か2人なら PC だけで足りる話で、費用・体制・向き不向きに分けて書きました。

管理画面を公開サーバーから外せることは、見落とされがちですが効きます。MT の脆弱性で緊急対応に追われた経験があるなら、公開側に管理画面が無い構成の意味はすぐ分かるはずです。

テンプレートの変更は、なぜ怖いのか

MT のテンプレートはデータベースの中にあります。だから誰がいつ何を直したか追えず、間違えたときに戻す手段が「前の内容を覚えている人」しかありません。制作会社に出した変更が意図と違っていても、差分を見て指摘する手段がありません。

Kiln ではテンプレートはファイルです。移行した時点で Git の管理下に入り、変更履歴、レビュー、巻き戻しがそのまま使えます。制作会社とのやり取りも「この差分でお願いします」で済みます。

日本語の管理画面が付いている

記事一覧、本番と同じテンプレートで描かれるプレビュー、カテゴリとタグ、画像のアップロード、変更履歴、サイト設定、そして「どのファイルがなぜ公開されたか」を見せる公開ボタン。ここまでが日本語で動きます。MT に対応する言葉があるもの(アイテム、サインイン)はその言葉を使っています。

Kiln が引き取る対象の MT サイトは、その多くが日本語で運用されています。英語だけの管理画面を編集担当者に渡して「慣れてください」と言う移行は、現場で止まります。

Kiln が変えないもの

Kiln は記事の書き方も、情報設計も、サイトの見た目も変えません。変えるのは公開の仕組みだけです。だからリニューアルとは切り離し、その前か後に行う作業だと筆者は考えています。

次に確かめるべきは「本当に見た目と URL が変わらないのか」でしょう。その根拠は変わらないと言える根拠にまとめました。