Tous les produits
Search
Centre de documentation

Serverless App Engine:Deploy your first serverless application

Dernière mise à jour :Oct 12, 2026

Déployez des applications sur Serverless App Engine (SAE) à partir de code ou d'images de conteneur. SAE gère les ressources de calcul pour vous et prend en charge la mise à l'échelle automatique basée sur le trafic ainsi que le déploiement multizone.

Présentation de la solution

Vous allez déployer un ensemble d'applications de microservices qui s'enregistrent mutuellement, appellent des méthodes entre services et traitent le trafic provenant d'Internet. Le diagramme suivant illustre l'architecture de l'exemple.

image
Ce tutoriel utilise un microservice Java comme exemple, mais SAE prend en charge n'importe quel langage ou architecture : sites web statiques , applications front-end et back-end , applications monolithiques et applications de microservices .

Dans ce tutoriel, vous allez :

  1. Déployer des applications : déployez des applications fournisseur et consommateur avec des images d'exemple. Le Nacos intégré à SAE gère l'enregistrement et la découverte des services, permettant au consommateur d'appeler le fournisseur.

  2. Accéder à l'application depuis Internet : configurez un endpoint public pour l'application consommateur.

Prérequis

Activez SAE et accordez les permissions

Utilisez votre compte Alibaba Cloud pour activer SAE, puis utilisez des utilisateurs RAM pour gérer les ressources SAE.

Activer SAE pour votre compte Alibaba Cloud

Accédez à la page produit SAE, et cliquez sur Get Started. Connectez-vous et suivez les instructions pour activer SAE et créer un rôle lié au service.

Important

Après l'activation de SAE, vous êtes facturé selon le modèle paiement à l'utilisation pour les ressources qui dépassent le quota et la période de l'essai gratuit. Pour réduire les coûts, vous pouvez acheter un forfait d'abonnement.

Accorder des permissions à un utilisateur RAM

Utilisez un compte Alibaba Cloud pour accorder des permissions à un utilisateur RAM et attacher les politiques de permissions requises par SAE afin de gérer les ressources SAE.

Procédure

SAE prend en charge plusieurs méthodes de déploiement. Choisissez la console ou saectl (compatible avec kubectl) pour suivre ce tutoriel.

Console

1. Déployer les applications

  1. Déployez l'application fournisseur : connectez-vous à la console SAE. Sélectionnez . Choisissez une région (ce tutoriel utilise China (Hangzhou)). Cliquez sur Create Application, configurez les paramètres suivants, puis cliquez sur Create Application Now pour ignorer les Advanced Settings.

    Si ne figure pas dans le volet de navigation, sélectionnez .
    Si vous êtes invité à sélectionner une édition, choisissez Standard Edition . Les éditions Lightweight Edition et Professional Edition sont en bêta sur invitation uniquement. Les différences entre les éditions n'affectent pas ce tutoriel.
    1. Saisissez un Application Name personnalisé, par exemple provider.

    2. Définissez Namespace Type sur System-created. Cela utilise le namespace par défaut et provisionne automatiquement les ressources réseau (VPC, vSwitch et groupe de sécurité).

    3. Définissez Deployment Method sur Deploy Using Image. Cliquez sur Set Image. Dans l'onglet Demo Image, sélectionnez Microservice Application - Provider avec la Image Version microservice-java-provider-v1.0, puis cliquez sur OK.

    4. Dans Capacity Settings, définissez la Instance Specification et le Number of Instances pour votre application.

  2. Déployez l'application consommateur : répétez les étapes précédentes avec les modifications suivantes.

    1. Saisissez un Application Name personnalisé, par exemple consumer.

    2. Lorsque vous Set Image, recherchez Microservice Application - Consumer et définissez la Image Version sur microservice-java-consumer-v1.0.

  3. Vérifiez le résultat du déploiement : attendez environ une minute que le déploiement soit terminé.

    1. Consultez les applications sur la page Application List. Cliquez sur une application pour ouvrir ses détails.

    2. Sélectionnez Basic Information dans le volet de navigation. Dans l'onglet Instance List, consultez les instances de l'application.

2. Activer l'accès public

Associez une instance CLB orientée Internet à l'application consommateur pour permettre l'accès public.

  1. Associez une instance CLB orientée Internet à l'application consommateur : sur la page des détails de l'application consommateur, accédez à l'onglet Application Information. Dans Application Access Settings, sélectionnez CLB-based Access. Cliquez sur Add internet-facing CLB, configurez les paramètres suivants, puis cliquez sur OK.

    1. Pour CLB Instance, sélectionnez Create CLB Instance.

    2. Dans l'onglet HTTP Protocol, définissez HTTP Port sur 80 et container port sur 18082.

  2. Vérifiez le résultat : après que SAE a créé et associé l'instance CLB, la console affiche l'endpoint public de l'application.

    1. Ouvrez http://<public_endpoint>/consumer-echo/hello dans votre navigateur, en remplaçant <public_endpoint> par la valeur réelle.

    2. Sur la page , consultez la topologie des appels entre les applications consommateur et fournisseur.

3. Nettoyer les ressources

Supprimez les ressources créées dans ce tutoriel pour éviter des frais inutiles.

  1. Supprimez les applications : sur la page des détails de chaque application, sélectionnez et suivez les instructions.

    L'instance CLB créée par SAE est automatiquement libérée lorsque vous supprimez l'application.
  2. (Facultatif) Supprimez les ressources réseau : SAE a automatiquement créé un VPC, un vSwitch et un groupe de sécurité lors du déploiement.

    1. Consultez le VPC : sélectionnez et cliquez sur default. Dans Basic Information, cliquez sur le lien VPC pour ouvrir sa page de détails.

    2. Consultez le vSwitch et le groupe de sécurité : dans l'onglet Resource Management du VPC, cliquez sur les liens vers leurs pages de détails respectives.

    3. Supprimez les ressources depuis leurs pages de détails respectives.

Outil saectl

1. Installer et configurer saectl

Installez saectl et configurez les identifiants de votre compte Alibaba Cloud. Pour plus d'informations, consultez Installer et configurer saectl.

2. Déployer les applications

  1. Créez les fichiers de configuration des ressources : créez les fichiers suivants dans le même répertoire. Remarque : remplacez image: ...cn-hangzhou... par votre région de déploiement.

    1. deployment-provider.yaml configure l'application fournisseur :

      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. deployment-consumer.yaml configure l'application consommateur :

      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. Déployez les applications : exécutez saectl apply -f deployment-provider.yaml -f deployment-consumer.yaml depuis le répertoire contenant les fichiers de configuration.

  3. Vérifiez le résultat :

    1. Consultez les applications : exécutez saectl get deployments -n default. L'indicateur -n default spécifie le namespace par défaut. Dans la sortie :

      1. STATE RUNNING signifie que l'application est en cours d'exécution. PUBLISHING signifie que le déploiement est en cours.

      2. Le champ READY affiche n/m, ce qui représente nombre d'instances prêtes / nombre d'instances souhaité.

    2. Consultez les instances d'application : exécutez saectl get pods -n default. Dans la sortie :

      1. STATUS RUNNING signifie que le conteneur fonctionne normalement. ContainerCreating signifie que le conteneur est en cours de création.

      2. Le champ READY affiche n/m, ce qui représente nombre de conteneurs prêts / nombre total de conteneurs.

3. Activer l'accès public

Associez une instance CLB orientée Internet à l'application consommateur pour permettre l'accès public.

  1. Créez un fichier de configuration des ressources : créez un fichier svc.yaml pour configurer un Service qui expose l'application consommateur à Internet via un CLB orienté 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. Déployez le service : exécutez saectl apply -f svc.yaml depuis le répertoire contenant le fichier de configuration.

  3. Vérifiez le résultat :

    1. Consultez le service : exécutez saectl get services -n default. Dans la sortie :

      1. EXTERNAL-IP affiche l'adresse IP publique. <pending> signifie que le service est encore en cours de création.

      2. PORT(S) affiche le port d'accès configuré.

    2. Accédez à l'application depuis Internet : exécutez curl http://<public_endpoint>:<access_port>/consumer-echo/hello, en remplaçant <public_endpoint> et <access_port> par les valeurs réelles. La sortie confirme l'appel du consommateur au fournisseur.

4. Nettoyer les ressources

Supprimez les ressources créées dans ce tutoriel pour éviter des frais inutiles.

Supprimez les applications : exécutez saectl delete -f deployment-provider.yaml -f deployment-consumer.yaml.

L'instance CLB créée par SAE est automatiquement libérée lorsque vous supprimez l'application.

Étapes suivantes