Skip to content

Commit 8c01ec6

Browse files
Merge pull request #1118 from cdpark/refresh-oct-mattgott
Feature 322546: Q&M: Freshness - AI Services & Search 180d target - Oct sprint - mattgott
2 parents 3fad6d6 + 3a65349 commit 8c01ec6

File tree

2 files changed

+23
-24
lines changed

2 files changed

+23
-24
lines changed

articles/search/search-reliability.md

Lines changed: 22 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
---
22
title: Reliability in Azure AI Search
33
titleSuffix: Azure AI Search
4-
description: Find out about reliability in Azure AI Search.
4+
description: Learn how to improve the reliability and availability of Azure AI Search services.
55
author: mattgotteiner
66
ms.author: magottei
77
ms.service: azure-ai-search
88
ms.topic: conceptual
9-
ms.date: 09/04/2024
9+
ms.date: 10/29/2024
1010
ms.custom:
1111
- subject-reliability
1212
- references_regions
@@ -21,7 +21,7 @@ Across Azure, [reliability](/azure/reliability/overview) means resiliency and av
2121

2222
+ Deploy multiple search services across different geographic regions. All search workloads are fully contained within a single service that runs in a single geographic region, but in a multi-service scenario, you have options for synchronizing content so that it's the same across all services. You can also set up a load balancing solution to redistribute requests or fail over if there's a service outage.
2323

24-
For business continuity and recovery from disasters at a regional level, plan on a cross-regional topology, consisting of multiple search services having identical configuration and content. Your custom script or code provides the "fail over" mechanism to an alternate search service if one suddenly becomes unavailable.
24+
For business continuity and recovery from disasters at a regional level, plan on a cross-regional topology, consisting of multiple search services having identical configuration and content. Your custom script or code provides the *fail over* mechanism to an alternate search service if one suddenly becomes unavailable.
2525

2626
<a name="scale-for-availability"></a>
2727

@@ -31,27 +31,27 @@ In Azure AI Search, replicas are copies of your index. A search service is commi
3131

3232
For each individual search service, Microsoft guarantees at least 99.9% availability for configurations that meet these criteria:
3333

34-
+ Two replicas for high availability of read-only workloads (queries)
34+
+ Two replicas for high availability of *read-only* workloads (queries)
3535

36-
+ Three or more replicas for high availability of read-write workloads (queries and indexing)
36+
+ Three or more replicas for high availability of *read-write* workloads (queries and indexing)
3737

3838
The system has internal mechanisms for monitoring replica health and partition integrity. If you provision a specific combination of replicas and partitions, the system ensures that level of capacity for your service.
3939

40-
No SLA is provided for the Free tier. For more information, see [SLA for Azure AI Search](https://azure.microsoft.com/support/legal/sla/search/v1_0/).
40+
No Service Level Agreement (SLA) is provided for the *Free* tier. For more information, see the [SLA for Azure AI Search](https://azure.microsoft.com/support/legal/sla/search/v1_0/).
4141

4242
<a name="availability-zones"></a>
4343

4444
## Availability zone support
4545

46-
[Availability zones](/azure/availability-zones/az-overview) are an Azure platform capability that divides a region's data centers into distinct physical location groups to provide high-availability, within the same region. In Azure AI Search, individual replicas are the units for zone assignment. A search service runs within one region; its replicas run in different physical data centers (or zones) within that region.
46+
[Availability zones](/azure/availability-zones/az-overview) are an Azure platform capability that divides a region's data centers into distinct physical location groups to provide high availability, within the same region. In Azure AI Search, individual replicas are the units for zone assignment. A search service runs within one region; its replicas run in different physical data centers (or zones) within that region.
4747

4848
Availability zones are used when you add two or more replicas to your search service. Each replica is placed in a different availability zone within the region. If you have more replicas than available zones in the search service region, the replicas are distributed across zones as evenly as possible. There's no specific action on your part, except to [create a search service](search-create-service-portal.md) in a region that provides availability zones, and then to configure the service to [use multiple replicas](search-capacity-planning.md#adjust-capacity).
4949

5050
### Prerequisites
5151

52-
+ Service tier must be Standard or higher.
53-
+ Service region must be in a region that has available zones (listed in the following section).
54-
+ Configuration must include multiple replicas: two for read-only query workloads, three for read-write workloads that include indexing.
52+
+ Service tier must be *Standard* or higher
53+
+ Service region must be in a region that has available zones (listed in the following section)
54+
+ Configuration must include multiple replicas: two for read-only query workloads, three for read-write workloads that include indexing
5555

5656
### Supported regions
5757

@@ -61,7 +61,7 @@ Support for availability zones depends on infrastructure and storage. Currently,
6161

6262
Otherwise, availability zones for Azure AI Search are supported in the following regions:
6363

64-
| Region | Roll out |
64+
| Region | Roll out date |
6565
|--------|-----------|
6666
| Australia East | January 30, 2021 or later |
6767
| Brazil South | May 2, 2021 or later |
@@ -94,13 +94,13 @@ Otherwise, availability zones for Azure AI Search are supported in the following
9494
| West US 3 | June 02, 2021 or later |
9595

9696
> [!NOTE]
97-
> Availability zones don't change the terms of the [Azure AI Search Service Level Agreement](https://azure.microsoft.com/support/legal/sla/search/v1_0/). You still need three or more replicas for query high availability.
97+
> Availability zones don't change the terms of the [SLA](https://azure.microsoft.com/support/legal/sla/search/v1_0/). You still need three or more replicas for query high availability.
9898
9999
## Multiple services in separate geographic regions
100100

101101
Service redundancy is necessary if your operational requirements include:
102102

103-
+ [Business continuity and disaster recovery (BCDR) requirements](/azure/availability-zones/cross-region-replication-azure) (Azure AI Search doesn't provide instant failover if there's an outage).
103+
+ [Business continuity and disaster recovery (BCDR) requirements](/azure/reliability/disaster-recovery-overview). Azure AI Search doesn't provide instant failover if there's an outage.
104104

105105
+ Fast performance for a globally distributed application. If query and indexing requests come from all over the world, users who are closest to the host data center experience faster performance. Creating more services in regions with close proximity to these users can equalize performance for all users.
106106

@@ -110,7 +110,7 @@ Azure AI Search doesn't provide an automated method of replicating search indexe
110110

111111
The goal of a geo-distributed set of search services is to have two or more indexes available in two or more regions, where a user is routed to the Azure AI Search service that provides the lowest latency:
112112

113-
![Cross-tab of services by region][1]
113+
![Diagram showing cross-tab view of services by region.][1]
114114

115115
You can implement this architecture by creating multiple services and designing a strategy for data synchronization. Optionally, you can include a resource like Azure Traffic Manager for routing requests.
116116

@@ -134,7 +134,7 @@ If you're already using indexer on one service, you can configure a second index
134134

135135
Here's a high-level visual of what that architecture would look like.
136136

137-
![Single data source with distributed indexer and service combinations][2]
137+
![Diagram showing a single data source with distributed indexer and service combinations.][2]
138138

139139
#### Option 2: Use REST APIs for pushing content updates on multiple services
140140

@@ -164,39 +164,38 @@ Azure Traffic Manager is primarily used for routing network traffic across diffe
164164

165165
Traffic Manager doesn't provide an endpoint for a direct connection to Azure AI Search, which means you can't put a search service directly behind Traffic Manager. Instead, the assumption is that requests flow to Traffic Manager, then to a search-enabled web client, and finally to a search service on the backend. The client and service are located in the same region. If one search service goes down, the search client starts failing, and Traffic Manager redirects to the remaining client.
166166

167-
![Search apps connecting through Azure Traffic Manager][4]
167+
![Diagram of search apps connecting through Azure Traffic Manager.][4]
168168

169-
## About data residency in a multi-region deployment
169+
## Data residency in a multi-region deployment
170170

171171
When you deploy multiple search services in various geographic regions, your content is stored in the region you chose for each search service.
172172

173-
Azure AI Search won't store data outside of your specified region without your authorization. Authorization is implicit when you use features that write to an Azure Storage resource: [enrichment cache](cognitive-search-incremental-indexing-conceptual.md), [debug session](cognitive-search-debug-session.md), [knowledge store](knowledge-store-concept-intro.md). In all cases, the storage account is one that you provide, in the region of your choice.
173+
Azure AI Search doesn't store data outside of your specified region without your authorization. Authorization is implicit when you use features that write to an Azure Storage resource: [enrichment cache](cognitive-search-incremental-indexing-conceptual.md), [debug session](cognitive-search-debug-session.md), [knowledge store](knowledge-store-concept-intro.md). In all cases, the storage account is one that you provide, in the region of your choice.
174174

175175
> [!NOTE]
176176
> If both the storage account and the search service are in the same region, network traffic between search and storage uses a private IP address and occurs over the Microsoft backbone network. Because private IP addresses are used, you can't configure IP firewalls or a private endpoint for network security. Instead, use the [trusted service exception](search-indexer-howto-access-trusted-service-exception.md) as an alternative when both services are in the same region.
177177
178178
## About service outages and catastrophic events
179179

180-
As stated in the [Service Level Agreement (SLA)](https://azure.microsoft.com/support/legal/sla/search/v1_0/), Microsoft guarantees a high level of availability for index query requests when an Azure AI Search service instance is configured with two or more replicas, and index update requests when an Azure AI Search service instance is configured with three or more replicas. However, there's no built-in mechanism for disaster recovery. If continuous service is required in the event of a catastrophic failure outside of Microsoft’s control, we recommend provisioning a second service in a different region and implementing a geo-replication strategy to ensure indexes are fully redundant across all services.
180+
As stated in the [SLA](https://azure.microsoft.com/support/legal/sla/search/v1_0/), Microsoft guarantees a high level of availability for index query requests when an Azure AI Search service instance is configured with two or more replicas, and index update requests when an Azure AI Search service instance is configured with three or more replicas. However, there's no built-in mechanism for disaster recovery. If continuous service is required in the event of a catastrophic failure outside of Microsoft’s control, we recommend provisioning a second service in a different region and implementing a geo-replication strategy to ensure indexes are fully redundant across all services.
181181

182182
Customers who use [indexers](search-indexer-overview.md) to populate and refresh indexes can handle disaster recovery through geo-specific indexers that retrieve data from the same data source. Two services in different regions, each running an indexer, could index the same data source to achieve geo-redundancy. If you're indexing from data sources that are also geo-redundant, remember that Azure AI Search indexers can only perform incremental indexing (merging updates from new, modified, or deleted documents) from primary replicas. In a failover event, be sure to redirect the indexer to the new primary replica.
183183

184-
If you don't use indexers, you would use your application code to push objects and data to different search services in parallel. For more information, see [Keep data synchronized across multiple services](#data-sync).
184+
If you don't use indexers, you would use your application code to push objects and data to different search services in parallel. For more information, see [Synchronize data across multiple services](#data-sync).
185185

186186
## Back up and restore alternatives
187187

188188
A business continuity strategy for the data layer usually includes a restore-from-backup step. Because Azure AI Search isn't a primary data storage solution, Microsoft doesn't provide a formal mechanism for self-service backup and restore. However, you can use the **index-backup-restore** sample code in this [Azure AI Search .NET sample repo](https://github.com/Azure-Samples/azure-search-dotnet-utilities) to back up your index definition and snapshot to a series of JSON files, and then use these files to restore the index, if needed. This tool can also move indexes between service tiers.
189189

190190
Otherwise, your application code used for creating and populating an index is the de facto restore option if you delete an index by mistake. To rebuild an index, you would delete it (assuming it exists), recreate the index in the service, and reload by retrieving data from your primary data store.
191191

192-
## Next steps
192+
## Related content
193193

194-
+ Review [Service limits](search-limits-quotas-capacity.md) to learn more about the pricing tiers and services limits for each one.
194+
+ Review [Service limits](search-limits-quotas-capacity.md) to learn more about the pricing tiers and service limits.
195195
+ Review [Plan for capacity](search-capacity-planning.md) to learn more about partition and replica combinations.
196196
+ Review [Case Study: Use Cognitive Search to Support Complex AI Scenarios](https://techcommunity.microsoft.com/t5/azure-ai/case-study-effectively-using-cognitive-search-to-support-complex/ba-p/2804078) for more configuration guidance.
197197

198198
<!--Image references-->
199199
[1]: ./media/search-reliability/geo-redundancy.png
200200
[2]: ./media/search-reliability/scale-indexers.png
201-
[3]: ./media/search-reliability/geo-search-traffic-mgr.png
202201
[4]: ./media/search-reliability/azure-function-search-traffic-mgr.png

articles/search/toc.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -199,7 +199,7 @@ items:
199199
href: search-capacity-planning.md
200200
- name: Plan and manage costs
201201
href: search-sku-manage-costs.md
202-
- name: Availability and recovery
202+
- name: Reliability and recovery
203203
href: search-reliability.md
204204
- name: Availability migration guidance
205205
href: /azure/reliability/migrate-search-service

0 commit comments

Comments
 (0)