はてな監視機能

はてながこなすべき(とユーザーに期待されている)業務は大きく分けて

  1. 新機能の開発
    1. 新たなサーヴィス立ち上げ
    2. 既存サーヴィスへの機能追加
  2. サーヴィス品質の維持
    1. 障害復旧
    2. 不具合改善

(その他に広報業務などもあるが割愛)
となる。
はてなは傍目に見て明らかな程、1に力を入れている。この部分は加点評価で、力を入れれば入れただけ評価が上がると期待できるし、それによりユーザー数が増えてサーヴィス規模が拡大するから*1だ。
しかし、加点評価ということは、逆に言えば何もしなくても評価を今以上に下げることはない。つまりここは本来、余裕のあるときにやればいい領域と言える。
対して2は減点評価で、しかも時間と共に減点幅が増加する。常に対処を続けないと、あっと言う間にマイナスに転じる。
今のところ、ほとんどのサーヴィスでは迅速な復旧が行なわれているため全体としては大幅な減点には至っていないが、それでもアンテナのように比較的復旧の遅いサーヴィスが現れているし、不具合改善については以前から不満が出ている。
どうしたら、2の品質を上げることができるだろうか。

2-1については迅速な障害発見を行うチェック機能があれば事足りる。それが問題ではあって、技術的にどのような解決策があるのかよく知らないながら素人の思い付きを列挙してみると、

  1. サーバー監視ツールでフリーズなどをチェック(多分もうやってる)
  2. データベースの異常を監視(これも多分やってる)
  3. 定期的な動作チェック
    • A及びRについては例えば1分ごとに自動更新するチェック用URLを用意しておいて、更新が正常に反映されているかどうか
    • それ以外については多分サーバ異常かデータベース障害以外の障害はないと思う*2ので省く
  4. 異常通報手段
    • 500エラーその他のエラー画面*3に障害通報ボタンを付けてユーザーがはてなに通知できるようにする。具体的な内容は不要
    • 念のためはてなグループあたりにも各サーヴィスへの通報機能を実装
      • はてなの各サーヴィスに関する発表や障害報告をはてなグループで一括している旨広く通知する。多分大多数のユーザーは認識していないと思われるので

こんなものでどうだろう。


2-2については機を改めて。

*1:本当は、多分もっと単純に中の人がそうしたいと思っているからだろうが

*2:新機能のテストはまた別にして

*3:404は.htaccessで変更可能だけど500はどうだったか