Spring Boot uygulamalarını Azure Spring Apps'e geçirme

Dekont

Azure Spring Apps, Azure Spring Cloud hizmetinin yeni adıdır. Hizmetin yeni bir adı olsa da, ekran görüntüleri, videolar ve diyagramlar gibi varlıkları güncelleştirmek için çalışırken bazı yerlerde eski adı bir süre görürsünüz.

Bu kılavuzda, mevcut bir Spring Boot uygulamasını Azure Spring Apps'te çalışacak şekilde geçirmek istediğinizde dikkat etmeniz gerekenler açıklanmaktadır.

Geçiş öncesi

Geçişin başarılı olduğundan emin olmak için, başlamadan önce aşağıdaki bölümlerde açıklanan değerlendirme ve envanter adımlarını tamamlayın.

Bu geçiş öncesi gereksinimlerin hiçbirini karşılayamazsanız aşağıdaki yardımcı geçiş kılavuzlarını inceleyin:

  • Yürütülebilir JAR uygulamalarını Azure Kubernetes Service’teki kapsayıcılara geçirme (kılavuz planlı)
  • Yürütülebilir JAR Uygulamalarını Azure Sanal Makineler’e geçirme (kılavuz planlı)

Uygulama bileşenlerini inceleme

Yerel durumu tanımlama

PaaS ortamlarında hiçbir uygulamanın herhangi bir zamanda tam olarak bir kez çalışması garanti edilmemektedir. Bir uygulamayı tek bir örnekte çalışacak şekilde yapılandırsanız bile, aşağıdaki durumlarda yinelenen bir örnek oluşturulabilir:

  • Uygulama, hata veya sistem güncelleştirmesi nedeniyle fiziksel bir konağa yeniden taşınmalıdır.
  • Uygulama güncelleştiriliyor.

Bu durumların herhangi birinde, yeni örnek başlatılana kadar özgün örnek çalışmaya devam eder. Bu, uygulamanız için aşağıdaki olası önemli etkilere sahiptir:

  • Hiçbir singleton gerçekten bekar olamaz.
  • Dış depolamada kalıcı olmayan tüm veriler büyük olasılıkla tek bir fiziksel sunucuda veya VM'de olduğundan çok daha erken kaybolacaktır.

Azure Spring Apps'e geçmeden önce kodunuzun kaybolmaması veya yinelenmemesi gereken yerel durum içermediğinden emin olun. Yerel durum varsa, bu durumu uygulamanın dışında depolamak için kodu değiştirin. Buluta hazır uygulamalar genellikle uygulama durumunu aşağıdaki gibi konumlarda depolar:

Dosya sisteminin kullanılıp kullanılmayacağını ve nasıl kullanıldığını belirleme

Hizmetlerinizin yerel dosya sistemine yazdığı ve/veya yerel dosya sisteminden okuduğu örnekleri bulun. Kısa süreli/geçici dosyaların yazıldığı ve okunduğu ve uzun ömürlü dosyaların nerede yazılıp okunduğu belirleyin.

Dekont

Azure Spring Apps, Azure Spring Apps örneği başına 5 GB geçici depolama alanı sağlar ve içinde /tmpbağlanır. Geçici dosyalar bu sınırı aşan veya farklı bir konuma yazılırsa kod değişiklikleri gerekir.

Salt okunur statik içerik

Uygulamanız şu anda statik içerik sunuyorsa bunun için alternatif bir konumunuz olması gerekir. Statik içeriği Azure Blob Depolama’ya taşımayı ve küresel olarak ışık hızında indirme işlemleri için Azure CDN eklemeyi düşünebilirsiniz. Daha fazla bilgi için bkz. Azure Depolama'de statik web sitesi barındırma ve Hızlı Başlangıç: Azure depolama hesabını Azure CDN ile tümleştirme.

Dinamik olarak yayımlanan statik içerik

Uygulamanız tarafından karşıya yüklenen/üretilen ama oluşturulduktan sonra sabit hale gelen statik içeriğe uygulamanızda izin veriliyorsa, karşıya yüklemeleri ve CDN yenilemesini işlemek için Azure İşlevi’yle birlikte yukarıda açıklandığı gibi Azure Blob Depolama ve Azure CDN kullanabilirsiniz. Azure İşlevleri ile statik içeriği karşıya yükleme ve CDN’ye önceden yükleme başlığı altında kullanımınıza ilişkin örnek bir uygulama sağladık.

Hizmetlerden herhangi birinin işletim sistemine özgü kod içerip içermediğini belirleme

Uygulamanız konak işletim sisteminde bağımlılıkları olan kod içeriyorsa, bunu yeniden düzenleyip söz konusu bağımlılıkları kaldırmanız gerekir. Örneğin dosya sistemi yollarındaki / veya \ kullanımlarını File.Separator veya Paths.get ile değiştirmeniz gerekebilir.

Desteklenen platforma geçme

Azure Spring Apps, Java'nın belirli sürümlerini ve Spring Boot ile Spring Cloud'un belirli sürümlerini sunar. Uyumluluğu sağlamak için önce uygulamanızı geçerli ortamında desteklenen Java sürümlerinden birine geçirin, ardından kalan geçiş adımlarıyla devam edin. Sonuçta elde edilen yapılandırmayı tümüyle test edin. Bu tür testlerde Linux dağıtımınızın en son kararlı sürümünü kullanın.

Dekont

Geçerli sunucunuz desteklenmeyen bir JDK (Oracle JDK veya IBM OpenJ9 gibi) çalıştırıyorsa bu doğrulama özellikle önemlidir.

Geçerli Java sürümünüzü öğrenmek için üretim sunucunuzda oturum açın ve şu komutu çalıştırın:

java -version

Java, Spring Boot ve Spring Cloud'un desteklenen sürümlerinin yanı sıra güncelleştirme yönergeleri için bkz . Azure Spring Apps'te dağıtım için bir uygulama hazırlama.

Uygulamanızın zamanlanan işlere dayanıp dayanmadığını belirleme

Quartz Scheduler görevleri veya Unix cron işleri gibi zamanlanmış işler Azure Spring Apps ile KULLANıLMAMALIDIR. Azure Spring Apps, zamanlanmış görevleri içeren bir uygulamayı dahili olarak dağıtmanızı engellemez. Bununla birlikte uygulamanızın ölçeği genişletildiyse, aynı zamanlanan iş zamanlama dönemi başına birden çok kez çalıştırılabilir. Bu durum istenmeyen sonuçlar doğurabilir.

Uygulama kodunuzun içindeki veya dışındaki üretim sunucularında çalıştırılan zamanlanmış görevlerin envanterini oluşturun.

Spring Boot sürümlerini tanımlama

Spring Boot sürümünü belirlemek için geçirilen her uygulamanın bağımlılıklarını inceleyin.

Maven

Maven projelerinde Spring Boot sürümü genellikle POM dosyasının öğesinde <parent> bulunur:

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.7.10</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
Gradle

Gradle projelerinde Spring Boot sürümü genellikle eklentinin org.springframework.boot sürümü olarak bölümünde bulunurplugins:

plugins {
  id 'org.springframework.boot' version '2.7.10'
  id 'io.spring.dependency-management' version '1.0.15.RELEASE'
  id 'java'
}

Spring Boot 1.x kullanan tüm uygulamalar için Spring Boot 2.0 geçiş kılavuzunu izleyerek bunları desteklenen bir Spring Boot sürümüne güncelleştirin. Desteklenen sürümler için, Azure Spring Apps'te bir uygulamayı dağıtıma hazırlama bölümünün Spring Boot ve Spring Cloud sürümleri bölümüne bakın.

Günlük toplama çözümlerini tanımlama

Geçirmekte olduğunuz uygulamalar tarafından kullanılan tüm günlük toplama çözümlerini belirleyin. Günlüğe kaydedilen olayları kullanıma hazır hale getirmek için geçişte tanılama ayarlarını yapılandırmanız gerekir. Daha fazla bilgi için Konsol günlüğünün günlüğe kaydedilmesini sağlama ve tanılama ayarlarını yapılandırma bölümüne bakın.

Uygulama performans yönetimi (APM) aracılarını tanımlama

Uygulamalarınızla birlikte kullanılan tüm uygulama performansı izleme aracılarını belirleyin. Azure Spring Apps, Application Analizler, New Relic, Elastic APM, Dynatrace ve AppDynamics ile tümleştirmeyi destekler. Uygulama desteklenen bir APM kullanıyorsa, geçişte tümleştirmeyi yapılandırın. Uygulama desteklenen bir APM kullanmıyorsa bunun yerine Application Analizler kullanmayı göz önünde bulundurun. Daha fazla bilgi için Geçiş bölümüne bakın.

Dış kaynakların envanterini çıkarma

Veri kaynakları, JMS ileti aracıları ve diğer hizmetlerin URL’leri gibi dış kaynakları tanımlayın. Spring Boot uygulamalarında, bu tür kaynakların yapılandırmasını genellikle src/main/directory klasöründe, genellikle application.properties veya application.yml olarak adlandırılan bir dosyada bulabilirsiniz.

Veritabanları

Tüm SQL veritabanları için bağlantı dizesini tanımlayın.

Spring Boot uygulaması için bağlantı dizeleri normalde yapılandırma dosyalarında görüntülenir.

Burada application.properties dosyasından bir örnek yer alır:

spring.datasource.url=jdbc:mysql://localhost:3306/mysql_db
spring.datasource.username=dbuser
spring.datasource.driver-class-name=com.mysql.jdbc.Driver

Burada application.yaml dosyasından bir örnek yer alır:

spring:
  data:
    mongodb:
      uri: mongodb://mongouser:deepsecret@mongoserver.contoso.com:27017

Daha olası yapılandırma senaryoları için Spring Data belgelerine bakın:

JMS ileti aracıları

İlgili bağımlılıklar için derleme bildirimine (genellikle pom.xml veya build.gradle dosyası) bakarak kullanılan aracıyı veya aracıları tanımlayın.

Örneğin, ActiveMQ kullanan bir Spring Boot uygulaması genellikle pom.xml dosyasında bu bağımlılığı içerir:

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-activemq</artifactId>
</dependency>

Ticari aracıları kullanan Spring Boot uygulamaları genellikle doğrudan aracıların JMS sürücü kitaplıklarına bağımlılıklar içerir. Burada build.gradle dosyasından bir örnek yer alır:

    dependencies {
      ...
      compile("com.ibm.mq:com.ibm.mq.allclient:9.0.4.0")
      ...
    }

Kullanılan aracıyı veya aracıları belirledikten sonra ilgili ayarları bulun. Spring Boot uygulamalarında, bunları genellikle uygulama dizinindeki application.properties ve application.yml dosyalarında bulabilirsiniz.

Aşağıda application.properties dosyasından bir ActiveMQ örneği verilmiştir :

spring.activemq.brokerurl=broker:(tcp://localhost:61616,network:static:tcp://remotehost:61616)?persistent=false&useJmx=true
spring.activemq.user=admin
spring.activemq.password=tryandguess

ActiveMQ yapılandırması hakkında daha fazla bilgi için Spring Boot mesajlaşma belgelerine bakın.

Aşağıda application.yaml dosyasından bir IBM MQ örneği verilmişti:

ibm:
  mq:
    queueManager: qm1
    channel: dev.ORDERS
    connName: localhost(14)
    user: admin
    password: big$ecr3t

IBM MQ yapılandırması hakkında daha fazla bilgi için IBM MQ Spring bileşenleri belgelerine bakın.

Dış önbellekleri tanımlama

Kullanılan tüm dış önbellekleri tanımlayın. Redis sıklıkla Spring Data Redis aracılığıyla kullanılır. Yapılandırma bilgileri için Spring Data Redis belgelerine bakın.

İlgili yapılandırmayı (Java veya XML'de) arayarak oturum verilerinin Spring Session aracılığıyla önbelleğe alınıp alınmadığını belirleyin.

Kimlik sağlayıcıları

Uygulamanız tarafından kullanılan tüm kimlik sağlayıcılarını tanımlayın. Kimlik sağlayıcılarının nasıl yapılandırılacağı hakkında bilgi için aşağıdakilere bakın:

  • OAuth2 yapılandırması için Spring Security başvurusuna bakın.
  • Auth0 Spring Security yapılandırması için Auth0 Spring Security belgelerine bakın.
  • PingFederate Spring Security yapılandırması için Auth0 PingFederate yönergelerine bakın.

Standart olmayan bir bağlantı noktasına bağlı olan tüm istemcileri belirleme

Azure Spring Apps, server.port dağıtılan uygulamadaki ayarın üzerine yazar. İstemcilerin herhangi bir istemcisi uygulamanın 443 dışında bir bağlantı noktasında kullanılabilir olmasına bağlıysa, bunları değiştirmeniz gerekir.

Diğer tüm dış kaynaklar

Bu kılavuzda olası tüm dış bağımlılıkları belgeleme uygun değildir. Geçiş sonrasında, uygulamanızın tüm dış bağımlılıklarını karşılayabileceğinizi doğrulamak sizin sorumluluğunuzdadır.

Envanter yapılandırma kaynakları ve gizli diziler

Parolaları ve güvenli dizeleri envantere al

Üretim dağıtımlarındaki tüm özellikleri, yapılandırma dosyalarını ve tüm ortam değişkenlerini gizli dizeler ve parolalar için denetleyin. Spring Boot uygulamasında bu tür dizeleri genellikle application.properties veya application.yml dosyasında bulabilirsiniz.

Sertifikaların envanterini çıkarma

Genel SSL uç noktaları için veya arka uç veritabanları ve diğer sistemlerle iletişim için kullanılan tüm sertifikaları belgeleyin. Aşağıdaki komutu çalıştırarak üretim sunucularındaki tüm sertifikaları görüntüleyebilirsiniz:

keytool -list -v -keystore <path to keystore>

Dağıtım mimarisini inceleme

Her hizmet için belge donanım gereksinimleri

Spring Boot uygulamanız için aşağıdaki bilgileri belgeleyin:

  • Çalışan örnek sayısı.
  • Her örneğe ayrılan CPU sayısı.
  • Her örneğe ayrılan RAM miktarı.

Belge coğrafi çoğaltma/dağıtım

Spring Boot uygulama örneklerinizin şu anda birkaç bölge veya veri merkezi arasında dağıtılıp dağıtılmadığını belirleyin. Geçirmekte olduğunuz uygulamaların çalışma süresi gereksinimlerini/SLA'sını belgeleyin.

Geçiş

Azure Spring Apps örneği ve uygulamaları oluşturma

Henüz yoksa, Azure aboneliğinizde bir Azure Spring Apps örneği sağlayın. Ardından, orada bir uygulama oluşturun. Daha fazla bilgi için bkz . Hızlı Başlangıç: İlk uygulamanızı Azure Spring Apps'e dağıtma.

Konsol günlüğünün günlüğe kaydedilmesini sağlama ve tanılama ayarlarını yapılandırma

Günlük kaydınızı, tüm çıkışın dosyalara değil konsola yönlendirecek şekilde yapılandırın.

Bir uygulama Azure Spring Apps'e dağıtıldıktan sonra, günlüğe kaydedilen olayları tüketim için kullanılabilir hale getirmek için bir tanılama ayarı ekleyin( örneğin Azure İzleyici Log Analytics aracılığıyla).

LogStash/ELK Yığını

Günlük toplama için LogStash/ELK Stack kullanıyorsanız, tanılama ayarını konsol çıkışını bir Azure Olay Hub'ına akışla aktaracak şekilde yapılandırın. Ardından LogStash EventHub eklentisini kullanarak günlüğe kaydedilen olayları LogStash'e alın.

Splunk

Günlük toplama için Splunk kullanıyorsanız, konsol çıkışını Azure Blob Depolama akışla aktarmak için tanılama ayarını yapılandırın. Ardından, günlüğe kaydedilen olayları Splunk'a almak için Microsoft Cloud Services için Splunk Eklentisini kullanın.

Kalıcı depolamayı yapılandırma

Uygulamanızın herhangi bir bölümü yerel dosya sistemini okur veya yazarsa, yerel dosya sistemini değiştirmek için kalıcı depolama yapılandırmanız gerekir. Daha fazla bilgi için bkz . Azure Spring Apps'te yerleşik kalıcı depolamayı kullanma.

Dizine /tmp geçici dosyalar yazmanız gerekir. İşletim sistemi bağımsızlığı için kullanarak bu dizini System.getProperty("java.io.tmpdir")alabilirsiniz. Geçici dosyalar oluşturmak için de kullanabilirsiniz java.nio.Files::createTempFile .

Tüm sertifikaları KeyVault'a geçirme

Azure Spring Apps JRE anahtar deposuna erişim sağlamaz, bu nedenle sertifikaları Azure KeyVault'a geçirmeniz ve uygulama kodunu KeyVault'taki sertifikalara erişecek şekilde değiştirmeniz gerekir. Daha fazla bilgi için bkz. Java için Key Vault sertifikalarını ve Azure Key Vault Sertifikası istemci kitaplığını kullanmaya başlama.

Uygulama performansı yönetimi (APM) tümleştirmelerini yapılandırma

Azure Spring Apps aşağıdaki APM tümleştirmelerini sunar. İhtiyacınız olan APM'yi etkinleştirmek için bağlantıları izleyin.

Uygulamanız desteklenen bir APM kullanmıyorsa bunun yerine Application Analizler kullanmayı göz önünde bulundurun. Azure Spring Apps, performans yönetimi ve sapmalara gerçek zamanlı yanıt için Application Analizler ile derin tümleştirme sunar.

Uygulamalarınızda ölçüm istemcilerini ve uç noktalarını devre dışı bırakma

Kullanılan ölçüm istemcilerini veya uygulamalarınızda kullanıma sunulan ölçüm uç noktalarını kaldırın.

Uygulamayı dağıtma

Hızlı Başlangıç: İlk uygulamanızı Azure Spring Apps'e dağıtma başlığı altında açıklandığı gibi geçirilen mikro hizmetlerin her birini (Spring Cloud Config ve Registry sunucuları dahil değil) dağıtın.

Hizmet başına gizli dizileri ve dışlanmış ayarları yapılandırma

Her hizmete hizmet başına yapılandırma ayarlarını ortam değişkeni olarak ekleyebilirsiniz. Azure portalında aşağıdaki adımları kullanın:

  1. Azure Spring Apps Örneğine gidin ve Uygulamalar'ı seçin.
  2. Yapılandırılan hizmeti seçin.
  3. Yapılandırma'yı seçin.
  4. Yapılandıracak değişkenleri girin.
  5. Kaydet'i seçin.

Spring Cloud App Configuration Settings

Kimlik sağlayıcısını geçirme ve etkinleştirme

Spring Cloud uygulamalarından herhangi biri kimlik doğrulaması veya yetkilendirme gerektiriyorsa kimlik sağlayıcısına erişecek şekilde yapılandırıldığından emin olun:

  • Kimlik sağlayıcısı Microsoft Entra Id ise hiçbir değişiklik yapılması gerekmez.
  • Kimlik sağlayıcısı şirket içi Active Directory bir ormansa, Microsoft Entra Id ile bir karma kimlik çözümü uygulamayı göz önünde bulundurun. Daha fazla bilgi için Karma kimlik belgelerine bakın.
  • Kimlik sağlayıcısı PingFederate gibi başka bir şirket içi çözümse, Microsoft Entra Kimliği ile federasyon yapılandırmak için Microsoft Entra Bağlan özel yükleme konusuna başvurun. Alternatif olarak, OAuth2/OpenID Bağlan veya SAML aracılığıyla kimlik sağlayıcınızı kullanmak için Spring Security kullanmayı göz önünde bulundurun.

Uygulamayı kullanıma sunma

Varsayılan olarak, Azure Spring Apps'e dağıtılan uygulamalar dışarıdan görünmez. Uygulamanızı aşağıdaki komutla genel kullanıma sunarak kullanıma açabilirsiniz:

az spring app update --name <application name> --is-public true

Spring Cloud Gateway kullanıyorsanız veya kullanmayı planlıyorsanız bu adımı atlayın. Daha fazla bilgi için aşağıdaki bölüme bakın.

Geçiş sonrası

Geçişinizi tamamladığınıza göre uygulamanızın beklediğiniz gibi çalıştığını doğrulayın. Ardından aşağıdaki önerileri kullanarak uygulamanızı buluta daha yerel hale getirebilirsiniz.

  • Uygulamanızın Spring Cloud Registry ile çalışmasını etkinleştirmeyi göz önünde bulundurun. Bu, uygulamanızın dağıtılan diğer Spring uygulamaları ve istemcileri tarafından dinamik olarak bulunmasını sağlar. Daha fazla bilgi için bkz . Azure Spring Apps'te dağıtım için uygulama hazırlama. Ardından, Spring client Load balancer'ı kullanmak için tüm uygulama istemcilerini değiştirin. Bu, istemcinin uygulamanın çalışan tüm örneklerinin adreslerini almasına ve başka bir örneğin bozulması veya yanıt vermemeye başlaması durumunda çalışan bir örnek bulmasına olanak tanır. Daha fazla bilgi için Spring Blogu'nda Spring İpuçları: Spring Cloud Load Balancer bölümüne bakın.

  • Uygulamanızı genel kullanıma açık hale getirmek yerine Spring Cloud Gateway örneği eklemeyi göz önünde bulundurun. Spring Cloud Gateway, Azure Spring Apps örneğinizde dağıtılan tüm uygulamalar için tek bir uç nokta sağlar. Spring Cloud Gateway zaten dağıtılmışsa trafiği yeni dağıtılan uygulamanıza yönlendirecek şekilde yapılandırıldığından emin olun.

  • Tüm Spring Cloud uygulamalarınız için yapılandırmayı merkezi olarak yönetmek ve sürüm denetimi yapmak için spring cloud Config sunucusu eklemeyi göz önünde bulundurun. İlk olarak yapılandırmayı barındıracak bir Git deposu oluşturun ve Azure Spring Apps örneğini bunu kullanacak şekilde yapılandırın. Daha fazla bilgi için bkz . Hizmetiniz için Spring Cloud Config Server örneği ayarlama. Ardından aşağıdaki adımları kullanarak yapılandırmanızı geçirin:

    1. Uygulamanın src/main/resources dizininde aşağıdaki içeriklere sahip bir bootstrap.yml dosyası oluşturun:

        spring:
          application:
            name: <your-application-name>
      
    2. Git deposunda yapılandırmada, önceki adımda olduğu gibi bir <your-application-name.yml> dosyası your-application-name oluşturun. src/main/resources içindeki application.yml dosyasındaki ayarları yeni oluşturduğunuz dosyaya taşıyın. Ayarlar daha önce bir .properties dosyasındaysa, önce bunları YAML'ye dönüştürdü. Bu dönüştürmeyi gerçekleştirmek için çevrimiçi araçlar veya IntelliJ eklentileri bulabilirsiniz.

    3. Yukarıdaki dizinde bir application.yml dosyası oluşturun. Azure Spring Apps örneğindeki tüm uygulamalar arasında paylaşılacak ayarları ve kaynakları tanımlamak için bu dosyayı kullanabilirsiniz. Bu tür ayarlar genellikle veri kaynaklarını, günlük ayarlarını, Spring Boot Aktüatör yapılandırmasını ve diğerlerini içerir.

    4. Bu değişiklikleri işleyin ve Git deposuna gönderin.

    5. uygulamadan application.properties veya application.yml dosyasını kaldırın.

  • Otomatik, tutarlı dağıtımlar için bir dağıtım işlem hattı eklemeyi göz önünde bulundurun. Azure Pipelines, GitHub Actions ve Jenkins için yönergeler sağlanır.

  • Kod değişikliklerini son kullanıcılarınızın bir kısmı veya tamamına sunulmadan önce test etmek için hazırlama dağıtımlarını kullanmayı göz önünde bulundurun. Daha fazla bilgi için bkz . Azure Spring Apps'te hazırlama ortamı ayarlama.

  • Uygulamanızı desteklenen Azure veritabanlarına bağlamak için hizmet bağlamaları eklemeyi göz önünde bulundurun. Bu hizmet bağlamaları, Spring Cloud uygulamalarınıza kimlik bilgileri de dahil olmak üzere bağlantı bilgileri sağlama gereksinimini ortadan kaldırır.

  • Uygulamalarınızın performansını ve etkileşimlerini izlemek için Azure Uygulaması Analizler kullanmayı göz önünde bulundurun. Daha fazla bilgi için bkz. Azure Spring Apps'te Uygulama Analizler Java İşlem İçi Aracısı.

  • Sapkıcı koşulları hızla algılamak ve ele almak için Azure İzleyici uyarı kuralları ve eylem grupları eklemeyi göz önünde bulundurun. Daha fazla bilgi için bkz . Öğretici: Uyarıları ve eylem gruplarını kullanarak Spring Cloud kaynaklarını izleme.

  • Daha düşük gecikme süresi ve daha yüksek güvenilirlik ve hataya dayanıklılık için Azure Spring Apps dağıtımını başka bir bölgede çoğaltmayı göz önünde bulundurun. Dağıtımlar arasında yük dengelemesi yapmak için Azure Traffic Manager'ı kullanın veya Azure Front Door kullanarak SSL boşaltma ve DDoS korumasıyla Web Uygulaması Güvenlik Duvarı ekleyin.

  • Coğrafi çoğaltma gerekli değilse, DDoS korumasıyla SSL boşaltma ve Web Uygulaması Güvenlik Duvarı eklemek için bir Azure Uygulaması Lication Gateway eklemeyi göz önünde bulundurun.