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ı "lift and improve" çalışmalarına yönelme eğiliminde olabilirsiniz.

Bu kılavuzda ayrıntılı bir şekilde anlatılan gerekli değişiklikleri dikkate alarak mümkün olduğunca saf bir “lift and shift” yaklaşımıyla devam etmek daha iyidir. "Geçiş tamamlandı" ifadesinin tanımını yaparak bu kilometre taşına ulaştığınızda durumun farkına varabilirsiniz. "Geçiş tamamlandı" durumuna 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ı. Azure üzerindeki Red Hat JBoss EAP bölümündeki Azure Sanal Makineler için JBoss EAP kısmında tekliflerin listesini görebilirsiniz.

Önceden oluşturulmuş Azure Marketplace teklifi hakkında bilgi edinmek için bkz. Hızlı Başlangıç: Azure Sanal Makineler'de (VM'ler) bir JBoss EAP kümesi dağıtın.

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 sistemine sahip olan kullandıkça öde sanal makinelerinde dağıtım yapın. Bu seçenek PAYG olarak bilinir.
  • Red Hat Cloud Access programı aracılığıyla Red Hat JBoss EAP ve Red Hat Enterprise Linux aboneliklerinizi Azure'a taşıyın. Bu seçenek BYOS olarak bilinmektedir.

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 hakkında genel bir bakış için bkz: Red Hat Satellite.

Not

EAP yetkilendirmeniz yoksa, Red Hat Bireysel Geliştirici Aboneliği aracılığıyla ücretsiz bir 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ı bir kenara kaydedin.

Havuz Kimliğinizi bulma adımları, Önkoşullar bölümünde, Hızlı Başlangıç: Azure Sanal Makineler (VM'ler) üzerinde bir JBoss EAP kümesi dağıtın başlığı altında 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.

Yük testi verileriniz varsa, beklenen performans hedeflerini karşıladığınızdan emin olmak için geçiş sonrasında testleri yeniden çalıştırabilmek için geçerli test sonuçlarının anlık görüntüsünü alın.

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

Tüm gizli bilgilerin envanterini çıkar

Üretim sunucusundaki veya sunucularındaki tüm özellikleri ve yapılandırma dosyalarını, herhangi bir gizli bilgi ve parolalar açısından denetleyin. WAR'lerinizdeki jboss-web.xml dosyasını kontrol ettiğinizden emin olun. Uygulamanızın içinde parolalar ve kimlik bilgileri içeren yapılandırma dosyaları da bulunabilir.

Bu gizli bilgileri Azure Key Vault'ta depolamayı düşünün. Daha fazla bilgi için Azure Key Vault temel kavramlar konusuna bakın.

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ü kullanmanız gerektiği konusunda yol gösterici bilgi 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ı, Java İleti Hizmeti (JMS) ileti aracıları ve diğerleri gibi dış kaynaklar Java Adlandırma ve Dizin Arabirimi (JNDI) aracılığıyla eklenir. Bu tür kaynakların bazıları geçiş veya yeniden yapılandırma gerektirebilir.

Uygulamanızın içinde

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

Veri kaynakları

Veri kaynakları, JNDI kaynakları türü olarak ayarlanmış olanlardır. Aşağıdaki bilgileri her veri kaynağı için belgeleyin:

  • Veri kaynağının adı nedir?
  • Bağlantı havuzu ayarları nedir?
  • Java Veritabanı Bağlantısı (JDBC) sürücüsü JAR dosyasını nerede bulabilirim?

Daha fazla bilgi için JBoss EAP belgelerindeki JBoss Kurumsal Uygulama Platformu (EAP) Veri Kaynakları hakkında bakı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.

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 Depolama'ya taşımayı ve küresel olarak hızlı indirmeler için Azure Front Door eklemeyi düşünmelisiniz. Daha fazla bilgi için bkz. Azure Depolama 'de Statik web sitesi barındırma ve Azure Depolama hesabını Azure Front Doorile tümleştirme.

Yerel ortam bağlantısının gerekli olup olmadığını belirleme

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 Şirket içi ağı Azure’a bağlama bölümüne bakın. 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 mı kullanıldığını saptayın.

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 Java İleti Hizmeti 1.1'i Azure Service Bus Standard ve AMQP 1.0 ile kullanma bölümüne bakın.

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. Eğer bir veritabanı kullanıyorsa, JBoss EAP'de onu bir 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.

Göç

Azure Sanal Makineleri üzerinde JBoss EAP teklifi seçin.

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 Cloud Services (klasik) için Boyutlar'a bakın.

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 Web Uygulamalarında Kümeleme bölümüne bakın. Önceden yapılandırılmış Azure Pazaryeri teklifi, etki alanı modu desteği içerir. EAP Alanları ve etki alanı moduna genel bir 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 Uygulamalar için Geçiş Araç Seti'ne genel bakış sayfasına bakın.

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: