es una plataforma PaaS serverless orientada a aplicaciones. Libera a los usuarios de Platform as a Service (PaaS) de las tareas de operación y mantenimiento de Infrastructure as a Service (IaaS), permite usar recursos bajo demanda con facturación pay-as-you-go y reduce la barrera para migrar a la nube aplicaciones construidas con stacks tecnológicos como microservices, Java y PHP. Este tema describe el flujo de trabajo de despliegue de y señala las prácticas recomendadas para cada área de capacidad.
Flujo de trabajo de despliegue
La siguiente figura muestra el flujo de trabajo de SAE.

El flujo de trabajo consta de cuatro etapas. Las etapas 1 a 3 conforman la ruta mínima para tener una aplicación en ejecución. La etapa 4 abarca las capacidades que se agregan conforme la aplicación avanza hacia producción.
-
Planifique los recursos y complete los preparativos. Antes de desplegar una aplicación de SAE por primera vez, planifique su Virtual Private Cloud (VPC), vSwitches y namespaces. Los namespaces separan entornos como pruebas, preproducción y producción. Consulte Before you begin en este tema y Prerequisites.
-
Despliegue su aplicación. Despliegue la aplicación en la consola de SAE. Para más detalles, consulte Application deployment y Deploy an application en este tema. Además del despliegue desde la consola, SAE admite el despliegue mediante Jenkins, complementos de IDE, complementos de Maven, Terraform, OpenAPI, Alibaba Cloud DevOps y la herramienta kubectl-sae.
NotaSi es la primera vez que despliega una aplicación en SAE, cree la aplicación en la consola de SAE.
-
Haga accesible su aplicación. Elija un método de acceso según la forma en que los clientes se conectan a la aplicación. Para una comparación completa de los métodos y sus implementaciones, consulte Application access en este tema.
Ingress (recomendado) — Un solo puerto atiende a varias aplicaciones y el tráfico se enruta a distintas aplicaciones según los nombres de dominio y las rutas. Para más detalles, consulte Configure an ingress.
Service — Un puerto atiende a una sola aplicación. Utilice un Service cuando necesite acceso TCP de capa 4 o cuando el acceso basado en dominio no esté disponible. Para exponer un Service con una instancia de Network Load Balancer (NLB), consulte Bind an NLB instance to an application.
Elastic IP address (EIP) — Se puede vincular una instancia a una EIP, lo que permite que la instancia envíe y reciba tráfico de Internet. Para más detalles, consulte Configure an EIP to enable public access for an SAE instance.
Configure funciones avanzadas. Las siguientes secciones de este tema describen las capacidades que puede agregar a una aplicación de SAE:
Control de acceso: Permission configuration
Elasticidad para reducción de costos y eficiencia: Elasticity
Mejoras para microservices Java: Microservices
Alta disponibilidad (HA): High availability
Almacenamiento: Storage
-
Antes de empezar
Si es nuevo en SAE, vea el video para conocer SAE y sus operaciones básicas.
Para obtener detalles sobre el servicio, consulte What is Serverless App Engine?.
Requisitos previos
Prepare los siguientes elementos antes de su primer despliegue:
Recursos de red — Planifique una VPC y sus vSwitches. Al crear un vSwitch, planifique la cantidad de direcciones IP como se describe en Limits and quotas.
Namespaces — Planifique los namespaces que separan sus entornos de prueba, preproducción y producción.
Origen de la aplicación — Prepare un paquete de código o una imagen de contenedor. Para ver los orígenes compatibles, consulte Deployment sources.
-
Entrada a la consola — Cree su primera aplicación en la consola de SAE.
Para más detalles, consulte Prerequisites.
Límites y cuotas
Tome en cuenta los siguientes límites durante la planificación. Cada uno afecta la posibilidad de crear, escalar u observar una aplicación.
Disco del sistema — SAE proporciona 20 GB de almacenamiento en disco del sistema. Para leer o escribir en almacenamiento externo, utilice Apsara File Storage NAS u Object Storage Service (OSS). Para más detalles, consulte Storage.
Registros en tiempo real — La función de registros en tiempo real muestra 500 líneas de datos de registro. Para ver más datos, utilice la recolección de registros de archivos. Para más detalles, consulte Logs.
Cantidad de EIP — Cuando cada instancia se vincula a una EIP, asegúrese de que la cantidad de EIP sea como mínimo igual al número de instancias más uno. Si las EIP son insuficientes, la creación de instancias falla y la instancia no puede atender tráfico.
Direcciones IP de vSwitch — Planifique 100 o más direcciones IP para cada vSwitch, ya que la falta de direcciones IP provoca fallos en la creación y en el escalado elástico.
Asignación de puertos — Un Service expone un puerto para una aplicación. Un ingress expone un puerto para varias aplicaciones.
Desplegar una aplicación
Esta sección describe los orígenes de despliegue que admite SAE, la configuración que se establece durante el despliegue, los canales de entrega automatizada y cómo publicar, revertir y otorgar acceso a una aplicación.
Orígenes de despliegue
SAE admite code package deployment y image deployment.
Comando y parámetros de inicio
El comando de inicio se define de manera distinta para cada origen de despliegue.
Despliegue por imagen — Defina el comando de inicio y sus parámetros directamente en el Dockerfile. También puede sobreescribir el comando de inicio al crear la aplicación.
Despliegue por paquete de código — Configure los parámetros del comando de inicio de la aplicación. Para aplicaciones Java, el formato predeterminado del comando es
java [-Options] -jar jarfile [arg...], donde puede personalizar los parámetros[-Options]y[arg...].
Variables de entorno
Una aplicación requiere variables de entorno específicas para ejecutarse en el sistema antes de que puedan ejecutarse sus comandos. Las variables de entorno se almacenan como pares clave-valor. Cada aplicación tiene sus propias variables de entorno, las cuales no afectan a otras aplicaciones. Para más detalles, consulte Configure environment variables.
Vinculación de hosts
Con Hosts binding, una aplicación de SAE puede usar un nombre de dominio en lugar de una dirección IP para acceder a servicios externos.
Lista blanca de base de datos
A diferencia del despliegue directo de aplicaciones en instancias de Elastic Compute Service (ECS), SAE ejecuta aplicaciones en contenedores, por lo que la dirección IP puede cambiar cada vez que se despliega una aplicación. El bloque CIDR del vSwitch al que está vinculada la aplicación no cambia, así que agregue el bloque CIDR del vSwitch a la lista blanca de la base de datos. Para más detalles, consulte Access Alibaba Cloud databases from applications.
CI/CD y complementos de despliegue
Además del despliegue desde la consola y la API, SAE se integra con muchas herramientas de CI/CD, generalmente Alibaba Cloud DevOps y Jenkins, para que el despliegue inicie automáticamente después de un commit de código. Si utiliza Java, SAE también ofrece un conjunto de complementos de despliegue, incluidos complementos para Maven, IntelliJ IDEA y Eclipse. Para más detalles, consulte Overview of application hosting.
Para gestionar los recursos de SAE como código, utilice Terraform. Para más detalles, consulte terraform-provider-alicloud y Terraform overview.
Para desarrollo local y depuración conjunta con servicios que ya se ejecutan en la nube, consulte Microservices development.
Publicación y reversión
SAE admite publicación por lotes únicos, publicación por fases y publicación canary. Si una versión causa problemas, puede revertir la aplicación a una versión histórica. Para más detalles, consulte Upgrade and roll back an application.
Configuración de permisos
SAE admite control de acceso detallado a nivel de namespace, aplicación y lectura/escritura, y el asistente de permisos simplifica el proceso de configuración. Para más detalles, consulte SAE permission assistant.
Acceso a la aplicación
Esta sección aborda los conceptos de red en los que se basa SAE, los métodos de acceso para cada dirección de tráfico y las comparaciones que ayudan a elegir entre ellos. Para más detalles, consulte Application access and traffic management.
En SAE, un Service se expone con una instancia de NLB o Classic Load Balancer (CLB), mientras que un ingress se implementa con API Gateway, Application Load Balancer (ALB) o un gateway nativo de la nube MSE.
Conceptos de red
La siguiente figura muestra cómo se relacionan estos recursos de red de Alibaba Cloud.

-
VPC — Una red privada personalizada que usted crea en Alibaba Cloud. Las VPC están completamente aisladas entre sí en la capa lógica.
NotaDe forma predeterminada, una red privada no puede acceder a Internet.
vSwitch — Un dispositivo de red básico de una VPC que corresponde a un centro de datos físico. Al crear un recurso en la nube dentro de una VPC, debe especificar el vSwitch al que se conecta el recurso.
EIP — Una Elastic IP address que solo se puede vincular a un recurso, como una instancia de ECS o una instancia de SAE. El recurso vinculado puede enviar y recibir tráfico de Internet.
NAT Gateway — Permite que los recursos de una VPC accedan a Internet mediante SNAT. La diferencia clave respecto a una EIP es que un NAT gateway de Internet atiende a todos los recursos de una VPC, mientras que una EIP solo atiende a un recurso dentro de la VPC.
Métodos de acceso según la dirección del tráfico
Después de desplegar una aplicación en SAE, es posible que enfrente los siguientes requisitos de acceso a la red. La siguiente figura ilustra estos conceptos.

Acceso entrante desde Internet
Una aplicación de SAE que deba ser accesible a través de Internet puede utilizar los siguientes métodos.
Service de SAE: acceda a la aplicación mediante un Service, que puede exponer con un public-facing NLB o un public-facing CLB.
Ingress de SAE: acceda a la aplicación mediante un ingress, que puede implementar con un public-facing API Gateway, un public-facing ALB o un public-facing MSE cloud-native gateway. Este método enruta el tráfico a diferentes aplicaciones de SAE según los nombres de dominio y las rutas.
EIP de SAE: bind an EIP to each instance of an SAE application para que la instancia pueda enviar y recibir tráfico de Internet.
Acceso saliente a Internet
Una aplicación de SAE que necesite conectarse a Internet puede utilizar los siguientes métodos.
NAT Gateway: configure an Internet NAT gateway for the VPC associated with the SAE application para que todas las aplicaciones relacionadas de SAE puedan acceder a Internet.
EIP de SAE: bind an EIP to each instance of an SAE application para que la instancia pueda enviar y recibir tráfico de Internet.
Acceso mutuo entre aplicaciones
Cada despliegue genera una nueva dirección IP interna, por lo que las aplicaciones de SAE no pueden acceder entre sí directamente mediante la dirección IP de la instancia. Utilice los siguientes métodos en su lugar.
Service de SAE: acceda a la aplicación mediante un Service, que puede exponer con un internal-facing NLB o un internal-facing CLB.
Ingress de SAE: acceda a la aplicación mediante un ingress, que puede implementar con un internal-facing API Gateway, un internal-facing ALB o un internal-facing MSE cloud-native gateway. Este método enruta el tráfico a diferentes aplicaciones de SAE según los nombres de dominio y las rutas.
-
Para el acceso mutuo entre aplicaciones de microservices mediante un registro de servicios, consulte Service registry and configuration center.
Acceso a otros recursos en una VPC
SAE se basa en la red VPC de Alibaba Cloud, por lo que puede acceder a recursos en la misma VPC, como instancias de ECS, ApsaraDB RDS y ApsaraDB for Tair (compatible con Redis), sin configuración adicional. A su vez, los recursos de Alibaba Cloud en la misma VPC también pueden acceder a SAE.
Confirme que el security group y la lista blanca del servicio de destino permiten el tráfico. Si el acceso sigue fallando, consulte Troubleshooting.
Comparación de los métodos de acceso
Service o ingress
Un ingress de SAE enruta el tráfico a diferentes aplicaciones según los nombres de dominio y las rutas, como se muestra en la siguiente figura, mientras que un Service no lo hace. Utilice primero un ingress si cumple con sus requisitos. Use un Service cuando necesite acceso TCP de capa 4 o cuando el acceso basado en dominio no esté disponible.

Ingress ALB o ingress CLB
ALB es un servicio de balanceo de carga de Alibaba Cloud diseñado para escenarios de capa de aplicación como HTTP, HTTPS y QUIC. Para escenarios de ingress, utilice primero ALB. Para más detalles, consulte Introduction to the Server Load Balancer (SLB) product family.
Acceso a Internet basado en NAT o basado en EIP
La siguiente figura muestra el acceso a Internet basado en EIP, donde cada instancia se vincula a una EIP. Si las EIP son insuficientes, la creación de instancias falla y la instancia no puede atender tráfico.

La siguiente tabla describe las principales diferencias entre el modo NAT y el modo EIP.
|
Elemento de comparación |
NAT |
EIP |
|
Alcance efectivo |
Un NAT gateway se puede controlar a nivel de VPC o vSwitch y proporciona un servicio de proxy para todas las instancias sin dirección IP pública en la VPC o el vSwitch. Solo necesita un NAT gateway para una VPC o vSwitch, y todas sus instancias podrán acceder a Internet. |
Una EIP funciona a nivel de instancia. Por ejemplo, 10 instancias requieren 10 EIP. Después de vincular una EIP a una instancia, esta puede enviar y recibir tráfico de Internet. |
|
Dirección IP pública estática |
Sí. |
No. SAE destruye la instancia original y desvincula la EIP original solo después de que la nueva instancia se vincula a una EIP. Por lo tanto, asegúrese de que la cantidad de EIP sea como mínimo igual al número de instancias más uno. Las EIP cambian y provienen de un pool de direcciones IP. |
|
Escenarios típicos |
La aplicación escala automáticamente, las nuevas instancias requieren acceso saliente a Internet de forma predeterminada y se necesita una dirección IP estática. |
Se aceptan cambios de EIP y necesita conectarse directamente a las instancias, por ejemplo, para reuniones en línea. También desea un control detallado sobre el ciclo de vida de cada instancia. |
|
Facturación |
Para detalles de facturación, consulte NAT Gateway billing. |
Para detalles de facturación, consulte EIP billing. Las EIP son más rentables cuando tiene 20 instancias o menos. |
Microservices
SAE ofrece mejoras para microservices en registro y descubrimiento de servicios, gestión de configuración, eficiencia de desarrollo y gobernanza de servicios.
Registro de servicios y centro de configuración
Las aplicaciones de SAE se registran y se descubren mutuamente mediante un registro de servicios. Elija una implementación según sus necesidades.
MSE Nacos (recomendado) — Use the Nacos service registry of MSE, que funciona tanto como registro de microservices como centro de configuración.
Registro de servicios Nacos integrado — El registro de servicios Nacos integrado en SAE. Para las aplicaciones que lo utilizan, SAE proporciona capacidades básicas de consulta de listas de servicios.
-
Gestión de configuración integrada — La función distributed configuration management (ACM) integrada en SAE, que funciona como centro de configuración.
Para más detalles sobre el registro y descubrimiento, incluida la compatibilidad con otros registros de servicios, consulte Service registration and discovery based on Nacos and other service registries.
Desarrollo de microservices
Despliegue automático desde un IDE
En comparación con reempaquetar y redesplegar una aplicación cada vez, el despliegue con un solo clic desde un IDE reduce el tiempo de despliegue y mejora la eficiencia del desarrollo. Para más detalles, consulte Use Alibaba Cloud Toolkit to automatically deploy a microservice to SAE.
Interconexión local y en la nube
Tras adoptar una arquitectura de microservices, el número de aplicaciones crece. En casos extremos, el desarrollo local y la depuración conjunta requieren iniciar todas las aplicaciones de microservices relacionadas. Para resolver este problema, utilice la capacidad de interconexión local y en la nube del complemento Alibaba Cloud Toolkit. Por ejemplo, puede conectar un consumidor local directamente a un proveedor desplegado en SAE, de modo que no necesite iniciar el proveedor localmente. Esto reduce los costos de desarrollo y depuración. Para más detalles, consulte Use Cloud Toolkit to implement interconnection between on-premises and cloud applications (IntelliJ IDEA).
Gobernanza de servicios
Lista de servicios
Para las aplicaciones que usan el registro de servicios Nacos integrado, SAE proporciona capacidades básicas de consulta de listas de servicios. Si utiliza un registro de servicios autogestionado o un registro de servicios MSE, inicie sesión en la consola correspondiente para consultar los servicios en lugar de verlos en la consola de SAE. Para más detalles, consulte View the service list.
Publicación canary de microservices
SAE gestiona el ciclo de vida de la aplicación y también proporciona capacidades de publicación canary para la fase de publicación de aplicaciones de microservices. Para más detalles, consulte Manage canary release rules y Perform a canary release for an application.
Compatibilidad con múltiples lenguajes
Compatibilidad con el entorno de ejecución PHP
SAE admite los siguientes métodos de despliegue para aplicaciones PHP.
Imagen: cualquier arquitectura de aplicación PHP.
-
Paquete ZIP de PHP: cualquier aplicación en línea que utilice una arquitectura PHP-FPM y Nginx.
SAE proporciona un entorno de ejecución PHP de forma predeterminada.
Depuración remota de PHP
SAE incluye un complemento Xdebug integrado que puede habilitar para la depuración remota. Para mover archivos entre una instancia y su máquina local mientras depura, consulte Upload and download files.
Registros
SAE recolecta dos tipos de registros: registros de archivos de negocio, que son los registros en la ruta de registros del contenedor, y registros de salida estándar (stdout) del contenedor. Elija un destino según la cantidad de datos de registro que necesite y cómo desee analizarlos.
Registros en tiempo real en la consola — La función de registros en tiempo real de SAE muestra 500 líneas de datos de registro. Úsela para inspeccionar rápidamente la salida de registros.
Simple Log Service (SLS) — SAE envía registros a SLS, donde puede ver una cantidad ilimitada de líneas de registro, agregar y analizar registros por su cuenta e integrar registros de negocio con facilidad. Para enviar registros stdout a SLS, primero redirija la salida estándar a un archivo y luego configure la recolección de archivos.
Kafka — SAE envía registros a Kafka. Utilice Kafka cuando la recolección de SLS no se ajuste a su configuración, por ejemplo, cuando un usuario de Resource Access Management (RAM) no tiene los permisos para ver registros de SLS.
Registros de archivos
SAE integra la recolección de registros de SLS, y solo necesita habilitarla en la consola de SAE. A diferencia del despliegue directo de aplicaciones en instancias de ECS, donde se mantiene manualmente la lista de máquinas de recolección, SAE se conecta automáticamente a la recolección de registros de SLS en cada despliegue y escalado horizontal después de configurar el directorio o el archivo de recolección. Luego puede buscar registros por palabra clave en la consola de SLS. Para más detalles, consulte Configure log collection to SLS.
Para configurar la recolección, vaya a la página Log Configurations y haga lo siguiente:
Active Enable SLS Log Service.
Seleccione Create New SLS Resources o Use Existing SLS Resources.
En la tabla de configuración de recolección, seleccione un Log Type, como Container Standard Output, y establezca el Log Source, como
stdout.log.-
Haga clic en Add para agregar más reglas de recolección.
Los orígenes de registros admiten comodines. Por ejemplo,
/tmp/log/*.logrecolecta todos los archivos que terminan con.logen el directorio/tmp/logy sus subdirectorios.
También puede establecer parámetros de inicio de Logtail con variables de entorno. Para más detalles, consulte Improve Logtail collection performance.
Si importa los registros a Kafka, puede entregar los datos de Kafka a otro almacén persistente, como Elasticsearch, según su escenario de negocio, lo que facilita la gestión y el análisis centralizado de registros. Para más detalles, consulte Configure log collection to Kafka.
Registros en tiempo real
SAE recolecta registros de salida estándar automáticamente, conserva las últimas 500 entradas y le permite verlas en la consola de SAE. Para más detalles, consulte View real-time logs.
En la página Real-time Logs, seleccione una instancia de la lista desplegable Pod Name y establezca la Real-time Log Refresh Rate, que es de 15 s de forma predeterminada.
Para conservar los registros de salida estándar más allá de las últimas 500 entradas, rediríjalos a un archivo:
En el campo args de Startup Command Settings, introduzca
>> /tmp/stdout.log 2>&1para redirigir la salida estándar al archivo/tmp/stdout.log.Configure la recolección de archivos para
/tmp/stdout.logcomo se describe en File logs. También puede ver el archivo en línea a través de Webshell, que solo está disponible cuando la instancia se ejecuta correctamente.
Almacenamiento
Cada instancia de SAE tiene un disco del sistema. Si necesita leer o escribir en almacenamiento externo, utilice Apsara File Storage NAS u OSS. Con NAS y OSS, SAE también admite el hosting independiente de archivos estáticos: persiste código, plantillas y archivos cargados generados en tiempo de ejecución, y comparte archivos entre instancias. Para conocer la capacidad del disco del sistema, consulte Limits and quotas.
En escenarios de registro, utilice SLS en lugar de NAS u OSS. Para más detalles, consulte Configure log collection to SLS.
NAS
SAE admite Apsara File Storage NAS, que resuelve la persistencia de datos para las instancias de aplicaciones y la distribución de datos entre instancias. El almacenamiento NAS solo es accesible después de montarlo en una instancia de ECS o en SAE. Para más detalles, consulte Configure NAS storage.
OSS
OSS proporciona herramientas prácticas y una consola para la gestión visual de buckets. OSS es adecuado para escenarios de lectura intensiva, como montar archivos de configuración o archivos estáticos de front-end. Después de configurar el almacenamiento OSS al desplegar una aplicación en la consola de SAE, puede acceder a los datos en la consola de OSS. Para más detalles, consulte Configure OSS storage.
La herramienta ossfs no se puede utilizar en escenarios de escritura de registros. Para más detalles, consulte ossfs 1.0.
Cargar y descargar archivos
Para descargar un archivo de una instancia de SAE a su máquina local, inicie sesión en la instancia a través de Webshell y utilice la función integrada de carga y descarga de archivos. Para más detalles, consulte Upload and download files using Webshell.
Además del almacenamiento NAS y OSS, puede usar ossutil. NAS y OSS también simplifican el desarrollo y la depuración de código. Puede diagnosticar una aplicación de SAE mediante comprobaciones rutinarias o cargando registros en OSS. Para obtener información sobre cómo cargar y descargar registros con Alibaba Cloud OSS, consulte Diagnose applications through routine checks.
Elasticidad
SAE admite políticas elásticas como escalado manual, escalado programado, escalado basado en métricas, escalado híbrido e inicio y detención programados. La elasticidad es una función típica de las arquitecturas y aplicaciones nativas de la nube: reduce los costos de máquinas y mejora la eficiencia de operación y mantenimiento.
Escalado manual
El escalado manual es adecuado para escenarios con operación y mantenimiento manual. En comparación con el escalado de aplicaciones desplegadas directamente en instancias de ECS, el escalado de SAE se basa en imágenes de contenedor y es más rápido. Para más detalles, consulte Manual scaling.
Escalado programado
El escalado programado es adecuado para escenarios con tráfico predecible. Por ejemplo, las industrias de restaurantes y educación tienen picos de actividad matutinos y vespertinos claros todos los días, por lo que puede configurar diferentes cantidades de instancias para distintos períodos de tiempo y alinear los recursos del servidor con el tráfico real del negocio. Para más detalles, consulte Configure an auto-scaling policy.
Escalado basado en métricas
El escalado basado en métricas es adecuado para escenarios con tráfico relativamente impredecible. Actualmente admite métricas como CPU, memoria, conexiones TCP, QPS y tiempo de respuesta (RT). Para más detalles, consulte Configure an auto-scaling policy.
Escalado híbrido
El escalado híbrido es adecuado para escenarios que requieren tanto el manejo de tráfico repentino como el escalado programado, como en los sectores de internet, educación y servicios de alimentación. En estos casos, se ajusta el número de instancias con una granularidad fina durante periodos de tiempo conocidos.
Por ejemplo, establezca el número máximo de instancias elásticas en max y el mínimo en min durante los días laborables. Si no necesita mantener min instancias los fines de semana, configure una cantidad diferente para esos días y reduzca el valor de min. Para obtener más información, consulte Configure an auto-scaling policy.
Inicio y detención programados
La función de inicio y detención programados permite iniciar y detener aplicaciones por lotes según el namespace y conforme a un horario establecido. Por ejemplo, programe el inicio y la detención de todas las aplicaciones en un entorno de desarrollo o pruebas. Si un entorno de desarrollo o pruebas solo se necesita de 08:00 a 20:00 horas diariamente y permanece inactivo el resto del tiempo, configure el inicio y la detención programados en SAE para reducir costos. Para obtener más información, consulte Create a scheduled start and stop rule.
Monitoreo y alertas
SAE ofrece monitoreo de infraestructura integrado y ARMS Business Monitoring para Java y PHP. La gestión de alertas proporciona agregación de alertas, notificación, escalado automático y otras funciones que le ayudan a detectar y resolver alertas de negocio rápidamente.
Monitoreo de infraestructura
El monitoreo de infraestructura abarca CPU, carga, memoria, disco, red y conexiones TCP. Para obtener más información, consulte Infrastructure monitoring. Actualmente, el monitoreo de infraestructura funciona con Alibaba Cloud CloudMonitor, por lo que también puede iniciar sesión en la consola de CloudMonitor para configurar un panel de monitoreo personalizado.
Monitoreo de aplicaciones
En una arquitectura de microservices, la ausencia de un sistema de monitoreo dificulta la detección y el diagnóstico de problemas. SAE integra Application Real-Time Monitoring Service (ARMS) para proporcionar paneles de aplicaciones, monitoreo de JVM, monitoreo de llamadas lentas, análisis de rastreo y alertas. Esto reduce la barrera de entrada para que las empresas adopten una arquitectura de microservices. Para obtener más información, consulte Application Monitoring.
La edición de ARMS que integra una aplicación y las tarifas aplicables dependen de la edición de la aplicación.
Las aplicaciones Professional Edition de SAE integran la función de monitoreo de aplicaciones ARMS Premium Edition. Una vez que habilite el monitoreo de aplicaciones, no se generarán cargos adicionales y su aplicación se monitoreará en tiempo real. Para obtener más información, consulte Professional Edition application monitoring.
Las aplicaciones Standard Edition de SAE integran el monitoreo ARMS Basic Edition, que es gratuito tras habilitar el monitoreo de aplicaciones. Standard Edition también ofrece un punto de entrada para habilitar el monitoreo ARMS Premium Edition. Si habilita ARMS Premium Edition en una aplicación Standard Edition, se generarán cargos adicionales y deberá consultar los datos en la consola de ARMS. Para obtener más información, consulte Standard Edition application monitoring.
Configuración de alertas
SAE le permite configurar alertas para todos los elementos de monitoreo mencionados anteriormente. Para obtener más información, consulte Alert management.
Alta disponibilidad
Después de desplegar una aplicación en SAE, tres capacidades protegen su disponibilidad: las comprobaciones de estado indican si las instancias y los servicios de la aplicación se ejecutan correctamente y ayudan a localizar problemas cuando ocurren excepciones; el despliegue multi-vSwitch maneja fallos a nivel de centro de datos; y la limitación de tráfico y la degradación protegen la aplicación ante picos de tráfico repentinos.
Despliegue multi-vSwitch
Para manejar fallos a nivel de centro de datos, configure varios vSwitches en las aplicaciones SAE de grado de producción. Al crear un vSwitch, planifique un número suficiente de direcciones IP (100 o más), ya que la insuficiencia de direcciones IP provoca fallos en la creación o en el escalado elástico. Para obtener más información, consulte Switch vSwitches.
Con múltiples vSwitches, SAE escala los recursos automáticamente en varias zonas, por lo que no necesita rastrear cómo se distribuyen los recursos y el pool de recursos general permanece disponible. Por ejemplo, cuando ocurre un punto único de fallo o un fallo de zona, SAE migra la misma cantidad de instancias defectuosas a nodos sanos u otras zonas.
Configure varios vSwitches de cualquiera de las siguientes maneras.
Durante la creación: seleccione dos o más vSwitches en diferentes zonas para lograr recuperación ante desastres multizona.
Después de la creación: en la página Application Information, haga clic en el enlace Multi-vSwitch Deployment y agregue un vSwitch.
Cuando agregue un vSwitch, actualice la lista blanca de la base de datos en consecuencia. Para obtener más información, consulte Access Alibaba Cloud databases from applications.
Inicio y apagado controlados
Al desplegar una aplicación en SAE, el proceso generalmente escala horizontalmente primero y luego reduce su capacidad. El inicio y apagado controlados del tráfico implican dos puntos críticos principales.
Si una instancia recién escalada está lista para manejar tráfico.
-
Cómo destruir una instancia antigua de forma controlada.
SAE se basa en Kubernetes y proporciona dos comprobaciones de estado: la prueba de actividad (liveness probe) para instancias de aplicaciones y la prueba de preparación (readiness probe) para servicios de aplicaciones. Para abordar los dos puntos críticos, SAE admite la prueba de preparación. Esta prueba verifica periódicamente si una instancia está lista, y SAE enruta el tráfico a una nueva instancia solo después de que esta esté lista. Si la comprobación falla, SAE no enruta tráfico a la instancia. Antes de destruir una instancia antigua, se elimina del lado del tráfico, y usted puede configurar un script de apagado y un tiempo de espera antes de que se destruya la instancia. Para obtener más información, consulte Configure health checks.
La prueba de actividad también comprueba periódicamente si una instancia se ha iniciado. Si la comprobación falla, SAE reinicia el contenedor automáticamente. Esta función admite operaciones y mantenimiento automatizados para escenarios de excepción, pero puede perder el contexto del fallo e impedirle investigar la causa. Decida si debe configurar la prueba de actividad según su escenario.
Además de la prueba de preparación y la prueba de actividad, los escenarios de microservices requieren un apagado controlado para resolver el problema de caché del registro de servicios. Dado que el cliente consumidor almacena datos en caché, no puede recibir a tiempo la notificación de desconexión de un proveedor de microservices. Como resultado, generalmente es necesario dar de baja la instancia del proveedor en el registro de servicios y esperar a que se actualice la caché del consumidor. Para resolver este problema, SAE se integra con la función de apagado controlado de Microservices Engine (MSE) y convierte este proceso en una capacidad del producto.
En un entorno de producción, funciones como el escalado elástico automático y la reversión o actualización pueden causar indisponibilidad del servicio a corto plazo o una gran cantidad de errores en el monitoreo de negocio. Para abordar estos puntos críticos, SAE admite el inicio controlado para microservices. Un consumidor puede llamar a un proveedor de microservices tan pronto como el proveedor se registre en el registro de servicios. Sin embargo, en ese momento, es posible que el proveedor aún requiera inicialización adicional, como la inicialización del pool de conexiones de la base de datos. Habilite el inicio controlado para aplicaciones de microservices con mucho tráfico. Para obtener más información, consulte Configure graceful start and shutdown.
Limitación de tráfico y degradación
Independientemente de si una aplicación utiliza una arquitectura de microservices o monolítica, puede fallar repentinamente al enfrentar tráfico repentino, como en una venta flash, y una aplicación de microservices también puede provocar un fallo en cascada. Para estos escenarios de alto tráfico, SAE integra la capacidad de protección de tráfico de Microservices Engine (MSE), que le permite configurar y gestionar reglas de limitación de tráfico y degradación para aplicaciones Java con facilidad, además de salvaguardar la disponibilidad de la aplicación. Para obtener más información, consulte Traffic protection.
Solución de problemas
Utilice los siguientes puntos de entrada cuando una aplicación no se ejecute o no sea accesible.
Comprobar si las instancias y los servicios se ejecutan correctamente: configure las comprobaciones de estado y consulte los resultados para localizar problemas cuando ocurran excepciones. Para obtener más información, consulte Graceful start and shutdown.
Consultar la salida de la aplicación: vea las entradas más recientes de la salida estándar en la página Real-time Logs, o busque registros recopilados en la consola de SLS. Para obtener más información, consulte Logs.
Comprobar la conectividad de red: confirme que el security group y la lista blanca del servicio de destino permiten el tráfico. Para más pasos de solución de problemas, consulte FAQs.
Comprobar un registro de microservices Java o un centro de configuración: verifique la versión de nacos-client, compruebe la configuración del centro de configuración integrado (ACM) o del centro de configuración de MSE, y asegúrese de que los nombres de los namespaces sean consistentes.
Siguientes pasos
Una vez que su aplicación se esté ejecutando, continúe con la ruta que se ajuste a su objetivo:
Fortalezca el proceso de versión y el control de acceso: consulte Deploy an application.
Agregue observability: consulte Logs y Monitoring and alerts.
Prepárese para una disponibilidad de grado de producción: consulte High availability.
-
Controle el costo de un entorno de pruebas: utilice Scheduled start and stop o Manual scaling para liberar las instancias que ya no necesite.
Para diversos requisitos de negocio, SAE proporciona mejores prácticas relacionadas. Además de los temas de elasticidad, redes, almacenamiento y acceso a bases de datos de Alibaba Cloud cubiertos en este documento, las mejores prácticas también abarcan imágenes, aceleración de aplicaciones y configuración de parámetros de JVM. Para más escenarios comunes, consulte Best practices.