Abschätzung der Einführung einer Ratenbegrenzung
So planen Sie die schrittweise Einführung einer Ratenbegrenzung: Schwellenwerte, Testphasen, Kundenkommunikation. Die Programmierung dauert einen halben Tag; die Festlegung von Grenzwerten, über die sich niemand beschwert, ist die eigentliche Arbeit.
Die Programmierung dauert einen halben Tag. Die Einführung dauert zwei Monate.
Ratenbegrenzungen lassen sich leicht implementieren, aber nur schwer einführen. Die Middleware ist ein bekanntes Muster. Die Schwierigkeit besteht darin, Schwellenwerte festzulegen, über die sich niemand beschwert, und die einzige Möglichkeit, diese zu ermitteln, besteht darin, die aktuelle Nutzung zu messen, die Begrenzungen im Voraus anzukündigen, während einer Testphase zu beobachten, wer tatsächlich blockiert worden wäre, die Schwellenwerte für diejenigen anzuheben, die lautstark protestieren, und erst dann die Begrenzungen durchzusetzen. Diese Abfolge ist der eigentliche Aufwand und passt nicht in einen Sprint.
Teams, die die Middleware einschätzen, übersehen die Einführung gänzlich. Teams, die die Einführung einschätzen, kommen auf eine deutlich höhere Zahl, hinterfragen, ob es tatsächlich dringend ist, und beschließen in der Regel, diese über mehrere Zyklen hinweg schrittweise umzusetzen – was die richtige Vorgehensweise ist. Die Einschätzung des gesamten Umfangs auf einmal zwingt das Team in eine falsche Entweder-oder-Situation.
Was in dem Raum gesagt wird
Backend: „Die Middleware ist eine Sache von einem Tag. Wir verfügen über eine Bibliothek.“
SRE: „Welche Schwellenwerte? Haben wir uns Seite 99 der aktuellen Nutzungsdaten angesehen?“
PM: „An wen müssen wir eine E-Mail senden, bevor das hier in Betrieb geht?“
Support: „Was besagt die Antwort 429? Gibt es eine Wiederholungsmöglichkeit?“
Leitartikel: „Zunächst ein Testbetrieb oder direkt zur Durchsetzung?“
Fragen, die man sich vor der Stimmabgabe stellen sollte
- Haben wir den Stromverbrauch pro Kunde bei p50, p95 und p99 gemessen?
- Welche Schwellenwerte wurden festgelegt, und wie wurden diese festgelegt?
- Pro Konto, pro IP-Adresse, pro API-Schlüssel? Kombinationen?
- Testphase: Wie lange dauert sie, und was gilt als „keine Überraschungen“?
- Kundenkommunikation: An wen senden wir E-Mails, und wie weit im Voraus?
- Wie sieht die 429-Antwort aus: Meldung, „Retry-After“-Angabe, Link zur Dokumentation?
- Wie sieht der Ausweichweg für einen Kunden aus, der ein höheres Limit benötigt?
Aufteilen: Die Durchsetzung ist eine Sache, Testläufe und Kommunikation eine andere, die Feinabstimmung der Schwellenwerte eine dritte. Jede dieser Komponenten ist für sich genommen umfangreich; das Gesamtpaket ist es jedoch nicht.
Passen Sie den Umfang der Einführung an, nicht die Middleware. Das Wichtigste ist, die Situation zu erfassen, bekannt zu geben und einen Probelauf durchzuführen.
Siehe Schätzung einer Feature-Flag-Einführung für dasselbe Muster, bei dem die Einführung den Arbeitsaufwand in Anspruch nimmt, sowie die weiteren Beispiele für gelungene Schätzungen. Starten Sie eine kostenlose Planning-Poker-Sitzung, sobald die Phasen benannt sind.