Canary release helps developers smoothly update applications to a later version. Enterprise Distributed Application Service (EDAS) supports canary traffic adjustment on a single application and end-to-end traffic adjustment on multiple applications.

Scenarios

You can implement traffic adjustment on a single application and multiple applications based on the following two methods: HTTP and High-Speed Service Framework (HSF).

  • Update of a single application

    New versions are continuously released in the application iteration process. Before a new version is officially released, you can use canary traffic adjustment to verify the new version on a small number of instances by collecting the user experience data. This way, you can check the metrics, such as features, performance, and stability, of the new application version before you perform a full update.

  • Multi-application troubleshooting

    When your HSF microservice-oriented applications that are deployed in EDAS fail to work, you can perform end-to-end traffic adjustment to route specific traffic to an application for troubleshooting problems in the application. This ensures that all microservice-oriented applications can run as expected.

Ingress application and traffic adjustment rules

In end-to-end traffic adjustment, you must first specify the ingress application. Then, you must specify a traffic adjustment rule based on HTTP or HSF.

  • For HTTP traffic, canary traffic is identified only after the traffic accesses the ingress application. The traffic that complies with the rule is marked as canary traffic. In simple terms, EDAS only identifies canary traffic.
    Important
    • EDAS identifies canary traffic only for the allocated HTTP traffic. End-to-end traffic adjustment cannot route HTTP canary traffic. EDAS identifies canary traffic based on HTTP traffic on the ingress application and routes HSF canary traffic that is generated in each subsequent step.
    • The HTTP traffic adjustment rule for a single application is different from the end-to-end traffic adjustment rule for multiple applications. The former is used for application instance groups. EDAS uses this rule to identify canary traffic and routes the canary traffic to the application instance groups.
  • For HSF traffic, canary traffic is identified and routed before the traffic reaches the ingress application. If the ingress application has an instance in the current canary instance group, the canary traffic is directly routed to the canary instance group. Otherwise, the canary traffic is routed to the default group of this ingress application. In simple terms, EDAS identifies canary traffic and routes it.

    You can specify a canary traffic adjustment rule for multiple applications in a similar way as the traffic adjustment rule for a single application. The difference is that you can specify multiple rules for canary traffic adjustment on multiple applications.

    • You must specify the traffic protocol type for each rule. The traffic supports two protocol types: HTTP and HSF.
    • Each rule can have multiple rule conditions that are in the AND or OR relationship.

Traffic adjustment environment

EDAS manages canary releases by defining a traffic adjustment environment. A traffic adjustment environment consists of the ingress application and identification rules. It is also a logical space that contains application instance groups that are deployed in the traffic adjustment environment. Therefore, you can add or remove an instance group that is a non-default group of an application to or from a traffic adjustment environment.

Flexible features

The end-to-end traffic adjustment solution of EDAS implements canary release and traffic adjustment by using the EDAS console. The solution provides the following flexible features:

  • You need only to prepare instance resources for the applications that require canary release. You do not need to build an entire service system.
  • The solution allows you to enable canary release for multiple applications and specify different rules of canary traffic adjustment for different applications. The solution even allows one application to be involved in multiple rules for canary traffic adjustment at the same time.
  • The solution supports link-based canary release. This indicates that the solution allows multiple applications to be deployed in the same traffic adjustment environment. The canary traffic identified by the upstream process can pass through immediate application instances that do not require canary release. The canary traffic can still be routed to the corresponding canary application instance in the downstream process.