Todos los productos
Search
Centro de documentos

Serverless App Engine:Versión canary para una aplicación

Última actualización: Sep 05, 2026

Configure una versión canary para implementar gradualmente una nueva versión de la aplicación y revertirla si surgen problemas.

Requisitos previos

La aplicación cuenta con más de una instancia.

Información de contexto

Una versión canary permite desplegar una nueva versión de la aplicación junto con la versión existente. Esta estrategia facilita probar el rendimiento de la nueva versión con un subconjunto pequeño de tráfico, lo que ayuda a identificar y corregir problemas de forma temprana sin comprometer la estabilidad general del sistema.

Durante una versión canary, el lote canary no puede superar el 50% del total de instancias para garantizar la estabilidad. Las instancias restantes se despliegan en lotes posteriores. Una vez liberado el primer lote, decida manualmente si continúa con el siguiente; esto le permite recopilar comentarios y monitorear el rendimiento antes de un despliegue completo.

Una versión canary utiliza uno de los dos enfoques principales:

  • División de tráfico: enrute un porcentaje del tráfico hacia la nueva versión. Por ejemplo, envíe el 20% del tráfico a la nueva versión y el 80% a la versión anterior.

  • Enrutamiento basado en contenido: enrute el tráfico según los atributos de la solicitud, como encabezados o ID de usuario. Por ejemplo, dirija las solicitudes de usuarios específicos a la nueva versión.

En comparación con una versión por fases, una versión canary ofrece un control más granular sobre el tráfico. Para obtener más información sobre las versiones por fases, consulte Perform a phased release for an application.

Escenario de ejemplo

Una aplicación tiene 10 instancias que ejecutan la Versión 1 (Ver.1). Es necesario actualizar todas las instancias a la Versión 2 (Ver.2). En este escenario, primero ejecute una versión canary en 2 instancias y luego despliegue las 8 instancias restantes en 3 lotes. El siguiente diagrama ilustra este proceso.

image

Procedimiento

Aviso

Después de volver a desplegar una aplicación, esta se reinicia. Para evitar errores impredecibles, como interrupciones del servicio, se recomienda desplegar las aplicaciones fuera de las horas pico.

  1. En la página SAE Application List, seleccione una región y un espacio de nombres en la parte superior, y haga clic en el ID de la aplicación objetivo para abrir la página de detalles de la aplicación.

  2. En la página Basic Information de la aplicación objetivo, haga clic en Deploy Application.

  3. Configure los parámetros de despliegue.

    Nota

    El método de despliegue de una aplicación se basa en el método que seleccionó para la aplicación la primera vez. Configure los parámetros según el método seleccionado.

    • Despliegue con paquetes WAR: cargue otro paquete WAR o introduzca la ruta de un paquete WAR recién desplegado, y configure el entorno de ejecución y otros ajustes.

    • Despliegue con paquetes JAR: cargue otro paquete JAR o introduzca la ruta de un paquete JAR recién desplegado, y configure el entorno de ejecución y otros ajustes.

    • Despliegue con paquetes ZIP: cargue otro paquete ZIP o introduzca la ruta de un paquete ZIP recién desplegado, y configure el entorno de ejecución y otros ajustes.

    • Imagen: en la sección Configure Image, haga clic en Modify Image. En el panel Modify Image, seleccione otro repositorio de imágenes o versión de imagen.

  4. En la sección Release Policy Settings, configure la versión canary.

    Parámetro

    Descripción

    Release Policy

    Seleccione Canary Release (Phased).

    Instances for Canary Release

    Especifique el número de instancias que se incluirán en el lote canary inicial.

    Remaining Batches After Canary Release

    Después de la versión canary, las instancias restantes se despliegan en el número especificado de lotes.

    Peak Volume

    Corresponde al parámetro MaxSurge de Kubernetes: el número máximo de instancias que se pueden crear por encima del recuento deseado durante una actualización.

    Importante

    Esta función se encuentra en vista previa por invitación. Para solicitar acceso, póngase en contacto con nuestro equipo en el grupo de DingTalk (ID: 32874633).

    Nota
    • Si Minimum Available Instances está establecido en 100% (lo que significa que MaxUnavailable es 0), Peak Volume no puede ser 0.

    • Si utiliza un porcentaje, el valor se redondea hacia arriba. Por ejemplo, si tiene 5 instancias y establece este valor en 25%, el valor de Peak Volume será 2.

    Minimum Available Instances

    El número mínimo de instancias que deben permanecer disponibles durante una actualización continua.

    Nota
    • Se recomienda establecer Minimum Available Instances en 1 o más para garantizar la continuidad del servicio. Si se establece en 0, la aplicación se interrumpirá durante la actualización.

    • Si utiliza un porcentaje, el valor se redondea hacia arriba. Por ejemplo, si tiene 5 instancias y establece este valor en 25%, el número de Minimum Available Instances será 2.

    Enable Layer 7 traffic canary release rule (Kubernetes Ingress)

    Solo surte efecto después de crear una regla de versión canary para tráfico de capa 7 (Kubernetes Ingress).

    Enable Canary Release Rule of Microservices (Spring Cloud and Dubbo Applications)

    Solo surte efecto después de crear una regla de versión canary para tráfico de microservices.

  5. Una vez completada la configuración, haga clic en OK.

  6. Compruebe el despliegue de una de las siguientes maneras:

    • Método 1: en la página Change Records de la aplicación, consulte los detalles del cambio y el estado de la versión. Si todos los lotes se completan correctamente, la actualización de la aplicación habrá finalizado.

    • Método 2: en la pestaña Instances de la página Basic Information de la aplicación, compruebe el estado de la instancia. Si el Status es Running, la aplicación se desplegó correctamente.

Reversión de la aplicación

Cuando actualiza una aplicación mediante una versión canary o una versión por fases, el estado de la aplicación permanece como Executing hasta que se actualizan todas las instancias.

Si el primer lote de instancias deja de responder debido a un problema inesperado durante la actualización, vaya a la página Change Details y haga clic en Roll Back Now. Esto revierte las instancias actualizadas a la versión anterior y restaura sus configuraciones originales.

Si ocurre una excepción durante el proceso de cambio, como un paquete de despliegue no disponible o un error en la comprobación de estado, la actualización fallará. SAE detiene automáticamente el proceso e inicia una reversión de la aplicación.

Una actualización de aplicación en SAE expira después de aproximadamente 30 minutos. Si esto sucede, SAE reporta una excepción de tiempo de espera y pausa el proceso de cambio. Debe ir a la página Change Details para abortar manualmente la versión y revertir la aplicación.

Abortar una versión

Para detener una versión en curso, haga clic en Stop Deployment en la página Change Details.

Importante

Abortar una versión puede provocar que varias versiones de su aplicación se ejecuten simultáneamente:

  • Instancias ya desplegadas: continuarán ejecutándose en su estado actual y no se revertirán.

  • Instancias en proceso de despliegue: estas instancias finalizarán su despliegue y luego ejecutarán la nueva versión de esta entrega.

  • Instancias aún no desplegadas (incluidas todas las instancias de lotes posteriores): permanecerán en su estado actual y el proceso de versión se detendrá para ellas.

  • Nuevas instancias por auto scaling: utilizarán la nueva versión para eventos de escalado horizontal.

Después de abortar, se recomienda volver a desplegar la aplicación o revertir a una versión anterior lo antes posible para garantizar que todas las instancias ejecuten la misma versión.

Más información

Después de desplegar una aplicación en SAE, realice las siguientes operaciones.

Acciones

Documentación relacionada

Gestione el ciclo de vida de la aplicación, como actualizar, escalar, iniciar, detener o eliminar la aplicación.

Manage the lifecycle of an application

Optimice el rendimiento de la aplicación mediante la configuración de auto scaling, la vinculación de una instancia de Server Load Balancer (SLB) o la creación de reglas programadas de inicio y detención.

Monitoree el estado de la aplicación mediante la gestión de registros, la visualización de datos de monitoreo, la comprobación de eventos y la revisión de historiales de cambios.