仕組みから学ぶ Web

実践ケース

記事が 1 つの仕組みを説明するのに対し、ケースは複数の仕組みにまたがる判断の連鎖を追います。個々の仕組みを知っていることと、混ざった状況で順番を決められることは別だ、 というのがここの主題です。

応用読了目安 25 分#リリース#切り戻し#マイグレーション#障害対応

金曜のリリースを、切り戻せなかった夜

決済が通らない。切り戻したいが、DB のマイグレーションが先に走っている

応用読了目安 25 分#性能#N+1#インデックス#キャッシュ

検証環境では速い一覧が、本番でだけ 9 秒かかる

一覧ページが本番でだけ遅い。検証環境では 200ms、本番では 9 秒

発展読了目安 30 分#決済#冪等性#Webhook#リトライ

「二重に引き落とされた」— 通知は1通しか届いていない

決済が二重に走った。自社のログには1件しかなく、決済代行には2件ある

応用読了目安 25 分#キャッシュ#Service Worker#CDN#デプロイ

直したのに、一部の利用者にだけ古い画面が出続ける

修正を出したのに、一部の利用者だけ古い画面のまま。再現できない

応用読了目安 25 分#論理削除#バッチ#個人情報#退会

退会した人に、キャンペーンメールが届いた

退会済みの利用者にメールが届いた。退会処理にバグは見つからない

発展読了目安 30 分#環境分離#復旧#権限#取り返しのつかない操作

検証のつもりで、本番のデータを消していた

検証環境のつもりで実行した削除が、本番のデータを消していた

応用読了目安 25 分#検索#売上#計測#表記ゆれ

「検索しても出てこない」— 売上が落ちた理由が、半年分かりませんでした

売上が半年かけて落ちている。障害は起きていない。原因が分からない

発展読了目安 30 分#AI#LLM#個人情報#認可#インシデント対応

「AI に聞いたら、知らない人の住所が出てきた」— 誰も攻撃していない漏えい

顧客向けのサポート AI が、会話の相手ではない顧客の注文と住所を答えていた。SNS に画面の写真が出ている

発展読了目安 30 分#バッチ#決済#整合性#突き合わせ#インシデント対応

「今月、2 回引き落とされています」— 夜間の更新バッチを、朝に流し直した

夜間の月次更新バッチが途中で止まり、朝に流し直したら、二重課金と未課金の利用者が混ざって残った