Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Bu kılavuzda, mevcut bir Spring Boot uygulamasını Azure Container Apps üzerinde ç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 üzerindeki kapsayıcılara geçirme (kılavuz planlandı)
- Yürütülebilir JAR Uygulamalarını "Azure Virtual Machines"e taşıma (Planlanmış kılavuz)
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'ın gerçekten tek başına olacağı garanti edilemez.
- 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'a geçmeden önce kodunuzun kaybolmaması veya çoğaltılmaması 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 seçenekler gibi konumlarda depolar:
- Azure Cache for Redis
- Azure Cosmos DB
- Azure SQL, Azure Database for MySQL veya Azure Database for PostgreSQL gibi başka bir dış veritabanı.
- Azure Storage, yapılandırılmamış verileri ve hatta serileştirilmiş nesneleri depolamak için kullanılır.
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. Geçici depolama, geçici verileri okuyup yazabilir ve çalışan bir kapsayıcı veya replik için kullanılabilir. Azure Dosyası kalıcı depolama sağlar ve birden çok kapsayıcı arasında paylaşılabilir. Daha fazla bilgi için bkz. Azure Container Apps depolama bağlamalarını kullanma.
Yalnızca okunabilir 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 Storage 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 Storage'da statik web sitesi barındırma ve Hızlı Başlangıç: Azure depolama hesabını Azure CDN ile tümleştirmek.
Dinamik olarak yayımlanan statik içerik
Uygulamanız, yüklenen veya uygulama tarafından oluşturulan ve oluşturulduktan sonra değişmeyen statik içeriği destekliyorsa, Azure Blob Storage ve Azure CDN'i tümleştirebilirsiniz. Gerektiğinde karşıya yüklemeleri yönetmek ve CDN yenilemelerini tetiklemek için bir Azure İşlevi de kullanabilirsiniz. Azure Functions ile
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ında / veya \ kullanımını, uygulamanız Windows üzerinde çalışıyorsa File.Separator veya Paths.get ile değiştirmeniz gerekebilir.
Desteklenen platforma geçme
Dockerfile'ınızı el ile oluşturur ve kapsayıcılı uygulamayı Azure Container Apps dağıtırsanız JRE/JDK sürümleri de dahil olmak üzere dağıtımınız üzerinde tam denetime sahip olursunuz.
Yapıtlardan dağıtım için Azure Container Apps ayrıca Java (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ındaki 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ü edinmek için üretim sunucunuzda oturum açın ve aşağıdaki 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 Azure Container Apps genel bakış
Uygulamanızın zamanlanan işlere bağlı olup olmadığını belirleme
Unix cron işleri gibi kısa ömürlü uygulamalar veya Spring Batch çerçevesine dayalı kısa ömürlü uygulamalar Azure Container Apps üzerinde bir iş olarak çalıştırılmalıdır. Daha fazla bilgi için bkz. Jobs in Azure Container Apps. 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
Taşınan her uygulamanın Spring Boot sürümünü belirlemek için 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 plugins sürümü olarak bölümünde bulunurorg.springframework.boot:
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
Taşımakta olduğunuz uygulamalar tarafından kullanılan herhangi bir günlük toplama çözümünü belirleyin. Geçiş sırasında günlüğe kaydedilen olayları kullanıma hazır hale getirmek için tanılama ayarlarını yapılandırmanız gerekir. Daha fazla bilgi için konsol günlüğünü etkinleştirme 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 Kapsayıcılar Uygulamaları, 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 Application 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. Aşağıda application.properties dosyasından bir örnek verilmişti:
spring.datasource.url=jdbc:mysql://localhost:3306/mysql_db
spring.datasource.username=dbuser
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
Aşağıda application.yaml dosyasından bir örnek verilmişti:
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ı
Kullanılan aracıyı veya aracıları ilgili bağımlılıklar için derleme manifestine (genellikle pom.xml veya build.gradle dosyası) bakarak 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. Build.gradle dosyasından bir örnek:
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 uygulama dizinindeki application.yml dosyalarında bulabilirsiniz.
Not
Microsoft, kullanılabilir en güvenli kimlik doğrulama akışının kullanılmasını önerir. Veritabanları, önbellekler, mesajlaşma veya yapay zeka hizmetleri gibi bu yordamda açıklanan kimlik doğrulama akışı, uygulamaya çok yüksek düzeyde güven gerektirir ve diğer akışlarda mevcut olmayan riskler taşır. Bu akışı yalnızca parolasız veya anahtarsız bağlantılar için yönetilen kimlikler gibi daha güvenli seçenekler uygun olmadığında kullanın. Yerel makine işlemleri için parolasız veya anahtarsız bağlantılar için kullanıcı kimliklerini tercih edin.
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=<password>
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: <password>
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) 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, bağlantı noktasını Azure Container Apps kaynak yapılandırmanıza göre 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.portSERVER_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 bilgiler
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.
Envanter sertifikaları
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ışmakta olan ö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. Quickstart: Azure portalını kullanarak ilk kapsayıcı uygulamanızı dağıtma.
Konsol günlüğünü etkinleştirme 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 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 Monitor 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 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 yükleyebilir veya Azure Container Apps tarafından sağlanan ücretsiz yönetilen sertifikayı kullanabilirsiniz. Sertifikaları yönetmek için Azure Key Vault kullanmak önerilen bir yaklaşımdır. Daha fazla bilgi için bkz. Certificates in Azure Container Apps.
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ığından Azure Container Apps görüntünüzü veya kodunuzu etkilemez. 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 Application İçgörüler bir seçenektir. Daha fazla bilgi için bkz. Azure Monitor Application Insights'i Spring Boot ile Kullanma.
Uygulamayı dağıt
Deploy Azure Container Apps az containerapp up command bölümünde açıklandığı gibi, taşınan mikro hizmetlerin her birini (Spring Cloud Config Server ve Spring Cloud Service Registry hariç) dağıtın.
Hizmet başına gizli bilgiler ve dışa aktarılmış ayarları yapılandırma
Her uygulamaya ortam değişkenleri olarak yapılandırma ayarları ekleyebilirsiniz. Bu değişkenleri manuel olarak veya gizli bilgilere referanslar şeklinde ayarlayabilirsiniz. Yapılandırma hakkında daha fazla bilgi için bkz. Azure Container Apps üzerinde
Kimlik sağlayıcıyı taşı ve etkinleştir
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, değişiklik yapılması gerekmez.
- Kimlik sağlayıcısı yerinde Active Directory ormanıysa, 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 Özel Microsoft Entra Connect yükleme konusuna başvurun. 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 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 networking.
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
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ına olanak tanır. Daha fazla bilgi için Spring Blogu'ndaki 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 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'da 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ı aktarın:
Uygulamanın src/main/resources dizininde aşağıdaki içeriklere sahip bir bootstrap.yml dosyası oluşturun:
spring: application: name: <your-application-name>Yapılandırma Git deposunda, önceki adımda olduğu gibi <your-application-name>.yml dosyasını oluşturun. src/main/resources içindeki application.yml dosyasındaki ayarları 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. bu dosyayı, Azure Container Apps ortamındaki tüm uygulamalar arasında paylaşılan ayarları ve kaynakları tanımlamak için 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.
uygulamadan application.properties veya application.yml dosyasını kaldırın.
Spring Boot web uygulamalarında aktüatör uç noktalarını kullanıma sunmak ve yönetim arabirimini etkinleştirmek için Spring için Yönetici arabirimi bileşenini eklemeyi düşünün. Daha fazla bilgi için bkz. Spring Boot Admin bileşenini Azure Container Apps içinde 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 mevcuttur.
Son kullanıcılarınıza sunulmadan önce üretimde kod değişikliklerini test etmenizi sağlayan mavi-yeşil dağıtımı etkinleştirmek için, kapsayıcı uygulama revizyonları, revizyon etiketleri ve giriş trafiği ağırlıklarını kullanmayı göz önünde bulundurun. Daha fazla bilgi için bkz. Azure Container Apps'te Blue-Green 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.
Azure Monitor uyarı kurallarını ve eylem gruplarını ekleyerek sapkıl koşulları hızla algılamayı ve ele almayı göz önünde bulundurun. Daha fazla bilgi için bkz. Azure Container Apps uyarılarını ayarlama.
Azure Container Apps alanlar arası yedekliliği etkinleştirerek uygulamanızı bölgedeki bölgeler arasında çoğaltmayı göz önünde bulundurun. Ağ trafiği yük dengelenmiştir ve bir bölge kesintisi durumunda 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 Application Firewall kullanarak Azure Container Apps yaygın açıklardan ve güvenlik açıklarından korumayı göz önünde bulundurun. Daha fazla bilgi için, Application Gateway'de Web Uygulama Güvenlik Duvarı ile Azure Konteyner Uygulamalarını Korumayı inceleyin.