Todos os produtos
Search
Central de documentação

Serverless App Engine:Deploy your first serverless application

Última atualização: Oct 12, 2026

Implante aplicativos no Serverless App Engine (SAE) a partir de código ou imagens de contêiner. O SAE gerencia os recursos computacionais e oferece suporte a Auto Scaling baseado em tráfego e implantação multizona.

Visão geral da solução

Você implantará um conjunto de aplicativos de microsserviços que se registram mutuamente, chamam métodos entre services e atendem ao tráfego da internet. O diagrama a seguir ilustra a arquitetura de exemplo.

image
Este tutorial usa um microsserviço Java como exemplo, mas o SAE suporta qualquer linguagem ou arquitetura : sites estáticos , aplicativos front-end e back-end , aplicativos monolíticos e aplicativos de microsserviços .

Neste tutorial, você:

  1. Implanta aplicativos: implante aplicativos provedores e consumidores com imagens de exemplo. O Nacos integrado do SAE cuida do registro e da descoberta de services, permitindo que o consumidor chame o provedor.

  2. Acesse o aplicativo pela internet: configure um endpoint público para o aplicativo consumidor.

Pré-requisitos

Ativar o SAE e conceder permissões

Use sua conta Alibaba Cloud para ativar o SAE e utilize usuários RAM para gerenciar recursos do SAE.

Ativar o SAE na sua conta Alibaba Cloud

Acesse a página do product SAE, e clique em Get Started. Faça login e siga as instruções para ativar o SAE e crie uma função vinculada ao service.

Importante

Após ativar o SAE, a cobrança ocorre no modelo pay-as-you-go para recursos que excederem a cota e o período do teste gratuito. Para economizar, adquira um pacote subscription.

Conceder permissões a um usuário RAM

Use uma conta Alibaba Cloud para conceder permissões a um usuário RAM e anexe as políticas de permissão exigidas pelo SAE para gerenciar recursos do SAE.

Procedimento

O SAE oferece diversos métodos de implantação. Escolha o console ou o saectl (compatível com kubectl) para concluir este tutorial.

Console

1. Implantar aplicativos

  1. Implante o aplicativo provedor: faça login no console do SAE. Selecione . Escolha uma região (este tutorial usa China (Hangzhou)). Clique em Create Application, configure os parâmetros abaixo e clique em Create Application Now para ignorar as Advanced Settings.

    Se não estiver no painel de navegação, selecione .
    Caso o sistema solicite uma edição, selecione Standard Edition . A Lightweight Edition e a Professional Edition estão em beta apenas por convite. As diferenças entre edições não afetam este tutorial.
    1. Insira um Application Name personalizado, como provider.

    2. Defina Namespace Type como System-created. Essa opção usa o namespace padrão e provisiona automaticamente recursos de rede (VPC, vSwitch e grupo de segurança).

    3. Defina Deployment Method como Deploy Using Image. Clique em Set Image. Na aba Demo Image, selecione Microservice Application - Provider com Image Version microservice-java-provider-v1.0 e clique em OK.

    4. Em Capacity Settings, defina a Instance Specification e o Number of Instances do aplicativo.

  2. Implante o aplicativo consumidor: repita as etapas anteriores com as seguintes alterações.

    1. Insira um Application Name personalizado, como consumer.

    2. Ao definir a imagem (Set Image), localize Microservice Application - Consumer e defina Image Version como microservice-java-consumer-v1.0.

  3. Verifique o resultado da implantação: aguarde cerca de um minuto até a conclusão.

    1. Visualize os aplicativos na página Application List. Clique em um aplicativo para abrir seus detalhes.

    2. Selecione Basic Information no painel de navegação. Na aba Instance List, visualize as instâncias do aplicativo.

2. Habilitar acesso público

Vincule uma instância CLB voltada para a internet ao aplicativo consumidor para permitir o acesso público.

  1. Vincule uma instância CLB voltada para a internet ao aplicativo consumidor: na página de detalhes do aplicativo consumidor, acesse a aba Application Information. Em Application Access Settings, selecione CLB-based Access. Clique em Add internet-facing CLB, configure os parâmetros a seguir e clique em OK.

    1. Para CLB Instance, selecione Create CLB Instance.

    2. Na aba HTTP Protocol, defina HTTP Port como 80 e container port como 18082.

  2. Verifique o resultado: após o SAE criar e vincular a instância CLB, o console exibirá o public endpoint do aplicativo.

    1. Abra http://<public_endpoint>/consumer-echo/hello no navegador, substituindo <public_endpoint> pelo valor real.

    2. Na página , visualize a topologia de chamadas entre os aplicativos consumidor e provedor.

3. Limpar recursos

Exclua os recursos criados neste tutorial para evitar cobranças desnecessárias.

  1. Exclua os aplicativos: na página de detalhes de cada aplicativo, selecione e siga as instruções.

    A instância CLB criada pelo SAE é liberada automaticamente ao excluir o aplicativo.
  2. (Opcional) Exclua recursos de rede: o SAE criou automaticamente uma VPC, um vSwitch e um grupo de segurança durante a implantação.

    1. Visualize a VPC: selecione e clique em default. Em Basic Information, clique no link da VPC para abrir sua página de detalhes.

    2. Visualize o vSwitch e o grupo de segurança: na aba Resource Management da VPC, clique nos links para suas respectivas páginas de detalhes.

    3. Exclua os recursos em suas respectivas páginas de detalhes.

Ferramenta saectl

1. Instalar e configurar o saectl

Instale o saectl e configure as credenciais da sua conta Alibaba Cloud. Para mais informações, consulte Instalar e configurar o saectl.

2. Implantar os aplicativos

  1. Crie arquivos de configuração de recursos: crie os seguintes arquivos no mesmo diretório. Nota: substitua image: ...cn-hangzhou... pela sua região de implantação.

    1. O arquivo deployment-provider.yaml configura o aplicativo provedor:

      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. O arquivo deployment-consumer.yaml configura o aplicativo consumidor:

      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. Implante os aplicativos: execute saectl apply -f deployment-provider.yaml -f deployment-consumer.yaml no diretório que contém os arquivos de configuração.

  3. Verifique o resultado:

    1. Visualize os aplicativos: execute saectl get deployments -n default. A flag -n default especifica o namespace padrão. Na saída:

      1. STATE RUNNING indica que o aplicativo está em execução. PUBLISHING significa que a implantação está em andamento.

      2. O campo READY exibe n/m, que representa number of ready instances / desired number of instances.

    2. Visualize as instâncias do aplicativo: execute saectl get pods -n default. Na saída:

      1. STATUS RUNNING indica que o contêiner está funcionando normalmente. ContainerCreating significa que o contêiner está sendo criado.

      2. O campo READY exibe n/m, que representa number of ready containers / total number of containers.

3. Habilitar acesso público

Vincule uma instância CLB voltada para a internet ao aplicativo consumidor para permitir o acesso público.

  1. Crie um arquivo de configuração de recursos: crie um arquivo svc.yaml para configurar um Service que exponha o aplicativo consumidor à internet por meio de um CLB voltado para 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. Implante o service: execute saectl apply -f svc.yaml no diretório que contém o arquivo de configuração.

  3. Verifique o resultado:

    1. Visualize o service: execute saectl get services -n default. Na saída:

      1. EXTERNAL-IP mostra o endereço IP público. <pending> indica que o service ainda está sendo criado.

      2. PORT(S) exibe a porta de acesso configurada.

    2. Acesse o aplicativo pela internet: execute curl http://<public_endpoint>:<access_port>/consumer-echo/hello, substituindo <public_endpoint> e <access_port> pelos valores reais. A saída confirma que o consumidor está chamando o provedor.

4. Limpar recursos

Exclua os recursos criados neste tutorial para evitar cobranças desnecessárias.

Exclua os aplicativos: execute saectl delete -f deployment-provider.yaml -f deployment-consumer.yaml.

A instância CLB criada pelo SAE é liberada automaticamente ao excluir o aplicativo.

Próximos passos