Enterprise Generative Search — Azure and Open Source · View 30 of 41 · Operations
Decisions
- The indexer writes both regions. Azure AI Search does not replicate an index across regions for us, so the secondary is built rather than copied — which also means the failover path is exercised continuously by normal ingestion.
- GPU pools are separated by purpose: always-on for online embedding and reranking, and preemptible spot for batch embedding. A reindex must never take capacity from the query path.
- Every data service is reachable only over a private endpoint, and the only inbound path to the platform is Front Door.
Numbers
- RTO 30 minutes and RPO 5 minutes, both applying to zone 3 data in view 17. Search comes back first, generative answers second.
- Three availability zones for application pods and all zone-redundant data services; a zone loss is a capacity event, not an outage.
- 12 GPU nodes steady state, of which 6 are spot and interruptible without user-visible effect.
Risks
- The warm secondary carries a standing cost for an event that may never happen. It was justified by the RTO, and the alternative — rebuild on demand, 14 hours — was rejected against it explicitly.
- A regional Azure OpenAI capacity event is not solved by our failover. The gateway holds deployments in two regions and will route across them, which is a mitigation rather than a guarantee.