Skip to content

Commit ab350c9

Browse files
authored
Merge pull request #278375 from MicrosoftDocs/release-ga-apim-workspaces
[DO NOT MERGE] Release ga apim workspaces -> main
2 parents 059bc7d + 961012e commit ab350c9

File tree

115 files changed

+794
-375
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

115 files changed

+794
-375
lines changed

.openpublishing.redirection.api-management.json

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,10 @@
11
{
22
"redirections": [
3+
{
4+
"source_path": "articles/api-management/api-management-in-workspace.md",
5+
"redirect_url": "/azure/api-management/how-to-create-workspace",
6+
"redirect_document_id": false
7+
},
38
{
49
"source_path": "articles/api-management/set-graphql-resolver-policy.md",
510
"redirect_url": "/previous-versions/azure/api-management/set-graphql-resolver-policy",

articles/api-management/TOC.yml

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -108,8 +108,10 @@
108108
items:
109109
- name: Networking options
110110
href: virtual-network-concepts.md
111-
- name: VNet injection - network requirements
111+
- name: VNet injection (service) - requirements
112112
href: virtual-network-injection-resources.md
113+
- name: VNet integration (workspace gateway) - requirements
114+
href: virtual-network-workspaces-resources.md
113115
- name: Deploy to a VNet - external
114116
href: api-management-using-with-vnet.md
115117
- name: Deploy to a VNet - internal
@@ -132,8 +134,6 @@
132134
href: workspaces-overview.md
133135
- name: Create a workspace
134136
href: how-to-create-workspace.md
135-
- name: Use a workspace
136-
href: api-management-in-workspace.md
137137
- name: Configuration management
138138
items:
139139
- name: Landing zone accelerator
@@ -665,10 +665,12 @@
665665
href: breaking-changes/self-hosted-gateway-v0-v1-retirement-oct-2023.md
666666
- name: Deprecated (legacy) developer portal (October 2023)
667667
href: breaking-changes/legacy-portal-retirement-oct-2023.md
668-
- name: Workspaces breaking changes (June 2024)
668+
- name: Workspaces preview breaking changes (June 2024)
669669
href: breaking-changes/workspaces-breaking-changes-june-2024.md
670670
- name: stv1 compute platform retirement (August 2024)
671671
href: breaking-changes/stv1-platform-retirement-august-2024.md
672+
- name: Workspaces preview breaking changes, part 2 (March 2025)
673+
href: breaking-changes/workspaces-breaking-changes-march-2025.md
672674
- name: Git configuration retirement (March 2025)
673675
href: breaking-changes/git-configuration-retirement-march-2025.md
674676
- name: Direct management API retirement (March 2025)

articles/api-management/api-management-capacity.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,8 @@ ms.custom: fasttrack-edit
1919

2020
This article explains what the **capacity** is and how it behaves. It shows how to access **capacity** metrics in the Azure portal and suggests when to consider scaling or upgrading your API Management instance.
2121

22+
[!INCLUDE [api-management-workspace-availability](../../includes/api-management-workspace-availability.md)]
23+
2224
> [!IMPORTANT]
2325
> This article discusses how you can monitor and scale your Azure API Management instance based upon its capacity metric. However, it is equally important to understand what happens when an individual API Management instance has actually *reached* its capacity. Azure API Management will not apply service-level throttling to prevent a physical overload of the instances. When an instance reaches its physical capacity, it will behave similar to any overloaded web server that is unable to process incoming requests: latency will increase, connections will get dropped, timeout errors will occur, and so on. This means that API clients should be prepared to deal with this possibility as they do with any other external service (for example, by applying retry policies).
2426

articles/api-management/api-management-gateways-overview.md

Lines changed: 63 additions & 57 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,8 @@ author: dlepow
77
ms.service: azure-api-management
88
ms.custom:
99
- build-2024
10-
ms.topic: conceptual
11-
ms.date: 05/05/2024
10+
ms.topic: concept-article
11+
ms.date: 07/11/2024
1212
ms.author: danlep
1313
---
1414

@@ -41,7 +41,7 @@ The API Management *gateway* (also called *data plane* or *runtime*) is the serv
4141

4242
API Management offers both managed and self-hosted gateways:
4343

44-
* **Managed** - The managed gateway is the default gateway component that is deployed in Azure for every API Management instance in every service tier. With the managed gateway, all API traffic flows through Azure regardless of where backends implementing the APIs are hosted.
44+
* **Managed** - The managed gateway is the default gateway component that is deployed in Azure for every API Management instance in every service tier. A standalone managed gateway can also be associated with a [workspace](workspaces-overview.md) in an API Management instance. With the managed gateway, all API traffic flows through Azure regardless of where backends implementing the APIs are hosted.
4545

4646
> [!NOTE]
4747
> Because of differences in the underlying service architecture, the gateways provided in the different API Management service tiers have some differences in capabilities. For details, see the section [Feature comparison: Managed versus self-hosted gateways](#feature-comparison-managed-versus-self-hosted-gateways).
@@ -64,6 +64,7 @@ The following tables compare features available in the following API Management
6464
* **V2** - the managed gateway available in the Basic v2 and Standard v2 tiers
6565
* **Consumption** - the managed gateway available in the Consumption tier
6666
* **Self-hosted** - the optional self-hosted gateway available in select service tiers
67+
* **Workspace** - the managed gateway available in a [workspace](workspaces-overview.md) in select service tiers
6768

6869
> [!NOTE]
6970
> * Some features of managed and self-hosted gateways are supported only in certain [service tiers](api-management-features.md) or with certain [deployment environments](self-hosted-gateway-overview.md#packaging) for self-hosted gateways.
@@ -72,61 +73,62 @@ The following tables compare features available in the following API Management
7273
7374
### Infrastructure
7475

75-
| Feature support | Classic | V2 | Consumption | Self-hosted |
76+
| Feature support | Classic | V2 | Consumption | Self-hosted | Workspace |
7677
| --- | --- | ----- | ----- | ---------- |
77-
| [Custom domains](configure-custom-domain.md) | ✔️ | ✔️ | ✔️ | ✔️ |
78-
| [Built-in cache](api-management-howto-cache.md) | ✔️ | ✔️ |||
79-
| [External Redis-compatible cache](api-management-howto-cache-external.md) | ✔️ | ✔️ |✔️ | ✔️ |
80-
| [Virtual network injection](virtual-network-concepts.md) | Developer, Premium ||| ✔️<sup>1,2</sup> |
81-
| [Inbound private endpoints](private-endpoint.md) | Developer, Basic, Standard, Premium ||||
82-
| [Outbound virtual network integration](integrate-vnet-outbound.md) || Standard V2 |||
83-
| [Availability zones](zone-redundancy.md) | Premium | || ✔️<sup>1</sup> |
84-
| [Multi-region deployment](api-management-howto-deploy-multi-region.md) | Premium ||| ✔️<sup>1</sup> |
85-
| [CA root certificates](api-management-howto-ca-certificates.md) for certificate validation | ✔️ | ✔️ || ✔️<sup>3</sup> |
86-
| [Managed domain certificates](configure-custom-domain.md?tabs=managed#domain-certificate-options) | Developer, Basic, Standard, Premium || ✔️ ||
87-
| [TLS settings](api-management-howto-manage-protocols-ciphers.md) | ✔️ | ✔️ | ✔️ | ✔️ |
88-
| **HTTP/2** (Client-to-gateway) | ✔️<sup>4</sup> | ✔️<sup>4</sup> || ✔️ |
89-
| **HTTP/2** (Gateway-to-backend) |||| ✔️ |
90-
| API threat detection with [Defender for APIs](protect-with-defender-for-apis.md) | ✔️ | ✔️ |||
78+
| [Custom domains](configure-custom-domain.md) | ✔️ | ✔️ | ✔️ | ✔️ ||
79+
| [Built-in cache](api-management-howto-cache.md) | ✔️ | ✔️ ||| ✔️ |
80+
| [External Redis-compatible cache](api-management-howto-cache-external.md) | ✔️ | ✔️ |✔️ | ✔️ ||
81+
| [Virtual network injection](virtual-network-concepts.md) | Developer, Premium ||| ✔️<sup>1,2</sup> | ✔️ |
82+
| [Inbound private endpoints](private-endpoint.md) | Developer, Basic, Standard, Premium |||||
83+
| [Outbound virtual network integration](integrate-vnet-outbound.md) || Standard V2 ||| ✔️ |
84+
| [Availability zones](zone-redundancy.md) | Premium | ✔️<sup>3</sup> || ✔️<sup>1</sup> | ✔️<sup>3</sup> |
85+
| [Multi-region deployment](api-management-howto-deploy-multi-region.md) | Premium ||| ✔️<sup>1</sup> ||
86+
| [CA root certificates](api-management-howto-ca-certificates.md) for certificate validation | ✔️ | ✔️ || ✔️<sup>4</sup> | |
87+
| [Managed domain certificates](configure-custom-domain.md?tabs=managed#domain-certificate-options) | Developer, Basic, Standard, Premium || ✔️ |||
88+
| [TLS settings](api-management-howto-manage-protocols-ciphers.md) | ✔️ | ✔️ | ✔️ | ✔️ ||
89+
| **HTTP/2** (Client-to-gateway) | ✔️<sup>5</sup> | ✔️<sup>5</sup> || ✔️ | |
90+
| **HTTP/2** (Gateway-to-backend) |||| ✔️ ||
91+
| API threat detection with [Defender for APIs](protect-with-defender-for-apis.md) | ✔️ | ✔️ ||||
9192

9293
<sup>1</sup> Depends on how the gateway is deployed, but is the responsibility of the customer.<br/>
9394
<sup>2</sup> Connectivity to the self-hosted gateway v2 [configuration endpoint](self-hosted-gateway-overview.md#fqdn-dependencies) requires DNS resolution of the endpoint hostname.<br/>
94-
<sup>3</sup>CA root certificates for self-hosted gateway are managed separately per gateway<br/>
95-
<sup>4</sup> Client protocol needs to be enabled.
95+
<sup>3</sup> Two zones are enabled by default; not configurable.<br/>
96+
<sup>4</sup> CA root certificates for self-hosted gateway are managed separately per gateway<br/>
97+
<sup>5</sup> Client protocol needs to be enabled.
9698

9799
### Backend APIs
98100

99-
| Feature support | Classic | V2 | Consumption | Self-hosted |
100-
| --- | --- | ----- | ----- | ---------- |
101-
| [OpenAPI specification](import-api-from-oas.md) | ✔️ | ✔️ | ✔️ | ✔️ |
102-
| [WSDL specification](import-soap-api.md) | ✔️ | ✔️ | ✔️ | ✔️ |
103-
| WADL specification | ✔️ | ✔️ | ✔️ | ✔️ |
104-
| [Logic App](import-logic-app-as-api.md) | ✔️ | ✔️ | ✔️ |✔️ |
105-
| [App Service](import-app-service-as-api.md) | ✔️ | ✔️ | ✔️ | ✔️ |
106-
| [Function App](import-function-app-as-api.md) | ✔️ | ✔️ | ✔️ | ✔️ |
107-
| [Container App](import-container-app-with-oas.md) | ✔️ | ✔️ | ✔️ | ✔️ |
108-
| [Service Fabric](../service-fabric/service-fabric-api-management-overview.md) | Developer, Premium ||||
109-
| [Pass-through GraphQL](graphql-apis-overview.md) | ✔️ | ✔️ |✔️ | ✔️ |
110-
| [Synthetic GraphQL](graphql-apis-overview.md)| ✔️ | ✔️ | ✔️<sup>1</sup> | ✔️<sup>1</sup> |
111-
| [Pass-through WebSocket](websocket-api.md) | ✔️ | ✔️ || ✔️ |
112-
| [Pass-through gRPC](grpc-api.md) |||| ✔️ |
113-
| [OData](import-api-from-odata.md) | ✔️ | ✔️ | ✔️ | ✔️ |
114-
| [Azure OpenAI](azure-openai-api-from-specification.md) | ✔️ | ✔️ | ✔️ | ✔️ |
115-
| [Circuit breaker in backend](backends.md#circuit-breaker) | ✔️ | ✔️ || ✔️ |
116-
| [Load-balanced backend pool](backends.md#load-balanced-pool) | ✔️ | ✔️ | ✔️ | ✔️ |
101+
| Feature support | Classic | V2 | Consumption | Self-hosted | Workspace |
102+
| --- | --- | ----- | ----- | ---------- | ----- |
103+
| [OpenAPI specification](import-api-from-oas.md) | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
104+
| [WSDL specification](import-soap-api.md) | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
105+
| WADL specification | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
106+
| [Logic App](import-logic-app-as-api.md) | ✔️ | ✔️ | ✔️ |✔️ | ✔️ |
107+
| [App Service](import-app-service-as-api.md) | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
108+
| [Function App](import-function-app-as-api.md) | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
109+
| [Container App](import-container-app-with-oas.md) | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
110+
| [Service Fabric](../service-fabric/service-fabric-api-management-overview.md) | Developer, Premium |||| |
111+
| [Pass-through GraphQL](graphql-apis-overview.md) | ✔️ | ✔️ |✔️ | ✔️ | ✔️ |
112+
| [Synthetic GraphQL](graphql-apis-overview.md)| ✔️ | ✔️ | ✔️<sup>1</sup> | ✔️<sup>1</sup> ||
113+
| [Pass-through WebSocket](websocket-api.md) | ✔️ | ✔️ || ✔️ ||
114+
| [Pass-through gRPC](grpc-api.md) |||| ✔️ ||
115+
| [OData](import-api-from-odata.md) | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
116+
| [Azure OpenAI](azure-openai-api-from-specification.md) | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
117+
| [Circuit breaker in backend](backends.md#circuit-breaker) | ✔️ | ✔️ || ✔️ | ✔️ |
118+
| [Load-balanced backend pool](backends.md#load-balanced-pool) | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
117119

118120
<sup>1</sup> Synthetic GraphQL subscriptions (preview) aren't supported.
119121

120122
### Policies
121123

122124
Managed and self-hosted gateways support all available [policies](api-management-policies.md) in policy definitions with the following exceptions.
123125

124-
| Feature support | Classic | V2 | Consumption | Self-hosted<sup>1</sup> |
125-
| --- | --- | ----- | ----- | ---------- |
126-
| [Dapr integration](api-management-policies.md#integration-and-external-communication) |||| ✔️ |
127-
| [GraphQL resolvers](api-management-policies.md#graphql-resolvers) and [GraphQL validation](api-management-policies.md#content-validation)| ✔️ | ✔️ |✔️ ||
128-
| [Get authorization context](get-authorization-context-policy.md) | ✔️ | ✔️ |✔️ ||
129-
| [Quota and rate limit](api-management-policies.md#rate-limiting-and-quotas) | ✔️ | ✔️<sup>2</sup> | ✔️<sup>3</sup> | ✔️<sup>4</sup> |
126+
| Feature support | Classic | V2 | Consumption | Self-hosted<sup>1</sup> | Workspace |
127+
| --- | --- | ----- | ----- | ---------- | ----- |
128+
| [Dapr integration](api-management-policies.md#integration-and-external-communication) |||| ✔️ ||
129+
| [GraphQL resolvers](api-management-policies.md#graphql-resolvers) and [GraphQL validation](api-management-policies.md#content-validation)| ✔️ | ✔️ |✔️ |||
130+
| [Get authorization context](get-authorization-context-policy.md) | ✔️ | ✔️ |✔️ |||
131+
| [Quota and rate limit](api-management-policies.md#rate-limiting-and-quotas) | ✔️ | ✔️<sup>2</sup> | ✔️<sup>3</sup> | ✔️<sup>4</sup> | ✔️ |
130132

131133
<sup>1</sup> Configured policies that aren't supported by the self-hosted gateway are skipped during policy execution.<br/>
132134
<sup>2</sup> The quota by key policy isn't available in the v2 tiers.<br/>
@@ -138,16 +140,16 @@ Managed and self-hosted gateways support all available [policies](api-management
138140

139141
For details about monitoring options, see [Observability in Azure API Management](observability.md).
140142

141-
| Feature support | Classic | V2 | Consumption | Self-hosted |
142-
| --- | --- | ----- | ----- | ---------- |
143-
| [API analytics](howto-use-analytics.md) | ✔️ | ✔️<sup>1</sup> |||
144-
| [Application Insights](api-management-howto-app-insights.md) | ✔️ | ✔️ | ✔️ | ✔️ |
145-
| [Logging through Event Hubs](api-management-howto-log-event-hubs.md) | ✔️ | ✔️ | ✔️ | ✔️ |
146-
| [Metrics in Azure Monitor](api-management-howto-use-azure-monitor.md#view-metrics-of-your-apis) | ✔️ | ✔️ |✔️ | ✔️ |
147-
| [OpenTelemetry Collector](how-to-deploy-self-hosted-gateway-kubernetes-opentelemetry.md) |||| ✔️ |
148-
| [Request logs in Azure Monitor and Log Analytics](api-management-howto-use-azure-monitor.md#resource-logs) | ✔️ | ✔️ || ❌<sup>2</sup> |
149-
| [Local metrics and logs](how-to-configure-local-metrics-logs.md) |||| ✔️ |
150-
| [Request tracing](api-management-howto-api-inspector.md) | ✔️ | ❌<sup>3</sup> | ✔️ | ✔️ |
143+
| Feature support | Classic | V2 | Consumption | Self-hosted | Workspace |
144+
| --- | --- | ----- | ----- | ---------- | ----- |
145+
| [API analytics](howto-use-analytics.md) | ✔️ | ✔️<sup>1</sup> ||||
146+
| [Application Insights](api-management-howto-app-insights.md) | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
147+
| [Logging through Event Hubs](api-management-howto-log-event-hubs.md) | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
148+
| [Metrics in Azure Monitor](api-management-howto-use-azure-monitor.md#view-metrics-of-your-apis) | ✔️ | ✔️ |✔️ | ✔️ ||
149+
| [OpenTelemetry Collector](how-to-deploy-self-hosted-gateway-kubernetes-opentelemetry.md) |||| ✔️ ||
150+
| [Request logs in Azure Monitor and Log Analytics](api-management-howto-use-azure-monitor.md#resource-logs) | ✔️ | ✔️ || ❌<sup>2</sup> ||
151+
| [Local metrics and logs](how-to-configure-local-metrics-logs.md) |||| ✔️ ||
152+
| [Request tracing](api-management-howto-api-inspector.md) | ✔️ | ❌<sup>3</sup> | ✔️ | ✔️ ||
151153

152154
<sup>1</sup> The v2 tiers support Azure Monitor-based analytics.<br/>
153155
<sup>2</sup> The self-hosted gateway currently doesn't send resource logs (diagnostic logs) to Azure Monitor. Optionally [send metrics](how-to-configure-cloud-metrics-logs.md) to Azure Monitor, or [configure and persist logs locally](how-to-configure-local-metrics-logs.md) where the self-hosted gateway is deployed.<br/>
@@ -157,9 +159,9 @@ For details about monitoring options, see [Observability in Azure API Management
157159

158160
Managed and self-hosted gateways support all available [API authentication and authorization options](authentication-authorization-overview.md) with the following exceptions.
159161

160-
| Feature support | Classic | V2 | Consumption | Self-hosted |
161-
| --- | --- | ----- | ----- | ---------- |
162-
| [Credential manager](credentials-overview.md) | ✔️ | ✔️ | ✔️ ||
162+
| Feature support | Classic | V2 | Consumption | Self-hosted | Workspace |
163+
| --- | --- | ----- | ----- | ---------- | ----- |
164+
| [Credential manager](credentials-overview.md) | ✔️ | ✔️ | ✔️ |||
163165

164166

165167
## Gateway throughput and scaling
@@ -189,6 +191,10 @@ For estimated maximum gateway throughput in the API Management service tiers, se
189191
* In environments such as [Kubernetes](how-to-self-hosted-gateway-on-kubernetes-in-production.md), add multiple gateway replicas to handle expected usage.
190192
* Optionally [configure autoscaling](how-to-self-hosted-gateway-on-kubernetes-in-production.md#autoscaling) to meet traffic demands.
191193

194+
### Workspace gateway
195+
196+
Scale capacity by adding and removing scale [units](upgrade-and-scale.md) in the workspace gateway.
197+
192198
## Related content
193199

194200
- Learn more about [API Management in a Hybrid and multicloud World](https://aka.ms/hybrid-and-multi-cloud-api-management)

0 commit comments

Comments
 (0)