You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: articles/search/search-reliability.md
+22-23Lines changed: 22 additions & 23 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,12 +1,12 @@
1
1
---
2
2
title: Reliability in Azure AI Search
3
3
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.
5
5
author: mattgotteiner
6
6
ms.author: magottei
7
7
ms.service: azure-ai-search
8
8
ms.topic: conceptual
9
-
ms.date: 09/04/2024
9
+
ms.date: 10/29/2024
10
10
ms.custom:
11
11
- subject-reliability
12
12
- references_regions
@@ -21,7 +21,7 @@ Across Azure, [reliability](/azure/reliability/overview) means resiliency and av
21
21
22
22
+ 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.
23
23
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.
25
25
26
26
<aname="scale-for-availability"></a>
27
27
@@ -31,27 +31,27 @@ In Azure AI Search, replicas are copies of your index. A search service is commi
31
31
32
32
For each individual search service, Microsoft guarantees at least 99.9% availability for configurations that meet these criteria:
33
33
34
-
+ Two replicas for high availability of read-only workloads (queries)
34
+
+ Two replicas for high availability of *read-only* workloads (queries)
35
35
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)
37
37
38
38
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.
39
39
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/).
41
41
42
42
<aname="availability-zones"></a>
43
43
44
44
## Availability zone support
45
45
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 highavailability, 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.
47
47
48
48
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).
49
49
50
50
### Prerequisites
51
51
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
55
55
56
56
### Supported regions
57
57
@@ -61,7 +61,7 @@ Support for availability zones depends on infrastructure and storage. Currently,
61
61
62
62
Otherwise, availability zones for Azure AI Search are supported in the following regions:
63
63
64
-
| Region | Roll out |
64
+
| Region | Roll out date |
65
65
|--------|-----------|
66
66
| Australia East | January 30, 2021 or later |
67
67
| Brazil South | May 2, 2021 or later |
@@ -94,13 +94,13 @@ Otherwise, availability zones for Azure AI Search are supported in the following
94
94
| West US 3 | June 02, 2021 or later |
95
95
96
96
> [!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.
98
98
99
99
## Multiple services in separate geographic regions
100
100
101
101
Service redundancy is necessary if your operational requirements include:
102
102
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/availability-zones/cross-region-replication-azure). Azure AI Search doesn't provide instant failover if there's an outage.
104
104
105
105
+ 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.
106
106
@@ -110,7 +110,7 @@ Azure AI Search doesn't provide an automated method of replicating search indexe
110
110
111
111
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:
112
112
113
-
![Cross-tab of services by region][1]
113
+
![Diagram showing cross-tab view of services by region.][1]
114
114
115
115
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.
116
116
@@ -134,7 +134,7 @@ If you're already using indexer on one service, you can configure a second index
134
134
135
135
Here's a high-level visual of what that architecture would look like.
136
136
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]
138
138
139
139
#### Option 2: Use REST APIs for pushing content updates on multiple services
140
140
@@ -164,39 +164,38 @@ Azure Traffic Manager is primarily used for routing network traffic across diffe
164
164
165
165
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.
166
166
167
-
![Search apps connecting through Azure Traffic Manager][4]
167
+
![Diagram of search apps connecting through Azure Traffic Manager.][4]
168
168
169
-
## About data residency in a multi-region deployment
169
+
## Data residency in a multi-region deployment
170
170
171
171
When you deploy multiple search services in various geographic regions, your content is stored in the region you chose for each search service.
172
172
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.
174
174
175
175
> [!NOTE]
176
176
> 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.
177
177
178
178
## About service outages and catastrophic events
179
179
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.
181
181
182
182
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.
183
183
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).
185
185
186
186
## Back up and restore alternatives
187
187
188
188
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.
189
189
190
190
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.
191
191
192
-
## Next steps
192
+
## Related content
193
193
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.
195
195
+ Review [Plan for capacity](search-capacity-planning.md) to learn more about partition and replica combinations.
196
196
+ 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.
0 commit comments