Release Management
What Is Gray Release?
A gray release, also known as a canary release, refers to deploying an additional small-scale gray cluster outside the stable production environment, and verifying a portion of the traffic in the gray cluster by controlling the flow. If the verification fails, all traffic can be immediately switched to the stable cluster. If the verification is successful, the traffic can be fully released to the new cluster to complete the gray release task.
Creating Release Management
Gray release can verify the updated upstream of an API without requiring any changes in the calling party's cooperation. To self-test the target upstream service, the Rules type can be used to redirect calls with specific headers, requests, or cookies to the target upstream service. After successful self-testing, the Percentage type can be used for gray testing, gradually increasing the proportion of the target upstream service to verify its stability through repeated testing before performing a full release.
- You must first prepare two upstreams: a canary upstream(new one) and a current upstream(old one).
- Log in to the API7 Enterprise dashboard.
- In the top navigation menu, click on Cluster Management .
- In the left menu bar, click on Cluster List .
- Click on View button of the specific cluster.
- In the left menu bar, click on Workspaces .
- Click on View button of the specific workspace.
- In the left menu bar, click on API then click on Release Management .
- Click on Create button.
- Fill in the form.
- Click on Submit button.
Configure Release Management
After creating a release management plan, it is recommended to configure percentages or rules to perform multiple tests. This step is crucial to ensure that your new version of the API is thoroughly tested and ready for production.
- Adjustment of percentage/rules can be performed repeatedly without any limitations.
- Type of release can be switched directly.
- The use of the Rules type for gray release will not have any effect if there are no requests that match the specified rules.
- Log in to the API7 Enterprise dashboard.
- In the top navigation menu, click on Cluster Management .
- In the left menu bar, click on Cluster List .
- Click on View button of the specific cluster.
- In the left menu bar, click on Workspaces .
- Click on View button of the specific workspace.
- In the left menu bar, click on API Management-Release Management .
- Modify the configuration of the release management.
- Click on Submit button.
Cancel Task
Verify that the canary upstream is not as expected or unstable, abandon the update of the upstream of the API, and all requests to the target API are still forwarded to the current upstream.
- Only tasks with a status of "In progress" can be canceled.
- Successfully canceled tasks cannot be restored.
- Log in to the API7 Enterprise dashboard.
- In the top navigation menu, click on Cluster Management .
- In the left menu bar, click on Cluster List .
- Click on View button of the specific cluster.
- In the left menu bar, click on Workspaces .
- Click on View button of the specific workspace.
- In the left menu bar, click on API then click on Release Management .
- Click on More dropdown menu for the corresponding task, and then Click on Cancel task button.
- Click on OK button.
Delete Task
Cancel the gray release task and delete the task record.
- Tasks with a status of "In progress" and "Canceled" can be deleted.
- Log in to the API7 Enterprise dashboard.
- In the top navigation menu, click on Cluster Management .
- In the left menu bar, click on Cluster List .
- Click on View button of the specific cluster.
- In the left menu bar, click on Workspaces .
- Click on View button of the specific workspace.
- In the left menu bar, click on API then click on Release Management .
- Click on More dropdown menu for the corresponding task, and then Click on Delete button.
- Click on OK button.
Full Release
When the canary upstream meets expectations and runs stably, forward all requests of the target API to the canary upstream and replace the upstream configure in the route/API.
- Only tasks with the status of "In progress" can be fully released.
- Log in to the API7 Enterprise dashboard.
- In the top navigation menu, click on Cluster Management .
- In the left menu bar, click on Cluster List .
- Click on View button of the specific cluster.
- In the left menu bar, click on Workspaces .
- Click on View button of the specific workspace.
- In the left menu bar, click on API then click on Release Management .
- Click on More dropdown menu for the corresponding task, and then Click on Full release button.
- Click on OK button.