Tüm Ürünler
Search
Belge Merkezi

Serverless App Engine:Deploy your first serverless application

Son Güncelleme:Oct 12, 2026

Uygulamalarınızı Serverless App Engine (SAE) üzerinde koddan veya konteyner görüntülerinden dağıtın. SAE, hesaplama kaynaklarını sizin için yönetir ve trafiğe dayalı otomatik ölçeklendirme ile çok alanlı dağıtımı destekler.

Çözüm özeti

Birbirine kaydolabilen, hizmetler arasında yöntem çağrıları yapabilen ve internet üzerinden trafik sunabilen bir dizi mikro hizmet uygulaması dağıtacaksınız. Aşağıdaki diyagram örnek mimariyi göstermektedir.

image
Bu öğretici Java tabanlı bir mikro hizmeti örnek olarak kullanır; ancak SAE herhangi bir dili veya mimariyi destekler : statik web siteleri , ön uç ve arka uç uygulamaları , monolitik uygulamalar ve mikro hizmet uygulamaları .

Bu öğreticide şunları yapacaksınız:

  1. Uygulamaları dağıtma: Örnek görüntüler kullanarak sağlayıcı ve tüketici uygulamalarını dağıtın. SAE'nin yerleşik Nacos bileşeni hizmet keşfi ve kaydını yöneterek tüketicinin sağlayıcıyı çağırmasına olanak tanır.

  2. Uygulamaya internetten erişim sağlama: Tüketici uygulaması için genel bir uç nokta yapılandırın.

Ön koşullar

SAE'yi etkinleştirin ve izinleri verin

SAE hizmetini etkinleştirmek için Alibaba Cloud hesabınızı kullanın, ardından SAE kaynaklarını yönetmek üzere RAM kullanıcılarını kullanın.

Alibaba Cloud hesabınız için SAE'yi etkinleştirin

SAE ürün sayfasına gidin, ve Get Started seçeneğini tıklayın. Oturum açın ve SAE hizmetini etkinleştirmek ile hizmet bağlantılı bir rol oluşturmak için talimatları izleyin.

Önemli

SAE hizmetini etkinleştirdikten sonra, ücretsiz deneme kota ve süre sınırlarını aşan kaynaklar için kullandıkça öde modeli üzerinden ücretlendirilirsiniz. Maliyetleri düşürmek amacıyla bir abonelik paketi satın alabilirsiniz.

RAM kullanıcısına izin verin

SAE kaynaklarını yönetebilmek için bir Alibaba Cloud hesabı kullanarak RAM kullanıcısına izin verin ve [SAE için gerekli izin ilkelerini](t2748232.xdita#) ekleyin.

Yordam

SAE birden fazla dağıtım yöntemi sunar. Bu öğreticiyi tamamlamak için konsol veya saectl (kubectl uyumlu) yöntemlerinden birini seçin.

Konsol

1. Uygulamaları dağıtın

  1. Sağlayıcı uygulamasını dağıtın: SAE konsoluna giriş yapın. seçeneğine gidin. Bir bölge seçin (bu öğreticide China (Hangzhou) kullanılmaktadır). Create Application seçeneğini tıklayın, aşağıdaki parametreleri yapılandırın ve Gelişmiş Ayarlar adımını atlamak için Create Application Now seçeneğini tıklayın.

    Gezinme bölmesinde seçeneği görünmüyorsa seçeneğine gidin.
    Sürüm seçmeniz istenirse Standard Edition seçeneğini belirleyin. Lightweight Edition ve Professional Edition yalnızca davetli beta aşamasındadır. Sürüm farkları bu öğreticiyi etkilemez.
    1. provider gibi özel bir Application Name girin.

    2. Namespace Type değerini System-created olarak ayarlayın. Bu işlem varsayılan ad alanını kullanır ve ağ kaynaklarını (VPC, vSwitch ve güvenlik grubu) otomatik olarak sağlar.

    3. Deployment Method değerini Deploy Using Image olarak ayarlayın. Set Image seçeneğini tıklayın. Demo Image sekmesinde Image Version değeri microservice-java-provider-v1.0 olan Microservice Application - Provider öğesini seçin ve ardından OK seçeneğini tıklayın.

    4. Capacity Settings bölümünde uygulamanız için Instance Specification ve Number of Instances değerlerini belirleyin.

  2. Tüketici uygulamasını dağıtın: Önceki adımları aşağıdaki değişikliklerle tekrarlayın.

    1. consumer gibi özel bir Application Name girin.

    2. Set Image adımında Microservice Application - Consumer öğesini bulun ve Image Version değerini microservice-java-consumer-v1.0 olarak ayarlayın.

  3. Dağıtım sonucunu kontrol edin: Dağıtımın tamamlanması için yaklaşık bir dakika bekleyin.

    1. Application List sayfasındaki uygulamaları görüntüleyin. Ayrıntılarını açmak için bir uygulamayı tıklayın.

    2. Gezinme bölmesinden Basic Information seçeneğine gidin. Instance List sekmesinde uygulama örneklerini görüntüleyin.

2. Genel erişimi etkinleştirin

Genel erişim sağlamak için tüketici uygulamasına internete bakan bir CLB örneği bağlayın.

  1. Tüketici uygulamasına internete bakan bir CLB örneği bağlayın: Tüketici uygulamasının ayrıntılar sayfasında Application Information sekmesine gidin. Application Access Settings bölümünde CLB-based Access seçeneğini belirleyin. Add internet-facing CLB seçeneğini tıklayın, aşağıdaki parametreleri yapılandırın ve OK seçeneğini tıklayın.

    1. CLB Instance için Create CLB Instance seçeneğini belirleyin.

    2. HTTP Protocol sekmesinde HTTP Port değerini 80 ve container port değerini 18082 olarak ayarlayın.

  2. Sonucu doğrulayın: SAE, CLB örneğini oluşturup bağladıktan sonra konsol uygulamanın public endpoint değerini gösterir.

    1. Tarayıcınızda http://<public_endpoint>/consumer-echo/hello adresini açın ve <public_endpoint> kısmını gerçek değerle değiştirin.

    2. sayfasında tüketici ve sağlayıcı uygulamaları arasındaki çağrı topolojisini görüntüleyin.

3. Kaynakları temizleyin

Gereksiz ücretlendirmelerden kaçınmak için bu öğreticide oluşturulan kaynakları silin.

  1. Uygulamaları silin: Her uygulamanın ayrıntılar sayfasında seçeneğine gidin ve talimatları izleyin.

    SAE tarafından oluşturulan CLB örneği, uygulamayı sildiğinizde otomatik olarak serbest bırakılır.
  2. (İsteğe bağlı) Ağ kaynaklarını silin: SAE, dağıtım sırasında otomatik olarak bir VPC, vSwitch ve güvenlik grubu oluşturdu.

    1. VPC'yi görüntüleyin: seçeneğine gidin ve default seçeneğini tıklayın. Basic Information bölümünde VPC bağlantısını tıklayarak ayrıntılar sayfasını açın.

    2. vSwitch ve güvenlik grubunu görüntüleyin: VPC'nin Resource Management sekmesinde ilgili ayrıntılar sayfalarına gitmek için bağlantıları tıklayın.

    3. Kaynakları kendi ayrıntılar sayfalarında silin.

saectl aracı

1. saectl aracını yükleyin ve yapılandırın

saectl aracını yükleyin ve Alibaba Cloud hesabınızın kimlik bilgilerini yapılandırın. Daha fazla bilgi için bkz. saectl aracını yükleyin ve yapılandırın.

2. Uygulamaları dağıtın

  1. Kaynak yapılandırma dosyalarını oluşturun: Aşağıdaki dosyaları aynı dizinde oluşturun. Not: image: ...cn-hangzhou... kısmını dağıtım yaptığınız bölgeyle değiştirin.

    1. deployment-provider.yaml dosyası sağlayıcı uygulamasını yapılandırır:

      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 dosyası tüketici uygulamasını yapılandırır:

      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. Uygulamaları dağıtın: Yapılandırma dosyalarının bulunduğu dizinden saectl apply -f deployment-provider.yaml -f deployment-consumer.yaml komutunu çalıştırın.

  3. Sonucu doğrulayın:

    1. Uygulamaları görüntüleyin: saectl get deployments -n default komutunu çalıştırın. -n default bayrağı varsayılan ad alanını belirtir. Çıktıda:

      1. STATE değeri RUNNING ise uygulama çalışıyor demektir. PUBLISHING ise dağıtım devam ediyor demektir.

      2. READY alanı n/m değerini gösterir; bu da hazır örnek sayısı / hedeflenen örnek sayısı anlamına gelir.

    2. Uygulama örneklerini görüntüleyin: saectl get pods -n default komutunu çalıştırın. Çıktıda:

      1. STATUS değeri RUNNING ise konteyner normal çalışıyor demektir. ContainerCreating ise konteyner oluşturuluyor demektir.

      2. READY alanı n/m değerini gösterir; bu da hazır konteyner sayısı / toplam konteyner sayısı anlamına gelir.

3. Genel erişimi etkinleştirin

Genel erişim sağlamak için tüketici uygulamasına internete bakan bir CLB örneği bağlayın.

  1. Bir kaynak yapılandırma dosyası oluşturun: Tüketici uygulamasını internete bakan bir CLB üzerinden internete açan bir Service yapılandırmak için svc.yaml dosyasını oluşturun:

    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. Hizmeti dağıtın: Yapılandırma dosyasının bulunduğu dizinden saectl apply -f svc.yaml komutunu çalıştırın.

  3. Sonucu doğrulayın:

    1. Hizmeti görüntüleyin: saectl get services -n default komutunu çalıştırın. Çıktıda:

      1. EXTERNAL-IP genel IP adresini gösterir. <pending> değeri hizmetin hala oluşturulmakta olduğunu gösterir.

      2. PORT(S) yapılandırılan erişim bağlantı noktasını gösterir.

    2. Uygulamaya internetten erişin: curl http://<public_endpoint>:<access_port>/consumer-echo/hello komutunu çalıştırın ve <public_endpoint> ile <access_port> kısımlarını gerçek değerlerle değiştirin. Çıktı, tüketicinin sağlayıcıyı çağırdığını doğrular.

4. Kaynakları temizleyin

Gereksiz ücretlendirmelerden kaçınmak için bu öğreticide oluşturulan kaynakları silin.

Uygulamaları silin: saectl delete -f deployment-provider.yaml -f deployment-consumer.yaml komutunu çalıştırın.

SAE tarafından oluşturulan CLB örneği, uygulamayı sildiğinizde otomatik olarak serbest bırakılır.

Sonraki adımlar