Migrace aplikací EAP JBoss na EAP JBoss na virtuálních počítačích Azure

Tato příručka popisuje, o čem byste měli vědět, když chcete migrovat existující aplikaci JBoss EAP, která se má spouštět na JBoss EAP na virtuálních počítačích Azure.

Před migrací

Pokud chcete zajistit úspěšnou migraci, dokončete kroky posouzení a inventáře popsané v následujících částech.

Definice, co se rozumí pod pojmem „Migrace je hotová“

Tento průvodce a odpovídající nabídky Azure Marketplace představují výchozí bod pro zrychlení migrace úloh JBoss EAP do Azure. Je důležité definovat rozsah své migrace. Provádíte například migraci striktně metodou „lift and shift“ z existující infrastruktury do služby Azure Virtual Machines? Pokud ano, možná budete v pokušení při migraci provést nějaká vylepšení.

Je lepší se v maximální míře držet čisté metody „lift and shift“, ale vzít v úvahu nutné změny, jak je podrobně popsáno v této příručce. Definujte, co se rozumí pod pojmem „Migrace je hotová“, abyste věděli, kdy jste tohoto milníku dosáhli. Po dosažení "dokončení migrace" můžete pořídit snímek virtuálních počítačů, jak je popsáno v části Vytvoření snímku virtuálního pevného disku. Vylepšení je bezpečnější provést po ověření úspěšného obnovení ze snímku. Tímto způsobem můžete pokračovat bez obav ze ztráty průběhu migrace, kterého jste dosud dosáhli.

Určení, jestli jsou předem připravené nabídky Azure Marketplace dobrým výchozím bodem

Společnost Red Hat a Microsoft se spojili s uvedením sady šablon řešení Azure na Azure Marketplace, která poskytuje solidní výchozí bod pro migraci do Azure. Seznam nabídek najdete v JBoss EAP v části Azure Virtual Machines red Hat JBoss EAP v Azure.

Pokud chcete získat přehled o předem připravené nabídce Azure Marketplace, přečtěte si rychlý start: Nasazení clusteru JBoss EAP na virtuálních počítačích Azure.

Pokud žádná z existujících nabídek není dobrým výchozím bodem, musíte nasazení reprodukovat ručně pomocí prostředků dostupných ve službě Azure Virtual Machines. Další informace najdete v tématu Co je IaaS?

Určení, jestli je verze protokolu EAP JBoss kompatibilní

Vaše stávající verze protokolu EAP JBoss musí být kompatibilní s verzí nabídek infrastruktury jako služby (IaaS). Stránky webu Azure Portal nabídek ukazují, které verze JBoss EAP jsou k dispozici. Další informace najdete v nabídce clusteru JBoss EAP na virtuálních počítačích na webu Azure Portal. Pokud vaše stávající verze protokolu EAP JBoss není kompatibilní s verzemi dostupnými v nabídce, musíte nasazení reprodukovat ručně pomocí prostředků Azure IaaS. Další informace najdete v tématu Co je IaaS?

Ujistěte se, že máte potřebné licence.

Při použití předem připravených nabídek Azure Marketplace musíte mít aktuální licence z Red Hatu pro všechny servery JBoss EAP. Když je přesunete do Azure, můžete si vybrat mezi následujícími možnostmi nasazení, které vyhovují vašim potřebám:

  • Nasaďte na virtuální počítače s průběžnými platbou red Hat Enterprise Linux. Tato možnost se označuje jako PAYG.
  • Přesuňte svoje předplatná Red Hat JBoss EAP a Red Hat Enterprise Linux do Azure prostřednictvím programu Red Hat Cloud Access . Tato možnost se označuje jako BYOS.

V oboumožnostch Před vyzkoušením nabídek se ujistěte, že máte toto ID.

Předem připravená nabídka Azure Marketplace zahrnuje podporu pro Red Hat Satellite pro správu licencí. Přehled funkce Red Hat Satellite najdete v tématu Red Hat Satellite.

Poznámka:

Pokud nemáte nárok na EAP, můžete si zaregistrovat bezplatné předplatné pro vývojáře prostřednictvím předplatného red hat developer pro jednotlivce. Uložte si podrobnosti o účtu, které můžete použít jako uživatelské jméno RHSM a heslo RHSM v předem připravených nabídkách Azure Marketplace.

Postup zjištění ID fondu najdete v části Požadavky v rychlém startu: Nasazení clusteru JBoss EAP na virtuálních počítačích Azure.

Inventarizace kapacity serverů

Zdokumentujte hardware (paměť, procesor, disk) aktuálních produkčních serverů a průměrný počet požadavků a využití prostředků ve špičce. Tyto informace budete potřebovat bez ohledu na zvolenou cestu migrace. Užitečné je například pomoct při výběru velikosti virtuálních počítačů ve fondu uzlů, množství paměti, které kontejner používá, a počet sdílených procesorů, které kontejner potřebuje.

Ve službě AKS je možné změnit velikost fondů uzlů. Postup najdete v tématu Změna velikosti fondů uzlů ve službě Azure Kubernetes Service (AKS).

Inventarizace všech tajných kódů

Zkontrolujte všechny vlastnosti a konfigurační soubory na produkčním serveru nebo serverech, jestli neobsahují tajné kódy a hesla. Nezapomeňte zkontrolovat soubor jboss-web.xml ve vašich wars. Konfigurační soubory obsahující hesla nebo přihlašovací údaje se mohou nacházet také ve vaší aplikaci.

Zvažte uložení těchto tajných kódů do služby Azure Key Vault. Další informace najdete v článku Základní koncepty služby Azure Key Vault.

Inventarizace všech certifikátů

Zdokumentujte všechny certifikáty používané pro veřejné koncové body SSL. Všechny certifikáty na produkčních serverech zobrazíte spuštěním následujícího příkazu:

keytool -list -v -keystore <path to keystore>

Ověření správné funkce podporované verze jazyka Java

JBoss EAP na virtuálních počítačích Azure vyžaduje podporovanou verzi Javy. Pokyny k tomu, jakou verzi sady JDK použít, najdete v dokumentaci k Red Hatu v části Podporované konfigurace .

Poznámka:

Toto ověření je obzvláště důležité, pokud se váš aktuální server provozuje na nepodporované sadě JDK (například Oracle JDK nebo IBM OpenJ9).

Aktuální verzi jazyka Java získáte tak, že se přihlásíte k produkčnímu serveru a spustíte následující příkaz:

java -version

Inventář externích prostředků

Externí prostředky, jako jsou zdroje dat, zprostředkovatelé zpráv JMS a další, se vkládají přes rozhraní JNDI (Java Naming and Directory Interface). Některé z těchto prostředků mohou vyžadovat migraci nebo změnu konfigurace.

Ve vaší aplikaci

Zkontrolujte soubory WEB-INF/jboss-web.xml a/nebo WEB-INF/web.xml. Hledejte elementy <Resource> uvnitř elementu <Context>.

Zdroje dat

Zdroje dat jsou prostředky JNDI s atributem type nastaveným na javax.sql.DataSource. U každého zdroje dat zdokumentujte následující informace:

  • Jaký je název zdroje dat?
  • Jaká je konfigurace fondu připojení?
  • Kde najdu soubor JAR ovladače JDBC?

Další informace najdete v tématu o zdrojích dat EAP v JBoss v dokumentaci k JBoss EAP.

Všechny ostatní externí prostředky

V této příručce není možné zdokumentovat všechny možné externí závislosti. Je zodpovědností vašeho týmu, aby ověřil, že po migraci budou fungovat všechny externí závislosti vaší aplikace.

Určení, jestli a jak se používá systém souborů

Jakékoli použití systému souborů na aplikačním serveru vyžaduje změnu konfigurace nebo ve výjimečných případech změny architektury. Moduly JBoss EAP nebo kód aplikace mohou používat systém souborů. Můžete zjistit některé nebo všechny z následujících situací popsaných v následujících oddílech.

Statický obsah jen pro čtení

Pokud vaše aplikace aktuálně poskytuje statický obsah, budete pro ni potřebovat alternativní umístění. Možná budete chtít statický obsah přesunout do Azure Blob Storage a přidat Azure CDN, abyste umožnili bleskově rychlé globální stahování. Další informace najdete v tématu Hostování statického webu ve službě Azure Storage a rychlém startu: Integrace účtu úložiště Azure s Azure CDN.

Dynamicky publikovaný statický obsah

Pokud vaše aplikace umožňuje nahrávání nebo vytváření statického obsahu, který je ale po vytvoření neměnný, můžete použít Azure Blob Storage a Azure CDN, jak je popsáno výše, s funkcí Azure Functions, která zpracovává nahrávání a aktualizace CDN. Pro vaše použití jsme poskytli ukázkovou implementaci na GitHubu – Uploading and CDN-preloading static content with Azure Functions.

Určení, jestli je potřeba připojení k místnímu prostředí

Pokud vaše aplikace potřebuje přístup k některým místním službám, budete muset zřídit jednu ze služeb připojení Azure. Další informace najdete v článku věnovaném připojení místní sítě k Azure. Alternativně budete muset aplikaci refaktorovat tak, aby používala veřejně přístupná rozhraní API, která nabízejí vaše místní prostředky.

Určení, jestli se používají fronty nebo témata JMS (Java Message Service)

Pokud vaše aplikace používá fronty nebo témata JMS, budete je muset migrovat na externě hostovaný server JMS. Pro aplikace používající JMS může skvělou migrační strategii představovat Azure Service Bus a rozšířený protokol řízení front zpráv (AMQP). Další informace najdete v tématu Použití služby Java Message Service 1.1 se standardem služby Azure Service Bus a AMQP 1.0.

Pokud jste nakonfigurovali trvalá úložiště JMS, musíte zachytit jejich konfiguraci a po migraci ji použít.

Určení, jestli se používají konektory JCA

Pokud vaše aplikace používá konektory JCA, ověřte, že můžete použít konektor JCA v JBoss EAP. Pokud můžete použít konektor JCA v JBoss EAP, pak aby byl dostupný, musíte přidat jars do cesty ke třídě serveru a umístit potřebné konfigurační soubory do správného umístění v adresářích serveru JBoss EAP.

Určení, jestli se používá JAAS

Pokud vaše aplikace používá JAAS, budete muset zjistit konfiguraci JAAS. Pokud používáte databázi, můžete ji převést na doménu JAAS v JBoss EAP. Pokud se jedná o vlastní implementaci, budete muset ověřit, že se dá použít v JBoss EAP.

Určení, jestli se aplikace skládá z několika souborů WAR

Pokud se vaše aplikace skládá z několika souborů WAR, měli byste s těmito soubory WAR zacházet jako se samostatnými aplikacemi a projít tuto příručku pro každý z nich.

Určení, jestli je aplikace zabalená jako soubor EAR

Pokud je vaše aplikace zabalená jako soubor EAR, prověřte soubor application.xml a poznačte si jeho konfiguraci.

Poznámka:

Pokud chcete mít možnost škálovat jednotlivé webové aplikace nezávisle na tom, abyste mohli lépe využívat prostředky virtuálních počítačů Azure, měli byste rozdělit ear do samostatných webových aplikací.

Zjištění všech vnějších procesů a démonů běžících na produkčních serverech

Pokud používáte nějaké procesy, které běží mimo aplikační server, například monitorovací démony, budete je muset eliminovat nebo migrovat jinam.

Migrace

Výběr nabídky EAP JBoss ve službě Azure Virtual Machines

Nabídky popsané v následujících částech jsou k dispozici pro JBoss EAP ve službě Azure Virtual Machines.

Během nasazování nabídky se zobrazí výzva k výběru velikosti virtuálního počítače pro uzly serveru JBoss EAP. Při výběru velikosti virtuálního počítače je důležité zvážit všechny aspekty změny velikosti (paměť, procesor, disk). Další informace najdete v tématu Velikosti cloudových služeb (classic).

JBoss EAP ve škálovacích sadách virtuálních počítačů Azure

Škálovací sady virtuálních počítačů poskytují skupiny vysoce škálovatelných virtuálních počítačů s vyrovnáváním zatížení pro úlohy libovolné velikosti. Další informace najdete v tématu Co jsou škálovací sady virtuálních počítačů?

JBoss EAP v clusterovaných virtuálních počítačích

Pokud chcete, je tradiční cluster virtuálních počítačů využívající mechanismus clusteringu JBoss EAP vhodný pro metodu "lift and shift" od nasazení, která tuto funkci už používají. Další informace naleznete v části Clustering ve webových aplikacích v dokumentaci JBoss EAP. Předem připravená nabídka Azure Marketplace zahrnuje podporu pro režim domény. Přehled domén a režimu domény protokolu EAP najdete v tématu Správa domén.

Jednoúčelový server JBoss EAP

Pokud potřebujete jenom jeden server, třeba pro testování a vyhodnocení, nebo pro jednoduché úlohy, existuje nabídka, která nasadí jeden server JBoss EAP na jeden virtuální počítač.

Red Hat Migration Toolkit for Apps

Sada nástrojů Red Hat Migration Toolkit for Applications je bezplatné rozšíření pro Visual Studio Code. Toto rozšíření analyzuje kód a konfiguraci aplikace a poskytuje doporučení pro migraci do cloudu z místního prostředí. Další informace najdete v tématu Přehled sady nástrojů migration toolkit for Applications.

Obsah této příručky vám pomůže vyřešit ostatní komponenty cesty migrace, jako je volba správné velikosti virtuálního počítače a externí nastavení stavu relace.

Po migraci

Po dosažení cílů migrace, které jste definovali v části Před migrací, proveďte několik kompletních akceptačních testů, abyste ověřili, že vše funguje podle očekávání. Informace o některých potenciálních vylepšeních po migraci najdete v následujících článcích: