WebLogic Server uygulamalarını Azure Uygulaması Hizmetinde JBoss EAP'ye geçirme

Bu kılavuzda, mevcut bir WebLogic Server uygulamasını JBoss EAP kullanarak Azure Uygulaması Hizmetinde çalışacak şekilde geçirmek istediğinizde bilmeniz 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 gereksinimleri karşılayamazsanız, bunun yerine uygulamalarınızı Sanal Makineler geçirmek için yardımcı geçiş kılavuzuna bakın: WebLogic Server uygulamalarını Azure'a geçirme Sanal Makineler

Envanter sunucusu kapasitesi

Geçerli üretim sunucularının donanımını (bellek, CPU, disk) ve ortalama ve en yüksek istek sayısını ve kaynak kullanımını belgeleyin. Seçtiğiniz geçiş yolundan bağımsız olarak bu bilgilere ihtiyaç duyacaksınız. Örneğin, App Service Planı seçimine yol göstermesine yardımcı olmak için kullanışlıdır.

Kullanılabilir App Service Planı katmanlarının listesi bellek, CPU çekirdekleri, depolama ve fiyatlandırma bilgilerini gösterir. App Service'te JBoss EAP'nin yalnızca Premium V3 ve Yalıtılmış V2 App Service Planı katmanlarında kullanılabildiğini unutmayın.

Tüm gizli dizilerin envanterini çıkarma

"Hizmet olarak yapılandırma" teknolojilerindeki Azure Key Vault gibi gelişmelerden önce bile iyi tanımlanmış bir "gizli dizi" kavramı yoktu. Bunun yerine şimdi aslında “gizli dizi” olarak adlandırabileceğimiz bir işlev üstlenen ayrı bir yapılandırma ayarları kümeniz vardı. WebLogic Server gibi uygulama sunucularıyla, bu gizli diziler birçok farklı yapılandırma dosyasında ve yapılandırma deposunda yer alır. Üretim sunucularındaki tüm özellikleri ve yapılandırma dosyalarını gizli diziler ve parolalar için denetleyin. WAR dosyalarında weblogic.xml’yi denetlediğinizden emin olun. Ayrıca uygulamanızın içinde parolalar ve kimlik bilgileri içeren yapılandırma dosyaları da bulunabilir. Daha fazla bilgi için bkz. Temel Azure Key Vault kavramları.

Tüm sertifikaların envanterini çıkarma

Genel SSL uç noktaları 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>

JNDI kaynaklarının envanterini çıkarma

Tüm JNDI kaynaklarının envanterini çıkarın. Örneğin, veritabanları gibi veri kaynaklarıyla ilişkilendirilmiş bir JNDI adı vardır ve bu ad JPA’nın EntityManager örneklerini belirli bir veritabanına doğru bağlamasına olanak tanır. JNDI kaynakları ve veritabanları hakkında daha fazla bilgi için Oracle belgelerinde WebLogic Server Veri Kaynakları’na bakın. JNDI ile ilgili diğer kaynaklar, örneğin JMS ileti aracıları geçiş veya yeniden yapılandırma gerektirebilir. JMS yapılandırması hakkında daha fazla bilgi için bkz . Oracle WebLogic Server 12.2.1.4.0.

Etki alanı yapılandırmanızı inceleme

WebLogic Server’da ana yapılandırma birimi etki alanıdır. Bu nedenle config.xml dosyası, geçiş sırasında dikkatle gözden geçirmeniz gereken birçok yapılandırma içerir. Dosyada, alt dizinlerde depolanan ek XML dosyalarının başvuruları vardır. Oracle normalde WebLogic Server’ın yönetilebilir nesneleri ve hizmetleri yapılandırmak için Yönetim Konsolu’nu kullanmanızı ve config.xml dosyasının bakımını WebLogic Server’a bırakmanızı önerir. Daha fazla bilgi için bkz. Etki Alanı Yapılandırma Dosyaları.

Uygulamanızın içinde

WEB-INF/weblogic.xml dosyasını ve/veya WEB-INF/web.xml dosyasını inceleyin.

Oturum çoğaltmanın kullanılıp kullanılmadığını belirleme

Uygulamanız Oracle Coherence*Web içeren veya içermeyen oturum çoğaltmaya dayanıyorsa iki seçeneğiniz vardır:

  • Oturum yönetiminde bir veritabanı kullanmak için uygulamanızı yeniden düzenleyin.
  • Oturumu Azure Redis Hizmeti’ne dışsallaştırmak için uygulamanızı yeniden düzenleyin. Daha fazla bilgi için bkz. Redis için Azure Cache.

Tüm bu seçenekler için WebLogic’in HTTP Oturum Durumu Çoğaltması’nı nasıl yaptığı iyice anlaşılmalıdır. Daha fazla bilgi için Oracle belgelerinde HTTP Oturum Durumu Çoğaltması’na bakın.

Belge veri kaynakları

Uygulamanızda herhangi bir veritabanı kullanılıyorsa aşağıdaki bilgileri yakalamanız gerekir:

  • Veri kaynağının adı nedir?
  • Bağlantı havuzu yapılandırması nedir?
  • JDBC sürücüsü JAR dosyasını nerede bulabilirim?

WebLogic’teki JDBC sürücüleri hakkında daha fazla bilgi için bkz. WebLogic Sunucusuyla JDBC Sürücülerini Kullanma.

WebLogic’in özelleştirilip özelleştirilmediğini saptama

Aşağıdaki özelleştirmelerden hangilerinin yapıldığını saptayın ve yapılmış olanları yakalayın.

  • Başlatma dizeleri değiştirildi mi? Bu tür dizeler setDomainEnv, commEnv, startWebLogic ve stopWebLogic içerir.
  • JVM’ye geçirilmiş belirli parametreler var mı?
  • Sunucu sınıf yoluna eklenmiş JAR’lar var mı?

Şirket içine bağlantının gerekip gerekmediğini saptama

Uygulamanızın şirket içi hizmetlerinizden birine erişmesi gerekiyorsa Azure’ın bağlantı hizmetlerinden birini sağlamalısınız. Daha fazla bilgi için bkz. Şirket içi ağı Azure’a bağlama. Alternatif olarak şirket içi kaynaklarınızın kullanıma sunduğu genel kullanıma açık API’leri kullanmak için uygulamanızı yeniden düzenlemeniz gerekir.

Java Message Service (JMS) Kuyruklarının mı yoksa Konularının mı kullanıldığını saptama

Uygulamanız JMS Kuyruklarını veya Konularını kullanıyorsa, bunları dışarıda barındırılan bir JMS sunucusuna geçirmeniz gerekir. Azure Service Bus ve Gelişmiş İleti Sıraya Alma Protokolü (AMQP), JMS kullananlar için harika bir geçiş stratejisi olabilir. Daha fazla bilgi için bkz . Azure Service Bus standardı ve AMQP 1.0 ile Java İleti Hizmeti 1.1'i kullanma.

JMS kalıcı depoları yapılandırıldıysa, bunların yapılandırmasını yakalamalı ve geçiş sonrasında uygulamalısınız.

Özel oluşturulmuş kendi Paylaşılan Java EE Kitaplıklarınızı kullanıp kullanmadığınızı saptama

Paylaşılan Java EE kitaplığı özelliğini kullanıyorsanız iki seçeneğiniz vardır:

  • Kitaplıklarınızdaki tüm bağımlılıkları kaldırmak için uygulama kodunuzu yeniden düzenleyin ve bunun yerine işlevselliği doğrudan uygulamanızla birleştirin.
  • Kitaplıkları sunucu sınıf yoluna ekleyin.

OSGi paketlerinin kullanılıp kullanılmadığını saptama

WebLogic sunucusuna eklenmiş OSGi paketlerini kullandıysanız, eşdeğer JAR dosyalarını doğrudan web uygulamanıza eklemeniz gerekir.

Uygulamanızın işletim sistemine özgü kod içerip içermediğini saptama

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.

Oracle Service Bus’ın kullanımda olup olmadığını saptama

Uygulamanız Oracle Service Bus (OSB) kullanıyorsa OSB’nin nasıl yapılandırıldığını yakalamanız gerekir. Daha fazla bilgi için bkz. Oracle Service Bus Yüklemesi Hakkında.

Uygulamanızın birden çok WAR’dan oluşup oluşmadığını saptama

Uygulamanız birden çok WAR’dan oluşuyorsa, bu WAR dosyalarından her birini ayrı uygulama olarak değerlendirmeli ve her biri için bu kılavuzu izlemelisiniz.

Uygulamanızın EAR olarak paketlenip paketlenmediğini saptama

Uygulamanız EAR dosyası olarak paketlendiyse, application.xml ve weblogic-application.xml dosyalarını incelediğinizden ve yapılandırmalarını yakaladığınızdan emin olun.

Üretim sunucularında çalıştırılan tüm dış işlemleri ve daemon’ları belirleme

Uygulama sunucusunun dışında çalıştırılan izleme deamon’ları gibi işlemleriniz varsa, bunları ortadan kaldırmanız veya başka bir yere geçirmeniz gerekir.

Desteklenen Java sürümünün doğru çalıştığını onaylama

Azure Uygulaması Hizmetinde JBoss EAP, Java 8 ve 11'i destekler. Bu nedenle, uygulamanızın bu desteklenen sürümü kullanarak doğru çalışabildiğini onaylamanız gerekir. Geçerli sunucunuz desteklenmeyen bir JDK (Oracle JDK veya IBM OpenJ9 gibi) kullanıyorsa bu doğrulama daha da önemli bir hale gelir.

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

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 Uygulaması Hizmeti ile KULLANıLMAMALIDIR. Azure Uygulaması Hizmeti, 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.

Zamanlanmış işleri Azure'da yürütmek için Zamanlayıcı Tetikleyicisi ile Azure İşlevleri kullanmayı göz önünde bulundurun. Daha fazla bilgi için bkz. Azure İşlevleri için zamanlayıcı tetikleyicisi. İş kodunun kendisini işleve geçirmeniz gerekmez. Bu işlev, uygulamanızda bir URL çağırarak işi tetikleyebilir.

Not

Kötü amaçlı kullanımı önlemek için iş çağrı uç noktasının kimlik bilgileri gerektirdiğinden emin olmanız gerekir. Bu durumda tetikleme işlevinin kimlik bilgilerini sağlaması gerekir.

WebLogic Scripting Tool’un (WLST) kullanılıp kullanılmadığını saptama

Dağıtımı gerçekleştirmek için şu anda WLST kullanıyorsanız, ne yaptığını değerlendirmeniz gerekir. WLST, dağıtım kapsamında uygulamanızın herhangi bir (çalışma zamanı) parametresini değiştiriyorsa, bu parametrelerin aşağıdaki seçeneklerden birine uydığından emin olmanız gerekir:

  • Bunlar, uygulama ayarları olarak dışsallaştırılır.
  • Uygulamanıza eklenir.
  • Dağıtım sırasında JBoss CLI kullanır.

WLST yukarıda bahsedilenden daha fazlasını yapıyorsa, geçiş sırasında yapmanız gereken bazı ek işler olacaktır.

Uygulamanızın WebLogic’e özgü API’leri kullanıp kullanmadığını belirleme

Uygulamanız WebLogic'e özgü API'ler kullanıyorsa, uygulamanızı DEĞİl olarak yeniden düzenlemeniz gerekir. Örneğin Oracle WebLogic Server için Java API Başvurusu’nda bahsedilen bir sınıfı kullandıysanız, uygulamanızda WebLogic’e özgü bir API kullanmışsınızdır. Uygulamalar için Red Hat Geçiş Araç Seti, bu bağımlılıkların kaldırılmasına ve yeniden düzenlenmesine yardımcı olabilir.

Uygulamanızın Entity Beans mi yoksa EJB 2.x tarzı CMP Beans mi kullanacağına karar verme

Uygulamanız Entity Beans veya EJB 2.x stili CMP çekirdekleri kullanıyorsa, bunları KULLANMAMAK için uygulamanızı yeniden düzenlemeniz gerekir.

Java EE Uygulaması İstemci özelliğinin kullanılıp kullanılmadığını saptama

Java EE Uygulama İstemcisi özelliğini kullanarak (sunucu) uygulamanıza bağlanan istemci uygulamalarınız varsa, HTTP API'lerini kullanmak için hem istemci uygulamalarınızı hem de (sunucu) uygulamanızı yeniden düzenlemeniz gerekir.

Bir dağıtım planının kullanılıp kullanılmadığını belirleme

Dağıtımı gerçekleştirmek için bir dağıtım planı kullanıldıysa, dağıtım planının ne yaptığını değerlendirmeniz gerekir. Dağıtım planınız düz bir dağıtımsa web uygulamanızı herhangi bir değişiklik yapmadan dağıtabilirsiniz. Dağıtım planınız daha ayrıntılıysa, uygulamanızı dağıtımın bir parçası olarak düzgün bir şekilde yapılandırmak için JBoss CLI’yı kullanıp kullanamayacağınızı belirlemeniz gerekir. JBoss CLI’yı kullanmanız mümkün değilse uygulamanızı, dağıtım planı gerektirmeyen bir şekilde yeniden düzenlemeniz gerekir.

EJB zamanlayıcılarının kullanımda olup olmadığını belirleme

Uygulamanız EJB zamanlayıcıları kullanıyorsa, EJB zamanlayıcı kodunun her JBoss EAP örneği tarafından bağımsız olarak tetiklenebileceğini doğrulamanız gerekir. App Service'iniz yatay olarak ölçeklendirildiğinde her EJB zamanlayıcısı kendi JBoss EAP örneğinde tetiklendiğinden bu doğrulama gereklidir.

Dosya sisteminin kullanılıp kullanılmadiğini ve nasıl kullanıldığını doğrulama

Uygulama sunucusundaki dosya sisteminin her kullanımı yeniden yapılandırma veya nadir durumlarda mimari değişiklikleri gerektirir. Dosya sistemi WebLogic paylaşılan modülleri veya uygulama kodunuz tarafından kullanılabilir. Aşağıdaki senaryolardan birini veya tümünü belirleyebilirsiniz.

Salt okunur statik içerik

Uygulamanız şu anda statik içerik yüklüyorsa, bu statik içerik için alternatif bir konum gerekir. 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.

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. Kullanımınız için örnek bir uygulama sağladık.

Dinamik veya dahili içerik

Uygulamanız tarafından sık yazılan ve okunan dosyalar (geçici veri dosyaları gibi) veya yalnızca uygulamanız tarafından görülebilen statik dosyalar için Azure Depolama App Service dosya sistemine bağlanabilir.

JCA bağlayıcıların kullanılıp kullanılmayacağını belirleme

Uygulamanız JCA bağlayıcıları kullanıyorsa JCA bağlayıcısının JBoss EAP'de kullanılabileceğini doğrulamanız gerekir. JCA uygulaması WebLogic'e bağlıysa, JCA bağlayıcısını KULLANMAMAK için uygulamanızı yeniden düzenlemeniz gerekir. Kullanılabiliyorsa, JAR'leri sunucu sınıf yolu içine eklemeniz ve kullanılabilir olması için gerekli yapılandırma dosyalarını JBoss EAP sunucu dizinlerinde doğru konuma yerleştirmeniz gerekir.

Uygulamanızın bir kaynak bağdaştırıcısı kullanıp kullanmadığını belirleme

Uygulamanızın kaynak bağdaştırıcısı (RA) gerekiyorsa JBoss EAP ile uyumlu olması gerekir. RA'nın tek başına bir JBoss EAP örneğinde düzgün çalışıp çalışmadığını belirlemek için bunu sunucuya dağıtın ve düzgün bir şekilde yapılandırın. RA düzgün çalışıyorsa, JAR'leri App Service örneğinin sunucu sınıf yolunda eklemeniz ve kullanılabilir olması için gerekli yapılandırma dosyalarını JBoss EAP sunucu dizinlerinde doğru konuma yerleştirmeniz gerekir.

JAAS'ın kullanılıp kullanılmadığını belirleme

Uygulamanız JAAS kullanıyorsa JAAS'ın nasıl yapılandırıldığını yakalamanız gerekir. Veritabanı kullanıyorsa JBoss EAP'de jaas etki alanına dönüştürebilirsiniz. Özel bir uygulamaysa JBoss EAP'de kullanılabileceğini doğrulamanız gerekir.

WebLogic kümelemesinin kullanılıp kullanılmadığını saptama

Yüksek kullanılabilirlik elde etmek için uygulamanızı büyük olasılıkla birden çok WebLogic sunucusunda dağıtmışsınızdır. Azure Uygulaması Hizmeti ölçeklendirme yapabilir, ancak WebLogic Cluster API'sini kullandıysanız bu API'nin kullanımını ortadan kaldırmak için kodunuzu yeniden düzenlemeniz gerekir.

Geçiş

Uygulamalar için Red Hat Geçiş Araç Seti

Red Hat Migration Toolkit for Applications, Visual Studio Code için ücretsiz bir uzantıdır. Bu uzantı, Jakarta EE uygulamalarınızı diğer uygulama sunucularından JBoss EAP'ye geçirmek için özel API'lerdeki bağımlılıkları kaldırma gibi öneriler sağlamak için uygulama kodunuzu ve yapılandırmanızı analiz eder. Şirket içinden buluta geçiş gerçekleştiriyorsanız uzantı öneriler de sağlar. Daha fazla bilgi için bkz. Uygulamalar için Geçiş Araç Seti'ne genel bakış.

Bu kılavuzun içeriği doğru App Service Planı türünü seçme, oturum durumunuzu dışlaştırma ve JBoss Yönetim arabirimi yerine EAP örneklerinizi yönetmek için Azure'ı kullanma gibi geçiş yolculuğunun diğer bileşenlerini ele alma konusunda size yardımcı olur.

App Service planını sağlama

Kullanılabilir hizmet planları listesinden, belirtimleri geçerli üretim donanımının belirtimlerini karşılayan veya aşan planı seçin.

Not

Hazırlama/kanarya dağıtımları çalıştırmayı veya dağıtım yuvaları kullanmayı planlıyorsanız, App Service planı bu ek kapasiteyi içermelidir. Java uygulamaları için Premium veya daha yüksek planlar kullanmanızı öneririz.

App Service planını oluşturun.

Web Uygulamalarını Oluşturma ve Dağıtma

JBoss EAP sunucunuza dağıtılan her WAR dosyası için App Service Planınızda bir Web Uygulaması oluşturmanız gerekir.

Not

Tek bir web uygulamasına birden fazla WAR dosyası dağıtmak mümkündür ancak kesinlikle önerilmez. Tek bir web uygulamasına birden fazla WAR dosyasının dağıtılması, uygulamaların kendi kullanım taleplerine göre ölçeklendirilmesini önler. Ayrıca bağlı dağıtım işlem hatlarını daha karmaşık hale getirir. Tek bir URL'de birden fazla uygulamanın kullanılabilir olması gerekiyorsa Azure Application Gateway gibi bir yönlendirme çözümü kullanabilirsiniz.

Maven uygulamaları

Uygulamanız bir Maven POM dosyasından derleniyorsa, Web Uygulamasını oluşturmak ve uygulamanızı dağıtmak için Maven için Webapp eklentisini kullanın. Daha fazla bilgi için Hızlı Başlangıç: Azure Uygulaması Hizmetinde Java uygulaması oluşturma bölümünün Maven eklentisini yapılandırma bölümüne bakın.

Maven dışı uygulamalar

Maven eklentisini kullanmıyorsanız, Web Uygulamasını aşağıdakiler gibi başka mekanizmalar kullanarak sağlamalısınız:

Web uygulamasını oluşturduktan sonra uygulamanızı dağıtmak için kullanılabilir dağıtım mekanizmalarından birini kullanın. Daha fazla bilgi için bkz. App Service'e dosya dağıtma.

JVM çalışma zamanı seçeneklerini geçirme

Uygulamanıza belirli çalışma zamanı seçenekleri gerekiyorsa, en uygun mekanizmayı kullanarak bunları belirtin. Daha fazla bilgi için Azure Uygulaması Hizmeti için Java uygulaması yapılandırma konusunun Java çalışma zamanı seçeneklerini ayarlama bölümüne bakın.

Dışlaştırılmış parametreleri geçirme

Dış parametreleri kullanmanız gerekiyorsa bunları uygulama ayarları olarak ayarlamanız gerekir. Daha fazla bilgi için bkz . Uygulama ayarlarını yapılandırma.

Başlangıç betiklerini geçirme

Özgün uygulama özel bir başlangıç betiği kullandıysa, bunu bir Bash betiğine geçirmeniz gerekir. Daha fazla bilgi için bkz . Uygulama sunucusu yapılandırmasını özelleştirme.

Gizli dizileri doldurma

Uygulamanıza özgü gizli dizileri depolamak için Uygulama Ayarları sayfasını kullanın. Aynı gizli diziyi veya gizli dizileri birden çok uygulama arasında kullanmayı planlıyorsanız veya ayrıntılı erişim ilkelerine ve denetim özelliklerine ihtiyacınız varsa, bunun yerine Azure Key Vault başvurularını kullanın. Daha fazla bilgi için, Azure Uygulaması Hizmeti için Java uygulaması yapılandırma'nın KeyVault Başvurularını Kullanma bölümüne bakın.

Özel Etki Alanı ve SSL Yapılandırma

Uygulamanız özel bir etki alanında görünür olacaksa web uygulamanızı bu etki alanına eşlemeniz gerekir. Daha fazla bilgi için bkz. Öğretici: Mevcut özel DNS adını Azure Uygulaması Hizmeti ile eşleme.

Ardından bu etki alanı için TLS/SSL sertifikasını App Service Web App'inize bağlamanız gerekir. Daha fazla bilgi için bkz. Azure Uygulaması Hizmeti'nde TLS/SSL bağlaması ile özel bir DNS adının güvenliğini sağlama.

Veri kaynaklarını, kitaplıkları ve JNDI kaynaklarını geçirme

Veri kaynaklarını geçirmek için, Azure Uygulaması Hizmeti için Java uygulaması yapılandırma'nın Veri kaynaklarını yapılandırma bölümündeki adımları izleyin.

Azure Uygulaması Hizmeti için Java uygulaması yapılandırma bölümündeki JBoss EAP bölümündeki yönergeleri izleyerek ek sunucu düzeyinde sınıf yolu bağımlılıklarını geçirin.

Tüm ek paylaşılan sunucu düzeyindeki JDNI kaynaklarını geçirin. Daha fazla bilgi için Azure Uygulaması Hizmeti için Java uygulaması yapılandırma'nın JBoss EAP bölümüne bakın.

JCA bağlayıcılarını ve JAAS modüllerini geçirme

Modülleri ve bağımlılıkları yükleme başlığındaki yönergeleri izleyerek tüm JCA bağlayıcılarını ve JAAS modüllerini geçirin.

Not

Uygulama başına bir WAR'ın önerilen mimarisini izliyorsanız, sunucu düzeyinde sınıf yolu kitaplıklarını ve JNDI kaynaklarını uygulamanıza geçirmeyi göz önünde bulundurun. Bunun yapılması, bileşen idaresini ve değişiklik yönetimini önemli ölçüde basitleştirir. Uygulama başına birden fazla WAR dağıtmak istiyorsanız, bu kılavuzun başında bahsedilen yardımcı kılavuzlarımızdan birini gözden geçirmelisiniz.

Zamanlanan işleri geçirme

Zamanlanmış işlerinizi uygulamanızın bir parçası olmayacak şekilde en azından bir Azure VM'ye taşımanız gerekir. Alternatif olarak, Azure İşlevleri, SQL Veritabanı ve Event Hubs gibi Azure hizmetlerini kullanarak bunları olay odaklı Java'ya modernleştirmeyi tercih edebilirsiniz.

Yeniden başlatma ve duman testi

Son olarak tüm yapılandırma değişikliklerini uygulamak için Web Uygulamanızı yeniden başlatmalısınız. Yeniden başlatma tamamlandıktan sonra uygulamanızın doğru çalıştığından emin olun.

Geçiş sonrası

Uygulamanızı Azure Uygulaması Hizmeti'ne geçirdiğinizden, beklediğiniz gibi çalıştığını doğrulamanız gerekir. Bunu yaptıktan sonra, uygulamanızı buluta daha yerel hale getirebilecek bazı önerilerimiz vardır.

Öneriler

  • Dosya depolama için /home dizinini kullanmayı tercih ettiyseniz, bunu Azure Depolama ile değiştirmeyi göz önünde bulundurun. Daha fazla bilgi için bkz . App Service'te özel bir kapsayıcıda Azure Depolama'yı yerel paylaşım olarak bağlama.

  • /home dizininde bağlantı dizesi, SSL anahtarları ve diğer gizli dizi bilgilerini içeren yapılandırmanız varsa, mümkün olduğunca Azure Key Vault ve uygulama ayarlarıyla parametre ekleme birleşimini kullanmayı göz önünde bulundurun. Daha fazla bilgi için bkz. App Service ve Azure İşlevleri için Key Vault başvurularını kullanma ve App Service uygulamasını yapılandırma.

  • Sıfır kapalı kalma süresine sahip güvenilir dağıtımlar için dağıtım yuvalarını kullanmayı göz önünde bulundurun. Daha fazla bilgi için bkz. Azure App Service’te hazırlık ortamları ayarlama.

  • DevOps stratejisini tasarlayın ve uygulayın. Güvenilirliği korurken geliştirme hızınızı da artırmak için Azure Pipelines ile dağıtımları ve testleri otomatikleştirmeyi düşünebilirsiniz. Daha fazla bilgi için bkz . Java web uygulaması oluşturma ve dağıtma. Dağıtım yuvaları kullanıyorsanız, bir yuvaya dağıtımı ve sonraki yuva değişimini otomatikleştirebilirsiniz. Daha fazla bilgi için Örnek: Azure Pipelines kullanarak App Service'e dağıtma'nın Yuvaya dağıtma bölümüne bakın.

  • İş sürekliliği ve olağanüstü durum kurtarma stratejisini tasarlayın ve uygulayın. Görev açısından kritik uygulamalar için çok bölgeli dağıtım mimarisi uygulamayı düşünebilirsiniz. Daha fazla bilgi için bkz . Yüksek oranda kullanılabilir çok bölgeli web uygulaması.