Two things can take the data away from Kladde.Verlauf, and they need different remedies. An outage (a zone, a region) takes away reachability; replicas help against that. A mistake (an office deletes appointments, a program writes wrong values) takes away the data itself, and a replica passes the mistake on immediately; only a backup helps against that. This lesson separates the two and decides what the Kladde needs.
Prior knowledge. The five consistency levels are in "K3, Lesson 3.6.4", their guarantees in "K4, Lesson 4.11.4"; backup and restore of Azure SQL in "K3, Lesson 3.6.5". The client's preferred regions are in Lesson 1.2, the maximum per container (F-05) in Lesson 1.1.
What was run. A C# program (Microsoft.Azure.Cosmos 3.64.0, Newtonsoft.Json 13.0.4, Azure.Identity 1.21.0) creates the client with two regions and works through the cases; the Bicep file was compiled with az bicep build. Not run against Azure is everything that needs an account: provisioning, failover, restore. Figures for peaks and offices are assumptions of the task.
Decision: the second region
Lesson 1.2 left the second region open. This lesson supplements F-01; it changes no fact: the production account gets northeurope (Ireland) as its second region next to germanywestcentral (Frankfurt). The reasons, read from Learn:
- According to Learn's region list, both regions have three availability zones; zone redundancy is set per region, and a region without zones does not prevent it in the other.
- Both are in the EU. The paired region of the primary region (
germanynorth, Berlin) is, according to the list, one with restricted access that you would have to request; for Cosmos DB, though, pairing does not count anyway, because according to Learn any Azure region can be a read region. - The Kladde has users in Germany; the second region serves the outage, not proximity. Poland or France would follow the same logic and be just as well justified.
Open: whether Cosmos DB in northeurope offers all the features used on the day of provisioning (Learn's products-by-region overview was not read), and the distance, which Learn does not give. In addition: serverless accounts run only in one region, according to Learn. The development account from F-05 stays single-region; the second region belongs to the production assumption with autoscale.