suzuderu

個人開発で使う外部サービスの「止まったとき」を先に書いておく

小さなアプリでも、外部のサービスを数本は使います。配信、認証、メール、画像の変換。止まったときに初めて「どうするか」を考え始めると、その日は何も進みません。止まる前に一行だけ決めておくと、その日の判断が要らなくなります。

使っている外部サービスを先に数える

設定ファイルと環境変数を開いて、外に出ている先を全部書き出します。無料枠で使っているもの、試したまま残っているものも含めます。数えてみると、自分が思っていたより多いことがあります。

1本ごとに「止まったら何が見えなくなるか」を書く

画面が真っ白になるのか、一部が空になるのか、保存だけができなくなるのか。利用者から見た症状を一行で書きます。ここを書いておくと、障害の報告を受けたときにどこから疑うかがすぐ決まります。

退路は「代替」「待つ」「止める」の3択から選ぶ

全部に代替を用意する必要はありません。代わりのサービスに切り替える、復旧を待つ、その機能だけ止める。どれにするかを先に選んで書いておきます。「待つ」と決めたものは、待つと決めた記録が残るだけで十分です。

切り替えに必要な手数を数える

代替を選んだ場合は、切り替えに何手かかるかを書きます。設定を1行変えるだけなのか、作り直しが必要なのか。手数が多いものは、実際には切り替えられません。その場合は「待つ」に直しておくほうが正直です。

無料枠の上限も同じ表に入れる

止まる理由は障害だけではありません。上限に当たって止まるものは、いつ上限が戻るのかを書き添えます。月初に戻るのか、24時間で戻るのか。この一行が分かれば慌てずに済みます。

半年に一度だけ読み返す

毎月見直す必要はありません。サービスを増やしたときと、半年に一度だけ読み返します。使っていないものが残っていれば、その行を消すのが一番の対処です。

小さく作って動かし続ける工程については Burning Tribe で書いています。退路のメモは、障害の日ではなく静かな日に書いておくものです。