Azure VM'lerinde JBoss EAP uygulamalarını JBoss EAP'ye geçirme

Bu kılavuzda, mevcut bir JBoss EAP uygulamasını Azure VM'lerinde JBoss EAP üzerinde ç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.

"Geçiş tamamlandı" ifadesinin tanımını yapma

Bu kılavuz ve ilgili Azure Market teklifleri, JBoss EAP iş yüklerinizin Azure'a geçişini hızlandırmaya yönelik bir başlangıç noktasıdır. Geçiş çabalarınızın kapsamını tanımlamak önemlidir. Örneğin mevcut altyapınızdan Azure Sanal Makineler'e "lift and shift" yöntemiyle mi geçiş yapıyorsunuz? Bu durumda geçiş sırasında bazı aşamalarda "lift and improve" yaklaşımını benimsemeniz gerekebilir.

Bu kılavuzda ayrıntılı bir şekilde anlatılan değişiklikleri dikkate alarak mümkün olduğunca "lift and shift" yaklaşımıyla ilerlemeniz önerilir. "Geçiş tamamlandı" ifadesinin tanımını yaparak bu kilometre taşına ulaştığınızda durumun farkına varabilirsiniz. "Geçiş tamamlandı" işleminize ulaştığınızda, Sanal sabit diskin anlık görüntüsünü oluşturma bölümünde açıklandığı gibi sanal makinelerinizin anlık görüntüsünü alabilirsiniz. Anlık görüntünüzden başarıyla geri yükleyebileceğinizi doğruladıktan sonra iyileştirmeleri yapmak daha güvenlidir. Bu şekilde, şimdiye kadar başardığınız geçiş ilerlemesini kaybetme korkusu olmadan devam edebilirsiniz.

Önceden oluşturulmuş Azure Market tekliflerinin iyi bir başlangıç noktası olup olmadığını belirleme

Red Hat ve Microsoft, Azure'a geçiş için sağlam bir başlangıç noktası sağlamak üzere bir dizi Azure çözüm şablonunu Azure Market getirmek için iş birliği yaptı. Tekliflerin listesini Azure'da JBoss EAP Sanal Makineler Azure'da Red Hat JBoss EAP bölümünde görebilirsiniz.

Önceden oluşturulmuş Azure Market teklifi hakkında bilgi edinmek için bkz. Hızlı Başlangıç: Azure portalını kullanarak Azure VM'de JBoss EAP Sunucusu dağıtma.

Mevcut tekliflerden hiçbiri iyi bir başlangıç noktası değilse, Azure Sanal Makineler'da sağlanan kaynakları kullanarak dağıtımı el ile yeniden oluşturmanız gerekir. Daha fazla bilgi için bkz. IaaS nedir?

JBoss EAP sürümünün uyumlu olup olmadığını belirleme

Mevcut JBoss EAP sürümünüz hizmet olarak altyapı (IaaS) tekliflerindeki sürümle uyumlu olmalıdır. Tekliflerin Azure portalı sayfalarında hangi JBoss EAP sürümlerinin kullanılabilir olduğu gösterilir. Daha fazla bilgi için Azure portalındaki VM'lerde JBoss EAP Kümesi teklifine bakın. Mevcut JBoss EAP sürümünüz teklifte bulunan sürümlerle uyumlu değilse, Azure IaaS kaynaklarını kullanarak dağıtımı el ile yeniden oluşturmanız gerekir. Daha fazla bilgi için bkz. IaaS nedir?

Gerekli lisanslara sahip olduğunuzdan emin olun

Önceden oluşturulmuş Azure Market tekliflerini kullanırken, tüm JBoss EAP sunucularınız için Red Hat'ten geçerli lisanslara sahip olmanız gerekir. Bunları Azure'a taşıdığınızda, gereksinimlerinizi karşılamak için aşağıdaki dağıtım seçenekleri arasından seçim yapabilirsiniz:

  • Red Hat Enterprise Linux kullandıkça öde sanal makinelerinde dağıtın. Bu seçenek PAYG olarak bilinir.
  • Red Hat JBoss EAP ve Red Hat Enterprise Linux aboneliklerinizi Red Hat Cloud Access programı aracılığıyla Azure'a taşıyın. Bu seçenek KCG olarak bilinir.

Her iki seçenekte de lisans taşınabilirliği için Red Hat'ten Havuz Kimliği istenir. Teklifleri denemeden önce bu kimliğin elinizde olduğundan emin olun.

Önceden oluşturulmuş Azure Market teklifleri, lisans yönetimi için Red Hat Satellite desteği içerir. Red Hat Satellite'a genel bakış için bkz . Red Hat Satellite.

Not

EAP yetkilendirmeniz yoksa, Red Hat Bireysel Geliştirici Aboneliği aracılığıyla ücretsiz geliştirici aboneliğine kaydolabilirsiniz. Önceden oluşturulmuş Azure Market tekliflerinde RHSM kullanıcı adı ve RHSM parolası olarak kullanmak üzere hesap ayrıntılarını yazın.

Havuz Kimliğinizi bulma adımları, Hızlı Başlangıç: Azure portalını kullanarak Azure sanal makinesinde JBoss EAP Sunucusu dağıtma bölümündeki Önkoşullar bölümünde açıklanmıştır.

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 düğüm havuzunuzdaki VM'lerin boyutunu, kapsayıcı tarafından kullanılacak bellek miktarını ve kapsayıcının ihtiyaç duyduğu CPU paylaşımını seçmeye yardımcı olmak için yararlıdır.

AKS'de düğüm havuzlarını yeniden boyutlandırmak mümkündür. Nasıl yapılacağını öğrenmek için bkz . Azure Kubernetes Service'te (AKS) düğüm havuzlarını yeniden boyutlandırma.

Tüm gizli dizilerin envanterini çıkarma

Tüm gizli diziler ve parolalar için üretim sunucusundaki veya sunuculardaki tüm özellikleri ve yapılandırma dosyalarını denetleyin. WAR'lerinizdeki jboss-web.xml dosyasını denetlemeyi unutmayın. Uygulamanızın içinde parolalar ve kimlik bilgileri içeren yapılandırma dosyaları da bulunabilir.

Bu gizli dizileri Azure Key Vault’ta depolamanız faydalı olabilir. 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>

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

Azure VM'lerinde JBoss EAP, desteklenen bir Java sürümü gerektirir. JDK'nin hangi sürümünün kullanılacağına ilişkin yönergeler için Red Hat belgelerindeki Desteklenen Yapılandırmalar'a bakı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

Dış kaynakların envanterini çıkarma

Veri kaynakları ve JMS ileti aracıları gibi dış kaynaklar Java Adlandırma ve Dizin Arabirimi (JNDI) aracılığıyla eklenir. Bunlara benzer kaynakların geçirilmesi veya yeniden yapılandırılması gerekebilir.

Uygulamanızın içinde

WEB-INF/jboss-web.xml ve/veya WEB-INF/web.xml dosyalarını inceleyin. <Context> öğesi içindeki <Resource> öğelerini arayın.

Veri kaynakları

Veri kaynakları, type özniteliği javax.sql.DataSource olarak ayarlanmış JNDI kaynaklarıdır. Aşağıdaki bilgileri her veri kaynağı için belgeleyin:

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

Daha fazla bilgi için JBoss EAP belgelerinde JBoss EAP Veri Kaynakları Hakkında bölümüne göz atın.

Diğer tüm dış kaynaklar

Bu kılavuzda olası tüm dış bağımlılıkları belgelemek uygulanabilir bir yöntem değildir. Geçişten sonra uygulamanızın tüm dış bağımlılıklarının karşılandığını doğrulamak ekibinizin sorumluluğundadır.

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

Uygulama sunucusundaki dosya sisteminin herhangi bir kullanımı için yeniden yapılandırma veya nadir durumlarda mimari değişiklikler gerekir. JBoss EAP modülleri veya uygulama kodunuz dosya sistemini kullanabilir. Aşağıdaki bölümlerde açıklanan senaryoların bazılarıyla veya tümüyle karşılaşabilirsiniz.

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. Statik içeriği Azure Spring Apps Enterprise planındaki bir uygulamaya doğrudan da dağıtabilirsiniz. Daha fazla bilgi için bkz . Web statik dosyalarını dağıtma.

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. Statik içeriği Azure Spring Apps Enterprise planındaki bir uygulamaya doğrudan da dağıtabilirsiniz. Daha fazla bilgi için bkz . Web statik dosyalarını dağıtma.

Ş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ğını Azure'a bağlamak için bir çözüm seçme. 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 ve AMQP 1.0 ile JMS’yi 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.

JCA bağlayıcıların kullanımda olup olmadığını belirleme

Uygulamanız JCA bağlayıcıları kullanıyorsa JBoss EAP üzerinde JCA bağlayıcısını kullanabileceğinizi doğrulayın. JBoss EAP'de JCA bağlayıcısını kullanabilirseniz, kullanılabilir olması için JAR'leri sunucu sınıf yolu'na eklemeniz ve gerekli yapılandırma dosyalarını JBoss EAP sunucu dizinlerinde doğru konuma yerleştirmeniz gerekir.

JAAS’nin kullanımda olup olmadığını belirleme

Uygulamanız JAAS kullanıyorsa JAAS’nin 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.

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 dosyasını incelediğinizden ve yapılandırmalarını yakaladığınızdan emin olun.

Not

Azure VM kaynaklarınızı daha iyi kullanmak için web uygulamalarınızın her birini bağımsız olarak ölçeklendirebilmek istiyorsanız EAR'yi ayrı web uygulamalarına ayırmanız gerekir.

Ü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.

Geçiş

Azure'da JBoss EAP Sanal Makineler teklifi seçme

Aşağıdaki bölümlerde açıklanan teklifler Azure Sanal Makineler üzerinde JBoss EAP için kullanılabilir.

Bir teklifin dağıtımı sırasında JBoss EAP sunucu düğümleriniz için sanal makine boyutunu seçmeniz istenir. VM boyutunu seçerken tüm boyut etkenlerini (bellek, işlemci, disk) dikkate almanız önemlidir. Daha fazla bilgi için bkz . Cloud Services için boyutlar (klasik).

Azure'da JBoss EAP Sanal Makine Ölçek Kümeleri

Sanal Makine Ölçek Kümeleri her boyuttaki iş yükleri için yük dengeli, yüksek oranda ölçeklenebilir sanal makine grupları sağlar. Daha fazla bilgi için bkz. Sanal Makine Ölçek Kümeleri nedir?

Kümelenmiş Sanal Makineler Üzerinde JBoss EAP

İsterseniz, JBoss EAP kümeleme mekanizmasını kullanan geleneksel bir VM kümesi, bu özelliği zaten kullanan dağıtımlardan kaldırma ve geçiş için uygundur. Daha fazla bilgi için JBoss EAP belgelerindeki Red Hat JBoss EAP 7 Kümesini Yapılandırma bölümüne bakın. Önceden oluşturulmuş Azure Market teklifi, etki alanı modu desteği içerir. EAP Etki Alanları ve etki alanı moduna genel bakış için bkz . Etki Alanı Yönetimi.

JBoss EAP Tek Sunucu

Test ve değerlendirme için veya basit iş yükleri için tek bir sunucuya ihtiyacınız varsa, tek bir VM'de tek bir JBoss EAP sunucusu dağıtan bir teklif vardır.

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ı, şirket içinden buluta geçiş için öneriler sağlamak üzere uygulama kodunuzu ve yapılandırmanızı analiz eder. Daha fazla bilgi için bkz. Uygulamalar için Geçiş Araç Seti'ne genel bakış.

Bu kılavuzun içeriği, doğru VM boyutunu seçme ve oturum durumunuzu dışlaştırma gibi geçiş yolculuğunun diğer bileşenlerine çözüm getirmenize yardımcı olur.

Geçiş sonrası

Geçiş öncesi adımında tanımladığınız geçiş hedeflerine ulaştıktan sonra her şeyin beklendiği gibi çalıştığından emin olmak için birkaç uçtan uca onay testi gerçekleştirmeniz gerekir. Geçiş sonrası bazı olası geliştirmeler hakkında bilgi için aşağıdaki makalelere bakın: