Spring Boot uygulamalarını Azure Container Apps'e geçirme
Bu kılavuzda, mevcut bir Spring Boot uygulamasını Azure Container 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 desen, uygulamanız için aşağıdaki olası önemli etkilere sahip olabilir:
- 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 daha erken kaybolacaktır.
Azure Container Apps'e geçmeden önce kodunuzun kaybolmaması veya yinelenmemesi gereken yerel durumu 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 seçenekler gibi konumlarda depolar:
- Redis için Azure Önbelleği
- Azure Cosmos DB
- Azure SQL, MySQL için Azure Veritabanı veya PostgreSQL için Azure Veritabanı gibi başka bir dış veritabanı.
- Yapılandırılmamış verileri ve hatta serileştirilmiş nesneleri depolamak için kullanılan Azure Depolama.
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.
Azure Container Apps çeşitli depolama türleri sunar. Kısa ömürlü depolama geçici verileri okuyup yazabilir ve çalışan bir kapsayıcı veya çoğaltma için kullanılabilir. Azure Dosya kalıcı depolama alanı sağlar ve birden çok kapsayıcı arasında paylaşılabilir. Daha fazla bilgi için bkz . Azure Container Apps'te depolama bağlamalarını kullanma.
Salt okunur statik içerik
Uygulamanız şu anda statik içerik yüklüyse, bunun için alternatif bir konuma ihtiyacınız vardır. Statik içeriği Azure Blob Depolama taşımayı ve küresel olarak yıldırım hızında indirmeler için Azure CDN eklemeyi düşünebilirsiniz. Daha fazla bilgi için bkz . Azure Depolama'da 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, uygulamanın kendisi tarafından karşıya yüklenen veya oluşturulan statik içeriği destekliyorsa, bu içerik oluşturulduktan sonra değişmeden kalıyorsa, Azure Blob Depolama ve Azure CDN'yi tümleştirebilirsiniz. Ayrıca karşıya yüklemeleri yönetmek ve gerektiğinde CDN yenilemelerini tetiklemek için bir Azure İşlevi 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 herhangi bir kod içeriyorsa, bu bağımlılıkları kaldırmak için yeniden düzenlemeniz gerekir. Örneğin, dosya sistemi yollarının herhangi bir kullanımını veya \
uygulamanızın /
Windows üzerinde çalışıyorsa ile File.Separator
Paths.get
değiştirmeniz gerekebilir.
Desteklenen platforma geçme
Dockerfile'ınızı el ile oluşturur ve kapsayıcılı uygulamayı Azure Container Apps'e dağıtırsanız JRE/JDK sürümleri de dahil olmak üzere dağıtımınız üzerinde tam denetim sahibi olursunuz.
Yapıtlardan dağıtım için Azure Container Apps, Java'nın belirli sürümlerini (8, 11, 17 ve 21) ve Spring Boot ve Spring Cloud bileşenlerinin belirli sürümlerini de 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.
Not
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ümleri ve güncelleştirme yönergeleri için bkz . Azure Container Apps'te Java'ya genel bakış.
Uygulamanızın zamanlanan işlere dayanıp dayanmadığını belirleme
Spring Batch çerçevesine dayalı Unix cron işleri veya kısa ömürlü uygulamalar gibi kısa ömürlü uygulamalar Azure Container Apps'te bir iş olarak çalıştırılmalıdır. Daha fazla bilgi için bkz . Azure Container Apps'te işler. Uygulamanız uzun süre çalışan bir uygulamaysa ve Quartz veya Spring Batch gibi bir zamanlama çerçevesi kullanarak görevleri düzenli olarak yürütürse Azure Container Apps bu uygulamayı barındırabilir. Ancak uygulama, ölçek genişletme veya sıralı yükseltme sırasında zamanlanmış dönem başına aynı uygulama örneklerinin birden çok kez yürütüldüğü yarış koşullarından kaçınmak için ölçeklendirmeyi uygun şekilde işlemelidir.
Uygulama kodunuzun içinde veya dışında üretim sunucularında çalışan 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>3.3.3</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 '3.3.3'
id 'io.spring.dependency-management' version '1.1.6'
id 'java'
}
3.x öncesi Spring Boot sürümlerini kullanan tüm uygulamalar için Spring Boot 2.0 geçiş kılavuzunu veya Spring Boot 3.0 Geçiş Kılavuzu'nu izleyerek bunları desteklenen bir Spring Boot sürümüne güncelleştirin. Desteklenen sürümler için bkz . Spring Boot ve Spring Cloud sürümleri.
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ız tarafından kullanılan tüm uygulama performansı yönetim aracılarını belirleyin. Azure Container Apps, APM tümleştirmesi için yerleşik destek sunmaz. Kapsayıcı görüntünüzü hazırlamanız veya APM aracını doğrudan kodunuzla tümleştirmeniz gerekir. Uygulamanızın performansını ölçmek istiyorsanız ancak henüz herhangi bir APM'yi tümleştirmediyseniz Azure Uygulaması lication Insights'ı 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/resources klasöründe, genellikle application.properties veya application.yml olarak adlandırılan bir dosyada bulabilirsiniz.
Veritabanları
Spring Boot uygulaması için, bağlantı dizesi genellikle bir dış veritabanına bağlı olduğunda yapılandırma dosyalarında görünür. 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 bir 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.4.0.5")
...
}
Kullanılan aracıyı veya aracıları belirledikten sonra ilgili ayarları bulun. Spring Boot uygulamalarında, bunları genellikle application.properties dosyasında ve application.yml dosyaları uygulama dizininde 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 Container Apps, Azure Container Apps kaynak yapılandırmanıza göre bağlantı noktasını kullanıma sunmanızı sağlar. Örneğin Spring Boot uygulaması varsayılan olarak 8080 numaralı bağlantı noktasını dinler, ancak veya ortam değişkeniyle server.port
SERVER_PORT
istediğiniz şekilde ayarlanabilir.
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 Container Apps ortamı oluşturma ve uygulamaları dağıtma
Azure aboneliğinizde bir Azure Container Apps örneği sağlayın. Güvenli barındırma ortamı da onunla birlikte oluşturulur. Daha fazla bilgi için bkz. Hızlı Başlangıç: Azure portalı kullanarak ilk kapsayıcı uygulamanızı dağıtma.
Konsol günlüğünün günlüğe kaydedilmesini sağlama ve tanılama ayarlarını yapılandırma
Tüm çıkışın dosyalar yerine konsola yönlendirildiğinden emin olmak için günlük kaydınızı yapılandırın.
Bir uygulama Azure Container Apps'e dağıtıldıktan sonra, Günlüklerin bir veya daha fazla hedefini tanımlamak için Container Apps ortamınızdaki günlük seçeneklerini yapılandırabilirsiniz. Bu hedefler Azure İzleyici Log Analytics, Azure Olay hub'ı ve hatta diğer üçüncü taraf izleme çözümlerini içerebilir. Ayrıca günlük verilerini devre dışı bırakma ve günlükleri yalnızca çalışma zamanında görüntüleme seçeneğiniz vardır. Ayrıntılı yapılandırma yönergeleri için bkz . Azure Container Apps'te günlük depolama ve izleme seçenekleri.
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ı depolamayı yapılandırmanız gerekir. Uygulama ayarları aracılığıyla kapsayıcıya bağlanacak yolu belirtebilir ve uygulamanızın kullandığı yolla hizalayabilirsiniz. Daha fazla bilgi için bkz . Azure Container Apps'te depolama bağlamalarını kullanma.
Tüm sertifikaları KeyVault'a geçirme
Azure Kapsayıcıları Uygulamaları, uygulamalar arasında güvenli iletişimi destekler. Uygulamanızın güvenli iletişim kurma sürecini yönetmesi gerekmez. Özel sertifikayı Azure Container Apps'e yükleyebilir veya Azure Container Apps tarafından sağlanan ücretsiz yönetilen sertifikayı kullanabilirsiniz. Sertifikaları yönetmek için Azure Key Vault'un kullanılması önerilen bir yaklaşımdır. Daha fazla bilgi için bkz . Azure Container Apps'te sertifikalar.
Uygulama performansı yönetimi (APM) tümleştirmelerini yapılandırma
Uygulamanızın kapsayıcı görüntüsünden veya koddan dağıtıldığında Azure Container Apps görüntünüzü veya kodunuzu engellemez. Bu nedenle uygulamanızı bir APM aracıyla tümleştirmek kendi tercihlerinize ve uygulamanıza bağlıdır.
Uygulamanız desteklenen bir APM kullanmıyorsa Azure Uygulaması lication Insights bir seçenektir. Daha fazla bilgi için bkz . Spring Boot ile Azure İzleyici Application Insights'ı kullanma.
Uygulamayı dağıtma
Azure Container Apps'i az containerapp up komutuyla dağıtma bölümünde açıklandığı gibi geçirilen mikro hizmetlerin her birini (Spring Cloud Config Server ve Spring Cloud Service Registry dahil değildir) dağıtın.
Hizmet başına gizli dizileri ve dışlanmış ayarları yapılandırma
Her uygulamaya ortam değişkenleri olarak yapılandırma ayarları ekleyebilirsiniz. Bu değişkenleri el ile giriş olarak veya gizli dizilere başvuru olarak ayarlayabilirsiniz. Yapılandırma hakkında daha fazla bilgi için bkz . Azure Container Apps'te ortam değişkenlerini yönetme.
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 Id ile federasyonu yapılandırmak için Microsoft Entra Connect'in Özel yükleme konusuna bakın. Alternatif olarak, OAuth2/OpenID Connect 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 Container Apps'e dağıtılan bir uygulamaya uygulama URL'si aracılığıyla erişilebilir. Uygulamanız kendi sanal ağıyla yönetilen bir ortam bağlamında dağıtıldıysa, yalnızca sanal ağınızdan genel girişe veya girişe izin vermek için uygulamanın erişilebilirlik düzeyini belirlemeniz gerekir. Daha fazla bilgi için bkz . Azure Container Apps ortamında ağ.
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 bileşen, uygulamanızın diğer dağıtılan Spring uygulamaları ve istemcileri tarafından dinamik olarak bulunmasını sağlar. Daha fazla bilgi için bkz . Azure Container Apps'te Spring için Eureka Server bileşeninin ayarlarını yapılandırma. Ardından, Spring client Load Balancer'ı kullanmak için tüm uygulama istemcilerini değiştirin. Spring Client Load Balancer, istemcinin uygulamanın çalışan tüm örneklerinin adreslerini almasını ve başka bir örneğin bozulması veya yanıt vermemeye başlaması durumunda çalışan bir örnek bulmasını sağlar. Daha fazla bilgi için Spring Blog'daki Spring Tips: 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 Container Apps ortamınızda dağıtılan tüm uygulamalar için tek bir uç nokta sağlar. Spring Cloud Gateway zaten dağıtıldıysa, trafiği yeni dağıtılan uygulamanıza yönlendirmek için bir yönlendirme kuralının yapılandırıldığından emin olun.
Tüm Spring Cloud uygulamalarınız için merkezi olarak yapılandırmayı ve sürüm denetimi yapılandırmasını yönetmek için Spring Cloud Config Server eklemeyi göz önünde bulundurun. İlk olarak, yapılandırmayı barındıracak bir Git deposu oluşturun ve uygulama örneğini bunu kullanacak şekilde yapılandırın. Daha fazla bilgi için bkz . Azure Container Apps'te Spring için Yapılandırma Sunucusu bileşeninin ayarlarını yapılandırma. Ardından aşağıdaki adımları kullanarak yapılandırmanızı geçirin:
Uygulamanın src/main/resources dizininde aşağıdaki içeriklere sahip bir bootstrap.yml dosyası oluşturun:
spring: application: name: <your-application-name>
Git deposunda yapılandırmada, önceki adımda olduğu gibi bir <your-application-name>.yml dosyası
your-application-name
oluşturun. Ayarları src/main/resources içindeki application.yml dosyasından oluşturduğunuz yeni 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.Yukarıdaki dizinde bir application.yml dosyası oluşturun. Azure Container Apps ortamındaki tüm uygulamalar arasında paylaşılan 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.
Bu değişiklikleri işleyin ve Git deposuna gönderin.
application.properties veya application.yml dosyasını uygulamadan kaldırın.
Aktüatör uç noktalarını kullanıma sunan Spring Boot web uygulamaları için yönetim arabirimini etkinleştirmek üzere Spring için Yönetici yönetilen bileşenini eklemeyi göz önünde bulundurun. Daha fazla bilgi için bkz . Azure Container Apps'te Spring Boot Yöneticisi bileşenini yapılandırma.
Otomatik, tutarlı dağıtımlar için bir dağıtım işlem hattı eklemeyi göz önünde bulundurun. Azure Pipelines ve GitHub Actions için yönergeler sağlanır.
Son kullanıcılarınızın bazılarının veya tümünün kullanımına sunulmadan önce üretimdeki kod değişikliklerini test etmenizi sağlayan mavi-yeşil dağıtımı etkinleştirmek için kapsayıcı uygulamaları düzeltmelerini, düzeltme etiketlerini ve giriş trafiği ağırlıklarını kullanmayı göz önünde bulundurun. Daha fazla bilgi için bkz . Azure Container Apps'te Mavi-Yeşil Dağıtım.
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 için JVM çekirdek ölçümlerini toplamak üzere Java geliştirme yığınını etkinleştirmeyi göz önünde bulundurun. Daha fazla bilgi için bkz . Azure Container Apps'te Java uygulamaları için Java ölçümleri.
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 . Azure Container Apps'te uyarıları ayarlama.
Azure Container Apps bölge yedekliliğini etkinleştirerek uygulamanızı bölgedeki bölgeler arasında çoğaltmayı göz önünde bulundurun. Trafik yük dengelidir ve bir bölge kesintisi oluşursa otomatik olarak çoğaltmalara yönlendirilir. Yedekli ayarlar hakkında daha fazla bilgi için bkz . Azure Container Apps'te güvenilirlik.
Application Gateway'de Web Uygulaması Güvenlik Duvarı kullanarak Azure Container Apps'i yaygın açıklardan ve güvenlik açıklarından korumayı göz önünde bulundurun. Daha fazla bilgi için bkz. Application Gateway'de Web Uygulaması Güvenlik Duvarı ile Azure Container Apps'i koruma.