Todos los productos
Search
Centro de documentos

Serverless App Engine:Deploy your first serverless application

Última actualización: Oct 12, 2026

Despliegue aplicaciones en Serverless App Engine (SAE) a partir de código o imágenes de contenedor. SAE gestiona los recursos de cómputo por usted y es compatible con el escalado automático basado en tráfico y el despliegue multizona.

Descripción general de la solución

En este tutorial desplegará un conjunto de aplicaciones de microservicios que se registran entre sí, invocan métodos entre servicios y reciben tráfico desde internet. A continuación se muestra un diagrama de la arquitectura de ejemplo.

image
Este tutorial utiliza un microservicio Java como ejemplo, pero SAE es compatible con cualquier lenguaje o arquitectura : sitios web estáticos , aplicaciones front-end y back-end , aplicaciones monolíticas y aplicaciones de microservicios .

En este tutorial, usted:

  1. Desplegará las aplicaciones: desplace las aplicaciones proveedor y consumidora con imágenes de ejemplo. El servicio Nacos integrado en SAE se encarga del registro y descubrimiento de servicios, lo que permite que la aplicación consumidora invoque a la proveedora.

  2. Accederá a la aplicación desde internet: configure un endpoint público para la aplicación consumidora.

Requisitos previos

Activar SAE y otorgar permisos

Use su cuenta de Alibaba Cloud para activar SAE. Después, utilice usuarios de RAM para gestionar los recursos de SAE.

Active SAE para su cuenta de Alibaba Cloud

Vaya a la página del producto SAE, y haga clic en Get Started. Inicie sesión y siga las instrucciones para activar SAE y crear un rol vinculado al servicio.

Importante

Después de activar SAE, se le cobra bajo el modelo pay-as-you-go por los recursos que superen la cuota y el periodo de la prueba gratuita. Para reducir costos, adquiera un paquete subscription.

Otorgue permisos a un usuario de RAM

Use una cuenta de Alibaba Cloud para grant permissions to a RAM user y adjunte the permission policies required by SAE con el fin de gestionar los recursos de SAE.

Procedimiento

SAE admite varios métodos de despliegue. Elija la consola o saectl (compatible con kubectl) para completar este tutorial.

Consola

1. Despliegue las aplicaciones

  1. Despliegue la aplicación proveedora: inicie sesión en la consola de SAE. Vaya a . Seleccione una región (este tutorial usa China (Hangzhou)). Haga clic en Create Application, configure los parámetros a continuación y haga clic en Create Application Now para omitir Advanced Settings.

    Si no aparece en el panel de navegación, vaya a .
    Si el sistema le solicita elegir una edición, seleccione Standard Edition . Las ediciones Lightweight Edition y Professional Edition están en fase beta solo por invitación. Las diferencias entre ediciones no afectan este tutorial.
    1. Introduzca un Application Name personalizado, por ejemplo, provider.

    2. Establezca Namespace Type en System-created. Esta opción usa el namespace predeterminado y aprovisiona automáticamente los recursos de red (VPC, vSwitch y security group).

    3. Establezca Deployment Method en Deploy Using Image. Haga clic en Set Image. En la pestaña Demo Image, seleccione Microservice Application - Provider con la Image Version microservice-java-provider-v1.0 y luego haga clic en OK.

    4. En Capacity Settings, establezca la Instance Specification y el Number of Instances de su aplicación.

  2. Despliegue la aplicación consumidora: repita los pasos anteriores con los siguientes cambios.

    1. Introduzca un Application Name personalizado, por ejemplo, consumer.

    2. Cuando configure la imagen con Set Image, busque Microservice Application - Consumer y establezca Image Version en microservice-java-consumer-v1.0.

  3. Compruebe el resultado del despliegue: espere aproximadamente un minuto a que finalice el proceso.

    1. Consulte las aplicaciones en la página Application List. Haga clic en una aplicación para abrir sus detalles.

    2. Vaya a Basic Information en el panel de navegación. En la pestaña Instance List, consulte las instancias de la aplicación.

2. Habilite el acceso público

Vincule una instancia CLB orientada a internet a la aplicación consumidora para habilitar el acceso público.

  1. Vincule una instancia CLB orientada a internet a la aplicación consumidora: en la página de detalles de la aplicación consumidora, vaya a la pestaña Application Information. En Application Access Settings, seleccione CLB-based Access. Haga clic en Add internet-facing CLB, configure los parámetros a continuación y haga clic en OK.

    1. En CLB Instance, seleccione Create CLB Instance.

    2. En la pestaña HTTP Protocol, establezca HTTP Port en 80 y el container port en 18082.

  2. Compruebe el resultado: después de que SAE cree y vincule la instancia CLB, la consola muestra el endpoint público de la aplicación.

    1. Abra http://<public_endpoint>/consumer-echo/hello en su navegador y reemplace <public_endpoint> por el valor real.

    2. En la página , consulte la topología de llamadas entre las aplicaciones consumidora y proveedora.

3. Limpie los recursos

Elimine los recursos creados en este tutorial para evitar cargos innecesarios.

  1. Elimine las aplicaciones: en la página de detalles de cada aplicación, vaya a y siga las instrucciones.

    La instancia CLB que creó SAE se libera automáticamente cuando elimina la aplicación.
  2. (Opcional) Elimine los recursos de red: durante el despliegue, SAE creó automáticamente una VPC, un vSwitch y un security group.

    1. Consulte la VPC: vaya a y haga clic en default. En Basic Information, haga clic en el enlace de la VPC para abrir su página de detalles.

    2. Consulte el vSwitch y el security group: en la pestaña Resource Management de la VPC, haga clic en los enlaces hacia sus páginas de detalles.

    3. Elimine los recursos desde sus respectivas páginas de detalles.

Herramienta saectl

1. Instale y configure saectl

Instale saectl y configure las credenciales de su cuenta de Alibaba Cloud. Para más información, consulte Install and configure saectl.

2. Despliegue las aplicaciones

  1. Cree los archivos de configuración de recursos: cree los siguientes archivos en el mismo directorio. Nota: reemplace image: ...cn-hangzhou... con su región de despliegue.

    1. El archivo deployment-provider.yaml configura la aplicación proveedora:

      apiVersion: apps/v1
      kind: Deployment
      metadata:
        annotations:
          sae.aliyun.com/new-sae-version: std # Select the application edition. 'std' indicates Standard Edition. The Lightweight and Professional editions are in invite-only beta. This selection does not affect the tutorial.
        name: provider # Customizable application name.
        namespace: default # Select the system-created default namespace, which automatically creates and associates network resources like VPCs, vSwitches, and security groups.
      spec:
        replicas: 2 # Number of application instances.
        selector:
          matchLabels:
            sae.aliyun.com/app-name: provider # Must be the same as the application name defined in metadata.
        template:
          metadata:
            labels:
              sae.aliyun.com/app-name: provider # Must be the same as the application name defined in metadata.
          spec:
            containers:
            - name: main # We recommend that you name the container 'main' to avoid conflicts.
              image: registry.cn-hangzhou.aliyuncs.com/sae-serverless-demo/sae-demo:microservice-java-provider-v1.0 # The sample image for the provider application. Replace cn-hangzhou with your deployment region.
              resources: # Specification for a single application instance. 'limits' and 'requests' must have the same configuration.
                limits:
                  cpu: "2"
                  memory: 4Gi
                requests:
                  cpu: "2"
                  memory: 4Gi
      
    2. El archivo deployment-consumer.yaml configura la aplicación consumidora:

      apiVersion: apps/v1
      kind: Deployment
      metadata:
        annotations:
          sae.aliyun.com/new-sae-version: std # Select the application edition. 'std' indicates Standard Edition. The Lightweight and Professional editions are in invite-only beta. This selection does not affect the tutorial.
        name: consumer # Customizable application name.
        namespace: default # Select the system-created default namespace, which automatically creates and associates network resources like VPCs, vSwitches, and security groups.
      spec:
        replicas: 2 # Number of application instances.
        selector:
          matchLabels:
            sae.aliyun.com/app-name: consumer # Must be the same as the application name defined in metadata.
        template:
          metadata:
            labels:
              sae.aliyun.com/app-name: consumer # Must be the same as the application name defined in metadata.
          spec:
            containers:
            - name: main # We recommend that you name the container 'main' to avoid conflicts.
              image: registry.cn-hangzhou.aliyuncs.com/sae-serverless-demo/sae-demo:microservice-java-consumer-v1.0 # The sample image for the consumer application. Replace cn-hangzhou with your deployment region.
              resources: # Specification for a single application instance. 'limits' and 'requests' must have the same configuration.
                limits:
                  cpu: "2"
                  memory: 4Gi
                requests:
                  cpu: "2"
                  memory: 4Gi
      
  2. Despliegue las aplicaciones: ejecute saectl apply -f deployment-provider.yaml -f deployment-consumer.yaml desde el directorio que contiene los archivos de configuración.

  3. Compruebe el resultado:

    1. Consulte las aplicaciones: ejecute saectl get deployments -n default. La bandera -n default especifica el namespace predeterminado. En la salida:

      1. El valor STATE RUNNING indica que la aplicación se está ejecutando. PUBLISHING significa que el despliegue está en curso.

      2. El campo READY muestra n/m, que representa number of ready instances / desired number of instances.

    2. Consulte las instancias de la aplicación: ejecute saectl get pods -n default. En la salida:

      1. El valor STATUS RUNNING indica que el contenedor se ejecuta correctamente. ContainerCreating significa que el contenedor se está creando.

      2. El campo READY muestra n/m, que representa number of ready containers / total number of containers.

3. Habilite el acceso público

Vincule una instancia CLB orientada a internet a la aplicación consumidora para habilitar el acceso público.

  1. Cree un archivo de configuración de recursos: cree un archivo svc.yaml para configurar un Service que exponga la aplicación consumidora a internet mediante una instancia CLB orientada a internet:

    apiVersion: v1
    kind: Service
    metadata:
      annotations:
        sae.aliyun.com/loadbalancer-address-type: internet # Address type. 'internet' for public and 'intranet' for private.
      name: internet-consumer # Fixed format: ${address-type}-${app-name}
    spec:
      ports:
      - name: port-80 # Fixed format: port-${external-port}
        port: 80
        protocol: HTTP
        targetPort: 18082 # Container port of the consumer application.
      selector:
        sae.aliyun.com/app-name: consumer # Application name.
      type: LoadBalancer
    
  2. Despliegue el servicio: ejecute saectl apply -f svc.yaml desde el directorio que contiene el archivo de configuración.

  3. Compruebe el resultado:

    1. Consulte el servicio: ejecute saectl get services -n default. En la salida:

      1. El campo EXTERNAL-IP muestra la dirección IP pública. <pending> indica que el servicio aún se está creando.

      2. El campo PORT(S) muestra el puerto de acceso configurado.

    2. Acceda a la aplicación desde internet: ejecute curl http://<public_endpoint>:<access_port>/consumer-echo/hello y reemplace <public_endpoint> y <access_port> por los valores reales. La salida confirma que la aplicación consumidora invoca a la proveedora.

4. Limpie los recursos

Elimine los recursos creados en este tutorial para evitar cargos innecesarios.

Elimine las aplicaciones: ejecute saectl delete -f deployment-provider.yaml -f deployment-consumer.yaml.

La instancia CLB que creó SAE se libera automáticamente cuando elimina la aplicación.

Siguientes pasos