Delen via


JBoss EAP-toepassingen migreren naar JBoss EAP op Virtuele Azure-machines

In deze handleiding wordt beschreven waar u rekening mee moet houden wanneer u een bestaande JBoss EAP-toepassing wilt migreren om te worden uitgevoerd op JBoss EAP in Azure-VM's.

Premigratie

Voltooi voordat u begint de evaluatie- en inventarisstappen die in de volgende secties worden beschreven om een geslaagde migratie te garanderen.

Definieer wat u bedoelt met een voltooide migratie

Deze handleiding en de bijbehorende Azure Marketplace-aanbiedingen zijn een startpunt om de migratie van uw JBoss EAP-workloads naar Azure te versnellen. Het is belangrijk om het bereik van uw migratie-inspanning te definiëren. Gaat u bijvoorbeeld een strikte lift-and-shift uitvoeren van uw bestaande infrastructuur naar Azure Virtual Machines? Als dat het geval is, komt u misschien in de verleiding om tijdens het migreren wat verbeteringen door te voeren.

Het is beter om zo dicht mogelijk bij de pure 'lift-and-shift' te blijven, waarbij u rekening houdt met de noodzakelijke wijzigingen zoals beschreven in deze handleiding. Definieer wat u bedoelt met een voltooide migratie zodat u weet wanneer u deze mijlpaal hebt bereikt. Wanneer u de 'voltooide migratie' hebt bereikt, kunt u een momentopname van uw virtuele machines maken, zoals beschreven in Een momentopname van een virtuele harde schijf maken. Het is veiliger om de verbeteringen uit te voeren nadat u hebt gecontroleerd of u kunt herstellen vanuit uw momentopname. Op die manier kunt u doorgaan zonder bang te zijn dat u de migratievoortgang verliest die u tot nu toe hebt bereikt.

Bepalen of de vooraf gemaakte Azure Marketplace-aanbiedingen een goed uitgangspunt zijn

Red Hat en Microsoft hebben samengewerkt om een set Azure-oplossingssjablonen naar Azure Marketplace te brengen om een solide uitgangspunt te bieden voor migratie naar Azure. U kunt de aanbiedingenlijst bekijken in het JBoss EAP-gedeelte op Azure Virtual Machines van Red Hat JBoss EAP op Azure.

Zie Quickstart: Een JBoss EAP-cluster implementeren op virtuele Azure-machines (VM's) om een goed beeld te krijgen van de kant-en-klare Azure Marketplace-aanbieding.

Als geen van de bestaande aanbiedingen een goed uitgangspunt is, moet u de implementatie handmatig reproduceren met behulp van de resources die beschikbaar zijn in Virtuele Azure-machines. Zie Wat is IaaS? voor meer informatie.

Bepaal of de versie van JBoss EAP compatibel is

Uw bestaande JBoss EAP-versie moet compatibel zijn met de versie in de IaaS-aanbiedingen (Infrastructure-as-a-Service). Op de Azure-portalpagina's voor de aanbiedingen ziet u welke versies van JBoss EAP beschikbaar zijn. Voor meer informatie, zie het JBoss EAP-cluster op VM's op de Azure Portal. Als uw bestaande JBoss EAP-versie niet compatibel is met de versies die beschikbaar zijn in de aanbieding, moet u de implementatie handmatig reproduceren met behulp van Azure IaaS-resources. Zie Wat is IaaS? voor meer informatie.

Zorg ervoor dat u over de benodigde licenties beschikt

Wanneer u de vooraf gemaakte Azure Marketplace-aanbiedingen gebruikt, moet u beschikken over huidige licenties van Red Hat voor al uw JBoss EAP-servers. Als u ze naar Azure verplaatst, kunt u kiezen tussen de volgende implementatieopties om aan uw behoeften te voldoen:

  • Implementeer op virtuele Machines met betalen per gebruik in Red Hat Enterprise Linux. Deze optie staat bekend als PAYG.
  • Verplaats uw Red Hat JBoss EAP- en Red Hat Enterprise Linux-abonnementen naar Azure via het Red Hat Cloud Access-programma. Deze optie wordt BYOS genoemd.

In beide opties wordt u gevraagd om de pool-id van Red Hat voor licentieportabiliteit. Zorg ervoor dat u deze id bij de hand hebt voordat u de aanbiedingen probeert.

De vooraf gebouwde Azure Marketplace-aanbiedingen omvatten ondersteuning voor Red Hat Satellite voor licentiebeheer. Voor een overzicht van Red Hat Satellite, zie Red Hat Satellite.

Notitie

Als u geen EAP-recht hebt, kunt u zich registreren voor een gratis ontwikkelaarsabonnement via het Red Hat Developer Subscription for Individuals. Sla de accountgegevens op voor gebruik als de RHSM-gebruikersnaam en het RHSM-wachtwoord in de vooraf gedefinieerde Azure Marketplace-aanbiedingen.

De stappen voor het ontdekken van uw Pool ID worden uitgelegd in de sectie Vereisten in Quickstart: Een JBoss EAP-cluster implementeren op Azure Virtual Machines (VM's).

Servercapaciteit inventariseren

Documenteer de hardware (geheugen, CPU, schijf) van de huidige productieserver(s) en het gemiddelde en piekaantal aanvragen en het resourcegebruik. U hebt deze informatie nodig, welk migratiepad u ook kiest. Het is bijvoorbeeld handig bij het selecteren van de grootte van de VM's in uw knooppuntgroep, de hoeveelheid geheugen die door de container moet worden gebruikt en hoeveel CPU-shares de container nodig heeft.

Het is mogelijk om het formaat van knooppuntgroepen in AKS te wijzigen. Leer hoe u dat doet via Het formaat van knooppuntgroepen wijzigen in Azure Kubernetes Service (AKS).

Alle geheimen inventariseren

Controleer alle eigenschappen en configuratiebestanden op de productieserver of -servers op geheimen en wachtwoorden. Controleer het jboss-web.xml bestand in uw WARs. Mogelijk bevinden zich ook in uw toepassing configuratiebestanden met wachtwoorden of referenties.

Overweeg deze geheimen op te slaan in Azure KeyVault. Raadpleeg Azure Key Vault basisconcepten voor meer informatie.

Alle certificaten inventariseren

Documenteer alle certificaten die worden gebruikt voor openbare SSL-eindpunten. U kunt alle certificaten op de productieserver(s) weergeven door de volgende opdracht uit te voeren:

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

Controleren of de ondersteunde Java-versie goed werkt

JBoss EAP op Virtuele Azure-machines vereist een ondersteunde versie van Java. Zie voor richtlijnen over welke versie van de JDK te gebruiken de Ondersteunde configuraties in de documentatie van Red Hat.

Notitie

Deze validatie is vooral belangrijk als uw huidige server wordt uitgevoerd in een niet-ondersteunde JDK (zoals Oracle JDK of IBM OpenJ9).

Meld u aan bij uw productieserver en voer de volgende opdracht uit om uw huidige Java-versie te verkrijgen:

java -version

Externe middelen inventariseren

Externe resources, zoals gegevensbronnen, JMS-berichtenbrokers en andere resources, worden ingevoerd via Java Naming and Directory Interface (JNDI). Voor sommige resources kan migratie of herconfiguratie vereist zijn.

Binnen uw toepassing

Inspecteer de WEB-INF/jboss-web.xml en/of WEB-INF/web.xml bestanden. Zoek naar <Resource>-elementen binnen het <Context>-element.

Gegevensbronnen

Gegevensbronnen zijn JNDI-resources waarbij het kenmerk type is ingesteld op javax.sql.DataSource. Documenteer voor elke gegevensbron de volgende informatie:

  • Wat is de naam van de gegevensbron?
  • Wat is de configuratie van de verbindingsgroep?
  • Waar vind ik het JAR-bestand van het JDBC-stuurprogramma?

Raadpleeg Meer informatie over JBoss EAP-gegevensbronnen in de JBoss EAP-documentatie voor meer informatie.

Alle andere externe bronnen

Het is niet haalbaar om alle mogelijke externe afhankelijkheden in deze handleiding te documenteren. Het is de verantwoordelijkheid van uw team om alle externe afhankelijkheden van uw toepassing te verifiëren na de migratie.

Nagaan of en hoe het bestandssysteem wordt gebruikt

Voor elk gebruik van het bestandssysteem op de toepassingsserver is herconfiguratie vereist of, in zeldzame gevallen, architectuurwijzigingen. JBoss EAP-modules of uw toepassingscode kunnen gebruikmaken van het bestandssysteem. U kunt enkele of alle scenario's die in de volgende secties worden beschreven identificeren.

Statische alleen-lezen inhoud

Als uw toepassing momenteel statische inhoud bedient, hebt u een alternatieve locatie nodig. Overweeg om statische inhoud te verplaatsen naar Azure Blob Storage en Azure Front Door toe te voegen voor snelle downloads wereldwijd. Zie statische websitehosting in Azure Storage en Een Azure Storage-account integreren met Azure Front Doorvoor meer informatie.

Bepalen of er een verbinding met lokale systemen nodig is

Als voor uw toepassing toegang nodig is tot een van uw on-premises services, moet u een van de connectiviteitsservices van Azure inrichten. Voor meer informatie, zie Een on-premises netwerk verbinden met Azure. U moet uw toepassing ook herstructureren voor het gebruik van openbaar beschikbare API's in uw on-premises resources.

Bepalen of Java Message Service-wachtrijen (JMS) of -onderwerpen in gebruik zijn

Als uw toepassing JMS-wachtrijen of -onderwerpen gebruikt, moet u deze migreren naar een extern gehoste JMS-server. Azure Service Bus en het Advanced Message Queueing Protocol (AMQP) kunnen een uitstekende migratiestrategie zijn wanneer er gebruik wordt gemaakt van JMS. Voor meer informatie, zie Java Message Service 1.1 gebruiken met Azure Service Bus Standard en AMQP 1.0.

Als er met JMS permanente archieven zijn geconfigureerd, moet u de configuratie hiervan vastleggen en na de migratie toepassen.

Bepalen of JCA-connectors worden gebruikt

Als uw toepassing gebruikmaakt van JCA-connectors, controleert u of u de JCA-connector op JBoss EAP kunt gebruiken. Als u de JCA-connector op JBoss EAP kunt gebruiken, moet u de JAR's toevoegen aan het serverklassepad en de benodigde configuratiebestanden op de juiste locatie in de JBoss EAP-servermappen plaatsen.

Bepalen of JAAS wordt gebruikt

Als uw toepassing gebruikmaakt van JAAS, moet u vastleggen hoe JAAS is geconfigureerd. Als deze een database gebruikt, kunt u deze converteren naar een JAAS-domein op JBoss EAP. Als het een aangepaste implementatie is, moet u controleren of deze kan worden gebruikt in JBoss EAP.

Bepalen of uw toepassing bestaat uit meerdere WAR's

Als uw toepassing bestaat uit meerdere WAR's, moet u deze allemaal behandelen als afzonderlijke toepassingen en deze handleiding voor al deze WAR's doorlopen.

Bepalen of uw toepassing is verpakt als een EAR

Als uw toepassing is verpakt als een EAR-bestand, moet u het bestand application.xml controleren en de configuratie vastleggen.

Notitie

Als u elk van uw webtoepassingen onafhankelijk wilt kunnen schalen voor een beter gebruik van uw Azure VM-resources, moet u het EAR opsplitsen in afzonderlijke webtoepassingen.

Alle externe processen en daemons identificeren die worden uitgevoerd op de productieservers

U moet alle processen die buiten de toepassingsserver worden uitgevoerd, zoals controledaemons, verwijderen of naar een andere locatie migreren.

Migratie

Selecteer een aanbieding voor JBoss EAP in Azure Virtual Machines

De aanbiedingen die in de volgende secties worden beschreven, zijn beschikbaar voor JBoss EAP op Azure Virtual Machines.

Tijdens de implementatie van een aanbieding wordt u gevraagd de grootte van de virtuele machine te kiezen voor uw JBoss EAP-serverknooppunten. Het is belangrijk om alle aspecten van de grootte (geheugen, processor, schijf) bij uw keuze voor de VM-grootte te betrekken. Zie Grootten voor Cloud Services (klassiek) voor meer informatie.

JBoss EAP op geclusterde virtuele machines

Als u wilt, is een traditioneel cluster met VM's met behulp van het JBoss EAP-clusteringmechanisme geschikt voor een lift-and-shift van implementaties die deze functie al gebruiken. Voor meer informatie, zie Clustering in Webtoepassingen in de JBoss EAP-documentatie. De vooraf samengestelde Azure Marketplace-aanbieding bevat ondersteuning voor de domeinmodus. Zie Domeinbeheer voor een overzicht van EAP-domeinen en domeinmodus.

JBoss EAP Single Server

Als u slechts één server nodig hebt, misschien voor testen en evalueren, of voor lichtgewicht workloads, is er een aanbieding die een JBoss EAP-server op één VIRTUELE machine implementeert.

Migratie Toolkit voor Apps van Red Hat

De Red Hat Migration Toolkit for Applications is een gratis extensie voor Visual Studio Code. Deze extensie analyseert uw toepassingscode en configuratie om aanbevelingen te bieden voor migratie naar de cloud vanaf on-premises. Voor meer informatie, zie het overzicht van Migration Toolkit for Applications.

De inhoud van deze handleiding helpt u de andere onderdelen van het migratietraject aan te pakken, zoals het kiezen van de juiste VM-grootte en het externaliseren van de sessiestatus.

Postmigratie

Nadat u de migratiedoelstellingen hebt bereikt die u hebt gedefinieerd in de stap voorafgaand aan de migratie, voert u enkele end-to-end acceptatietesten uit om te controleren of alles werkt zoals verwacht. Zie de volgende artikelen voor informatie over enkele mogelijke verbeteringen na de migratie:

  • Gebruik Azure Storage om statische inhoud te leveren die is gekoppeld aan de virtuele machines. Voor meer informatie, zie Een gegevensschijf koppelen of loskoppelen voor een virtuele labmachine in Azure DevTest Labs.

  • Implementeer uw toepassingen in uw gemigreerde JBoss EAP-cluster met Azure DevOps. Voor meer informatie, zie Aan de slag met de Azure DevOps-documentatie.

  • Uw netwerktopologie verbeteren met geavanceerde taakverdelingsservices. Zie Het gebruik van load-balancingservices in Azure voor meer informatie.

  • Azure Managed Identities gebruiken om geheimen te beheren en op rollen gebaseerde toegang tot Azure-resources toe te wijzen. Voor meer informatie, zie Wat zijn beheerde identiteiten voor Azure-resources?

  • Integreer Java EE-verificatie en -autorisatie met Microsoft Entra ID. Zie Aan de slag-handleiding voor de integratie van Microsoft Entra ID met toepassingen voor meer informatie.

  • Azure Key Vault gebruiken om informatie op te slaan die fungeert als geheim. Voor meer informatie, zie Azure Key Vault basisconcepten.