第31回: レート制限の高度化設計 — 全ユーザーに同じ制限をかけていませんか?
未認証のスクレイパーも、プレミアムプランのユーザーも、同じ制限値が適用されている——こうした設計は、正規ユーザーの体験を損ないながら悪意ある攻撃には十分機能しないことがあります。
Month
未認証のスクレイパーも、プレミアムプランのユーザーも、同じ制限値が適用されている——こうした設計は、正規ユーザーの体験を損ないながら悪意ある攻撃には十分機能しないことがあります。
パスワードの使い回しや情報流出は日常的に起きています。「パスワードを設定している」だけでは、現代の認証基準を満たしているとは言えません。
「とりあえず公開バケットにアップロード」——この判断が、後から情報漏えいのリスクを生む原因になります。
100万件のデータを処理するバッチが、90万件まで進んだところでメモリエラーで止まった——残り10万件のためにゼロから再実行するのは、時間もコストもかかります。
定期バッチが何らかの理由で二重起動された場合——同じデータが2回送信される、請求が重複する、集計値がずれる——こうした事故が起きた経験はありませんか?
新機能を本番に出した瞬間、全ユーザーに影響が広がる——問題が起きてからロールバックするには遅すぎます。
Sentry を導入したものの、通知が大量に飛んできて結局スルーしている——こういった状況になっていませんか?
本番障害の対応中、ログを grep で探し回っても欲しい情報が見つからない——そんな経験はありませんか?
開発中、意図しないクエリが走っている、ジョブがどこかで失敗している、例外が静かに飲み込まれている——こうした問題をログファイルを grep しながら追っていませんか?
ユーザーから「動作が重い」と報告を受けても、どのエンドポイントが、どのタイミングで、どれくらい遅いのか——数値で答えられない状況になっていませんか?