Zwei Dinge können Kladde.Verlauf die Daten nehmen, und sie brauchen verschiedene Mittel. Ein Ausfall (eine Zone, eine Region) nimmt die Erreichbarkeit; dagegen helfen Replikate. Ein Fehler (ein Büro löscht Termine, ein Programm schreibt falsche Werte) nimmt die Daten selbst, und ein Replikat gibt den Fehler sofort weiter; dagegen hilft nur eine Sicherung. Diese Lektion trennt beides und entscheidet, was die Kladde braucht.
Vorwissen. Die fünf Konsistenzstufen stehen in „K3, Lektion 3.6.4", ihre Zusagen in „K4, Lektion 4.11.4"; Sicherung und Wiederherstellung von Azure SQL in „K3, Lektion 3.6.5". Die bevorzugten Regionen des Clients stehen in Lektion 1.2, der Höchstwert je Container (F-05) in Lektion 1.1.
Was ausgeführt wurde. Ein C#-Programm (Microsoft.Azure.Cosmos 3.64.0, Newtonsoft.Json 13.0.4, Azure.Identity 1.21.0) erzeugt den Client mit zwei Regionen und rechnet die Fälle durch; die Bicep-Datei wurde mit az bicep build übersetzt. Nicht gegen Azure ausgeführt ist alles, was ein Konto braucht: Bereitstellung, Failover, Wiederherstellung. Zahlen zu Spitzen und Büros sind Annahmen der Aufgabe.
Entscheidung: die zweite Region
Lektion 1.2 hat die Zweitregion offen gelassen. Diese Lektion ergänzt F-01, sie ändert keine Tatsache: Das Produktivkonto bekommt neben germanywestcentral (Frankfurt) als zweite Region northeurope (Irland). Die Gründe, aus Learn gelesen:
- Beide Regionen haben laut Learns Regionsliste drei Verfügbarkeitszonen; Zonenredundanz stellt man je Region ein, und eine Region ohne Zonen verhindert sie in der anderen nicht.
- Beide liegen in der EU. Die gekoppelte Region der Hauptregion (
germanynorth, Berlin) ist laut Liste eine mit eingeschränktem Zugang, die man beantragen müsste; für Cosmos DB zählt die Kopplung aber ohnehin nicht, denn laut Learn kann jede Azure-Region Leseregion sein. - Die Kladde hat Nutzer in Deutschland; die zweite Region dient dem Ausfall, nicht der Nähe. Polen oder Frankreich folgten derselben Logik und wären ebenso gut begründbar.
Offen: ob Cosmos DB in northeurope zum Bereitstellungstag alle genutzten Funktionen anbietet (Learns Produkt-nach-Region-Übersicht wurde nicht gelesen), und die Entfernung, die Learn nicht nennt. Außerdem gilt: serverlose Konten laufen laut Learn nur in einer Region. Das Entwicklungskonto aus F-05 bleibt einregionig; die zweite Region gehört zur Produktivannahme mit Autoscale.