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/spring-apps/how-to-configure-enterprise-spring-cloud-gateway.md
+34-35Lines changed: 34 additions & 35 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -262,15 +262,15 @@ req.send();
262
262
263
263
Cross-origin resource sharing (CORS) allows restricted resources on a web page to be requested from another domain outside the domain from which the first resource was served. The available CORS configuration options are described in the following table.
| `allowedOrigins` | Allowed origins to make cross-site requests. |
268
+
| `allowedOriginPatterns` | Allowed origin patterns to make cross-site requests. |
269
+
| `allowedMethods` | Allowed HTTP methods on cross-site requests. |
270
+
| `allowedHeaders` | Allowed headers in cross-site request. |
271
+
| `maxAge` | How long, in seconds, clients cache the response from a preflight request. |
272
+
| `allowCredentials` | Whether user credentials are supported on cross-site requests. |
273
+
| `exposedHeaders` | HTTP response headers to expose for cross-site requests. |
274
274
275
275
> [!NOTE]
276
276
> Be sure you have the correct CORS configuration if you want to integrate with API portal. For more information, see the [Configure Spring Cloud Gateway](#configure-spring-cloud-gateway) section.
@@ -387,41 +387,40 @@ az spring gateway restart \
387
387
388
388
---
389
389
390
-
### Set up Autoscale settings forVMwareSpringCloudGateway in AzureCLI
390
+
### Set up autoscale settings forVMwareSpringCloudGateway in AzureCLI
391
391
392
-
You can set Autoscale modes using the AzureCLI. The following commands create an Autoscale setting and an Autoscale rule.
392
+
You can set autoscale modes using the AzureCLI. The following commands create an autoscale setting and an autoscale rule.
393
393
394
-
*CreateAutoscale setting:
394
+
-Use the following command to create an autoscale setting:
For information on the available metrics, see the [User metrics options](./concept-metrics.md#user-metrics-options) section of [MetricsforAzureSpringApps](./concept-metrics.md).
418
418
419
-
420
419
---
421
420
422
421
## Configure environment variables
423
422
424
-
SpringCloudGateway is managed and tuned by the AzureSpringApps service. Exceptfor the use cases that configure application performance monitoring and the log level, you don't normally need to configure it with environment variables. But if you do have requirements that you can't fulfill by other configurations described in this article, you can try to configure the environment variables shown in the [Common application properties](https://cloud.spring.io/spring-cloud-gateway/reference/html/appendix.html#common-application-properties) list. Be sure to verify your configuration in your test environment before applying it to your production environment.
423
+
TheAzureSpringApps service manages and tunes SpringCloudGateway. Exceptfor the use cases that configure application performance monitoring and the log level, you don't normally need to configure it with environment variables. But if you do have requirements that you can't fulfill by other configurations described in this article, you can try to configure the environment variables shown in the [Common application properties](https://cloud.spring.io/spring-cloud-gateway/reference/html/appendix.html#common-application-properties) list. Be sure to verify your configuration in your test environment before applying it to your production environment.
425
424
426
425
#### [Azure portal](#tab/Azure-portal)
427
426
@@ -523,8 +522,8 @@ You can configure the log levels of Spring Cloud Gateway in the following ways t
523
522
-Thedefault log level forSpringCloudGateway is `INFO`.
524
523
-You can set log levels to `TRACE`, `DEBUG`, `INFO`, `WARN`, `ERROR`, `OFF`.
525
524
-You can turn off logs by setting log levels to `OFF`.
526
-
-When log levels are set to `WARN`, `ERROR`, `OFF`, you may be required to adjust it to `INFO` when requesting support from the AzureSpringApps team. This change will cause a restart of SpringCloudGateway.
527
-
-When log levels are set to `TRACE` or `DEBUG`, it may impact the performance of SpringCloudGateway. Try avoid these settings in your production environment.
525
+
-When log levels are set to `WARN`, `ERROR`, `OFF`, you may be required to adjust it to `INFO` when requesting support from the AzureSpringApps team. This change causes a restart of SpringCloudGateway.
526
+
-When log levels are set to `TRACE` or `DEBUG`, it may affect the performance of SpringCloudGateway. Try avoid these settings in your production environment.
528
527
-You can set log levels for the `root` logger or specific loggers like `io.pivotal.spring.cloud.gateway`.
529
528
530
529
The following loggers may contain valuable troubleshooting information at the `TRACE` and `DEBUG` levels:
@@ -575,7 +574,7 @@ If the log level is sensitive information in your case, you can include it by us
575
574
576
575
The addon configuration feature enables you to customize certain properties of Spring Cloud Gateway using a JSON format string. The feature is useful when you need to configure properties that aren't exposed through the RESTAPI.
577
576
578
-
The addon configuration is a JSON object with key-value paris representing the desired configuration. The following example shows the structure of the JSON format:
577
+
The addon configuration is a JSON object with key-value pairs representing the desired configuration. The following example shows the structure of the JSON format:
title: Scale out to deploy over 500 and up to 1000 application instances using Azure Spring Apps Enterprise
3
+
description: Learn how to deploy applications at scale in the Enterprise plan for Azure Spring Apps and learn about the restrictions.
4
+
author: karlerickson
5
+
ms.author: xiading
6
+
ms.service: spring-apps
7
+
ms.topic: how-to
8
+
ms.date: 07/05/2023
9
+
---
10
+
11
+
# Scale out to deploy over 500 and up to 1000 application instances using Azure Spring Apps Enterprise
12
+
13
+
This article applies to ❌ Basic/Standard ✔️ Enterprise
14
+
15
+
This article guides you on deploying up to 1000 application instances in Azure Spring Apps Enterprise. The feature supporting deployment of more than 500 instances is currently in Preview. This article outlines the limitations during the Preview stage. The Enterprise plan, crafted for handling substantial production workloads, supports a maximum of 1000 application instances per service. However, we recommend using a maximum of 500 instances in your production environment.
16
+
17
+
## Definition
18
+
19
+
The Azure Spring Apps Enterprise plan supports up to 1000 application instances per service instance. The number of application instances is the sum of all the application instances in the service instance. For example, if you have 100 applications in the service instance and each application has 10 replicas, then the total number of application instances is 1000.
20
+
21
+
## Configure proper subnet ranges
22
+
23
+
When you deploy Azure Spring Apps in an Azure virtual network, you need to configure the proper subnet ranges for your apps and services. The subnet ranges determine how many IP addresses are available for your apps and services to use. If the subnet ranges are too small, you might run out of IP addresses and encounter errors or failures.
24
+
25
+
To avoid this problem, you should reserve subnet ranges that are large enough to support the number of application instances. For subnets, Azure reserves five IP addresses, and Azure Spring Apps requires at least three IP addresses. We recommend that you reserve at least the `/24` subnet ranges for the apps subnet.
26
+
27
+
For more information about how to deploy an Azure Spring Apps instance in your virtual network, see [Deploy Azure Spring Apps in a virtual network](how-to-deploy-in-azure-virtual-network.md).
28
+
29
+
## Restrictions
30
+
31
+
Support for 1000 app instances is currently in the preview stage. The following sections describe the restrictions that you should understand when you try this feature.
32
+
33
+
### VMware Tanzu® Build Service™
34
+
35
+
VMware Tanzu Build Service automates container creation, management, and governance at enterprise scale. Tanzu Build Service uses the buildpacks project to turn application source code into container images.
36
+
37
+
The builder is a Tanzu Build Service resource, which contains a set of buildpacks and a stack used in the process of building source code. The build number using the same builder should be less than 200. Otherwise, it's hard to reconcile all builds when the builder updates.
38
+
39
+
The builds are generated when you deploy apps. We recommend that you create multiple customized builders to deploy apps when you have more than 200 apps or deployments.
40
+
41
+
### Application Configuration Service for Tanzu
42
+
43
+
Application Configuration Service for Tanzu is a central place to manage external properties for applications across all environments. This service is offered in two versions: Gen1 and Gen2. The Gen1 version mainly serves existing customers for backward compatibility purpose. Gen2 uses flux as the back end to communicate with Git repositories. Gen2 provides better performance compared to Gen1.
44
+
45
+
The following table shows the benchmark for refresh times under different numbers of patterns. Be sure to carefully control the configuration pattern number based on these values to avoid unacceptable refresh performance.
46
+
47
+
| Application Configuration Service generation | Duration to refresh under 100 patterns | Duration to refresh under 250 patterns | Duration to refresh under 500 patterns |
Spring Cloud Gateway for VMware Tanzu handles the cross-cutting concerns for API development teams, such as single sign-on (SSO), access control, rate-limiting, resiliency, security, and more. You can accelerate API delivery using modern cloud native patterns using your choice of programming language for API development. Spring Cloud Gateway is a critical component for a microservices architecture.
55
+
56
+
The performance of the gateway is closely related to the number of routes. In general, we recommend that you don't exceed 500 routes. When the gateway can't handle some requests with reasonably low latency or without errors, it can stress a gateway instance's performance.
57
+
58
+
Spring Cloud Gateway is able to handle a high volume of traffic. To support the traffic, you should consider increasing the memory requested for API gateway instances so that each pod can handle more requests per second. To configure autoscale rules for the gateway to perform best when demand changes, see the [Set up autoscale settings for VMware Spring Cloud Gateway](how-to-configure-enterprise-spring-cloud-gateway.md#set-up-autoscale-settings-for-vmware-spring-cloud-gateway-in-azure-cli) section in [Configure VMware Spring Cloud Gateway](how-to-configure-enterprise-spring-cloud-gateway.md).
59
+
60
+
Spring Cloud Gateway supports rolling restarts to ensure zero downtime and disruption. However, the current version of the gateway has a limitation that when it's rolling restarted, it may take longer to synchronize a large number of routes. This situation can cause incomplete route updates during the process. We're actively working on fixing this limitation and will provide an update through our documentation.
61
+
62
+
## Next steps
63
+
64
+
-[Build and deploy apps to Azure Spring Apps](quickstart-deploy-apps.md)
65
+
-[Scale an application in Azure Spring Apps](how-to-scale-manual.md)
Copy file name to clipboardExpand all lines: articles/spring-apps/quotas.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -29,7 +29,7 @@ The following table defines limits for the pricing plans in Azure Spring Apps.
29
29
| vCPU | per app instance | 1 | 4 | 8 | 4 | based on workload profile (for example, 16 in D16) |
30
30
| Memory | per app instance | 2 GB | 8 GB | 32 GB | 8 GB | based on workload profile (for example, 128GB in E16) |
31
31
| Azure Spring Apps service instances | per region per subscription | 10 | 10 | 10 | 10 | 10 |
32
-
| Total app instances | per Azure Spring Apps service instance | 25 | 500 |500 | 400 | 1000 |
32
+
| Total app instances | per Azure Spring Apps service instance | 25 | 500 |1000| 400 | 1000 |
33
33
| Custom Domains | per Azure Spring Apps service instance | 0 | 500 | 500 | 500 | 500 |
34
34
| Persistent volumes | per Azure Spring Apps service instance | 1 GB/app x 10 apps | 50 GB/app x 10 apps | 50 GB/app x 10 apps | Not applicable | Not applicable |
35
35
| Inbound Public Endpoints | per Azure Spring Apps service instance | 10 <sup>1</sup> | 10 <sup>1</sup> | 10 <sup>1</sup> | 10 <sup>1</sup> | 10 <sup>1</sup> |
0 commit comments