WebLogic Server-toepassingen migreren naar Azure Virtual Machines

In deze handleiding wordt beschreven waarmee u rekening moet houden wanneer u een bestaande WebLogic-toepassing wilt uitvoeren in Microsoft Azure Virtual Machines. Zie Wat zijn oplossingen voor het uitvoeren van Oracle WebLogic Server op azure Virtual Machines voor een overzicht van beschikbare WebLogic Server-oplossingen in Azure Marketplace?

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 voor het versnellen van het migreren van uw WebLogic Server-workloads naar Azure. 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 enige verbeteringen aan te brengen.

Het is beter om zo dicht mogelijk bij de pure lift-and-shift te blijven, waarmee u de benodigde wijzigingen doorvoert die in deze handleiding worden beschreven. Definieer wat u bedoelt met een voltooide migratie zodat u weet wanneer u deze mijlpaal hebt bereikt. Wanneer u uw voltooide migratie hebt gerealiseerd, kunt u een momentopname van uw Virtual Machines maken, zoals beschreven bij Een momentopname maken. Nadat u hebt geverifieerd dat u met succes kunt herstellen vanuit uw momentopname, kunt u de verbeteringen uitvoeren zonder dat u bang bent dat de migratievoortgang verloren gaat die u tot nu toe hebt bereikt.

Zorg ervoor dat het doel het juiste doel is voor uw migratie-inspanning

De eerste stap bij een geslaagde migratie van een WLS-toepassing naar Azure is het selecteren van het meest geschikte migratiedoel. WLS wordt goed uitgevoerd op virtuele Azure-machines (VM's) of Azure Kubernetes Service (AKS). Het VM-doel is de eenvoudigste keuze, omdat deze het meest lijkt op een on-premises implementatie. De beheer- en implementatie-ervaring voor virtuele machines is erg vergelijkbaar met wat u on-premises hebt. De afweging voor dit gemak is economische kosten. Over het algemeen zijn de kosten per minuut voor een vm-oplossing hoger in vergelijking met AKS. Hoewel een oplossing op basis van AKS minder kost om uit te voeren, moet u uw toepassing beperken om te voldoen aan de vereisten van AKS. Als het minimaliseren van de wijziging de belangrijkste factor is voor uw migratie-inspanning, kunt u een migratie op basis van een VM overwegen. Zie In dit geval WebLogic-toepassingen migreren naar Azure Virtual Machines. Als u het converteren van uw toepassing kunt tolereren om te worden uitgevoerd in Kubernetes om de runtimekosten te verlagen, kunt u een migratie op basis van AKS overwegen. In dit geval gaat u verder met WebLogic Server-toepassingen migreren naar Azure Kubernetes Service.

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

Oracle en Microsoft hebben samengewerkt om een set Azure-oplossingssjablonen naar Azure Marketplace te brengen om een solide uitgangspunt te bieden voor migratie naar Azure. Raadpleeg de Oracle Fusion Middleware-documentatie voor de lijst met aanbiedingen en kies degene die het meest overeenkomt met uw bestaande implementatie. U kunt de lijst met aanbiedingen bekijken in het overzichtsartikel Wat is Oracle WebLogic Server in Azure?

Als geen van de bestaande aanbiedingen een goed uitgangspunt is, moet u de implementatie handmatig reproduceren met behulp van Azure Virtual Machine-resources. U vindt de stapsgewijze instructies in Oracle WebLogic Server installeren op azure Virtual Machines handmatig. Zie Wat is IaaS voor meer informatie?

Bepalen of de WebLogic-versie compatibel is

Uw bestaande WebLogic-versie moet compatibel zijn met de versie in de IaaS-aanbiedingen. Als u de aanbiedingen voor WebLogic versie 12.2.1.3 wilt bekijken, voert u een query uit op Azure Marketplace voor Oracle WebLogic 12.2.1.3. Als uw bestaande WebLogic-versie niet compatibel is met die versie, moet u de implementatie handmatig reproduceren met behulp van Azure IaaS-resources. Zie de Azure-documentatie voor meer informatie.

Servercapaciteit inventariseren

Documenteer de hardware (geheugen, CPU, schijf) van de huidige productieserver(s), evenals het gemiddelde aantal en piekaantal aanvragen en het resourcegebruik. Deze informatie wordt gebruikt om de VM-grootte te bepalen. Zie Groottes voor Cloud Services voor meer informatie.

Alle geheimen inventariseren

Voor de ontwikkeling van 'configuratie als een service'-technologieën zoals Azure Key Vault, was er geen goed gedefinieerd concept voor 'geheimen'. In plaats daarvan had u een set uiteenlopende configuratie-instellingen die functioneerden als wat we nu 'geheimen' noemen. Bij app-servers zoals WebLogic Server bevinden deze geheimen zich in veel verschillende configuratiebestanden en configuratiearchieven. Controleer alle eigenschaps- en configuratiebestanden op de productieserver(s) op geheimen en wachtwoorden. Controleer in elk geval weblogic.xml in uw WAR's. Mogelijk bevinden zich ook in uw toepassing configuratiebestanden met wachtwoorden of referenties. Zie Basisconcepten van Azure Key Vault 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

Voor alle migratiepaden voor WebLogic naar Azure is een specifieke Java-versie vereist, die per pad varieert. U moet controleren of uw toepassing correct kan worden uitgevoerd met behulp van die ondersteunde versie.

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

Notitie

Wanneer u migreert naar WLS op virtuele Azure-machines, worden de vereisten voor de specifieke Java-versies bepaald door de vooraf geïnstalleerde Java op de virtuele machines. Wanneer u migreert naar WLS op AKS, wordt de specifieke Java-versie bepaald door de gekozen containerinstallatiekopieën. Er zijn veel verschillende keuzes, maar ze gebruiken allemaal de Oracle JDK.

JNDI-resources inventariseren

Inventariseer alle JNDI-resources. Gegevensbronnen zoals databases kunnen bijvoorbeeld een gekoppelde JNDI-naam hebben waarmee JPA op de juiste wijze exemplaren van EntityManager aan een bepaalde database kan binden. Zie WebLogic Server-gegevensbronnen in de Oracle-documentatie voor meer informatie over JNDI-resources en -databases. Andere JNDI-gerelateerde resources, zoals JMS-berichtenbrokers, moeten mogelijk worden gemigreerd of opnieuw worden geconfigureerd. Zie Oracle WebLogic Server 12.2.1.4.0 voor meer informatie over de JMS-configuratie.

Uw domeinconfiguratie controleren

De belangrijkste configuratie-eenheid in WebLogic Server is het domein. Als zodanig bevat het bestand config.xml een schat aan configuratie-informatie die u zorgvuldig moet overwegen voor migratie. Het bestand bevat verwijzingen naar aanvullende XML-bestanden die zijn opgeslagen in submappen. Oracle adviseert u om normaal gesproken de Beheerconsole te gebruiken om de beheerbare objecten en services van WebLogic Server te configureren en om WebLogic Server toe te staan het bestand config.xml te onderhouden. Zie Domeinconfiguratiebestanden voor meer informatie.

Binnen uw toepassing

Inspecteer het bestand WEB-INF/weblogic.xml en/of het bestand WEB-INF/web.xml.

Bepalen of sessiereplicatie wordt gebruikt

Als uw toepassing afhankelijk is van sessiereplicatie, met of zonder Oracle Coherence*Web, hebt u drie opties:

  • Coherence*Web kan worden uitgevoerd naast een WebLogic Server in de virtuele Azure-machines, maar u moet deze optie handmatig configureren nadat u de aanbieding hebt ingericht. Als u zelfstandige Coherence gebruikt, kunt u deze ook uitvoeren op een virtuele Azure-machine, maar moet u deze optie handmatig configureren nadat u de aanbieding hebt ingericht.
  • Herstructureer uw toepassing om een database te gebruiken voor sessiebeheer.
  • Herstructureer uw toepassing om de sessie te externaliseren naar Azure Redis Service. Zie Azure Cache voor Redis voor meer informatie.

Voor al deze opties is het verstandig om te leren hoe in WebLogic de HTTP-sessiestatus wordt gerepliceerd. Zie De HTTP-sessiestatus repliceren in de Oracle-documentatie voor meer informatie.

Gegevensbronnen documenteren

Als uw toepassing gebruikmaakt van databases, moet u de volgende informatie vastleggen:

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

Zie JDBC-stuurprogramma's gebruiken met WebLogic Server voor meer informatie over JDBC-stuurprogramma's in WebLogic.

Bepalen of WebLogic is aangepast

Bepaal welke van de volgende aanpassingen zijn uitgevoerd en leg vast wat er is gebeurd.

  • Zijn de opstartscripts gewijzigd? Dergelijke scripts bevatten setDomainEnv, commEnv, startWebLogic en stopWebLogic.
  • Zijn er specifieke parameters aan de JVM doorgegeven?
  • Zijn er JAR's toegevoegd aan het classpath van de server?

Bepalen of er beheer via REST wordt gebruikt

Als de levenscyclus van uw toepassing beheer via REST omvat, moet u vastleggen welke poorten worden gebruikt voor toegang tot de REST API en moet u bepalen hoe deze worden geverifieerd en weergegeven. Na de migratie moet u er zeker van zijn dat deze poorten en verificatiemechanismen worden weergegeven, zodat de levenscyclus van uw toepassing op een vergelijkbare manier werkt als vóór de migratie. Zie Oracle WebLogic Server beheren met RESTful beheerservices voor meer informatie.

Bepalen of er een verbinding met on-premises services is vereist

Als voor uw toepassing toegang nodig is tot een van uw on-premises services, moet u een van de connectiviteitsservices van Azure inrichten. Zie Een oplossing kiezen voor het verbinden van een on-premises netwerk met Azure voor meer informatie. 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. Raadpleeg JMS gebruiken met Azure Service Bus en AMQP 1.0 voor meer informatie.

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

Als u gebruikmaakt van Oracle Message Broker, kunt u deze software migreren naar Azure-VM's en ongewijzigd gebruiken.

Bepalen of u uw eigen aangepaste, gedeelde Java EE-bibliotheken gebruikt

Als u de functie Gedeelde Java EE-bibliotheek gebruikt, hebt u twee opties:

  • Herstructureer uw toepassingscode om alle afhankelijkheden van uw bibliotheken te verwijderen en de functionaliteit in plaats daarvan rechtstreeks in uw toepassing op te nemen.
  • Voeg de bibliotheken toe aan het klassepad van de server.

Bepalen of OSGi-bundels worden gebruikt

Als u OSGi-bundels hebt toegevoegd aan de WebLogic-server, moet u de equivalente JAR-bestanden rechtstreeks aan uw webtoepassing toevoegen.

Bepalen of uw toepassing code bevat die specifiek is voor het besturingssysteem

Als uw toepassing code bevat met afhankelijkheden van het hostbesturingssysteem, moet u de toepassing herstructureren om die afhankelijkheden te verwijderen. Zo moet u mogelijk de / of \ vervangen in bestandssysteempaden met File.Separator of Paths.get.

Bepalen of Oracle Service Bus wordt gebruikt

Als uw toepassing gebruikmaakt van Oracle Service Bus (OSB), moet u vastleggen hoe OSB is geconfigureerd. Zie Over de Oracle Service Bus-installatievoor meer informatie.

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 de bestanden application.xml en weblogic-application.xml controleren en de configuratie ervan vastleggen.

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.

Bepalen of WebLogic Scripting Tool (WLST) wordt gebruikt

Als u momenteel gebruikmaakt van WLST om uw implementatie uit te voeren, moet u nagaan welke taken ermee worden uitgevoerd. Als via WLST (runtime)parameters van uw toepassing worden gewijzigd als onderdeel van de implementatie, moet u ervoor zorgen dat dit gedrag blijft werken tijdens het testen van uw toepassing na migratie.

Nagaan of en hoe het bestandssysteem wordt gebruikt

VM-bestandssystemen werken op dezelfde manier als on-premises bestandssystemen met betrekking tot persistentie, opstarten en afsluiten. Het is ook belangrijk om rekening te houden met de behoeften van uw bestandssysteem en om ervoor te zorgen dat de opslagruimte en prestaties van de VM's voldoende zijn.

Statische alleen-lezeninhoud

Als uw toepassing momenteel met statische inhoud werkt, hebt u hiervoor een alternatieve locatie nodig. U kunt statische inhoud verplaatsen naar Azure Blob Storage en Azure CDN toevoegen voor razendsnelle downloads wereldwijd. Zie statische websitehosting in Azure Storage en quickstart: Een Azure-opslagaccount integreren met Azure CDN voor meer informatie. U kunt de statische inhoud ook rechtstreeks implementeren in een app in het Azure Spring Apps Enterprise-abonnement. Zie Statische webbestanden implementeren voor meer informatie.

Dynamisch gepubliceerde statische inhoud

Als uw toepassing statische inhoud toestaat die wordt geüpload/geproduceerd door uw toepassing, maar onveranderbaar is nadat deze is gemaakt, kunt u Azure Blob Storage en Azure CDN gebruiken zoals hierboven beschreven, met een Azure-functie om uploads en CDN-vernieuwing te verwerken. U vindt een voorbeeldimplementatie voor gebruik in Statische inhoud uploaden en via CDN vooraf laden met Azure Functions. U kunt de statische inhoud ook rechtstreeks implementeren in een app in het Azure Spring Apps Enterprise-abonnement. Zie Statische webbestanden implementeren voor meer informatie.

De netwerktopologie bepalen

De huidige set Azure Marketplace-aanbiedingen is een startpunt voor uw migratie. Als de aanbieding geen aspecten van uw te migreren architectuur dekt, moet u de netwerktopologie van uw bestaande implementatie vastleggen en deze reproduceren in Azure, ook nadat u de basisaanbieding hebt ingericht met een van de oplossingssjablonen.

Dit is een zeer breed onderwerp, maar de volgende artikelen kunnen u enige richting bieden bij uw migratie-inspanningen:

  • In deze verwijzing worden de onderwerpen op hoog niveau opgesomd die relevant zijn voor de migratie van netwerktopologie naar Azure: Fast Track Deployment Guide.
  • In deze verwijzing worden belangrijke problemen met betrekking tot clustering beschreven, wat invloed heeft op de netwerktopologie: WebLogic Server-clustering.
  • Omdat gegevensbronnen afzonderlijke servers in een WebLogic-systeem zijn, moet u deze beschouwen als onderdeel van de netwerktopologieanalyse. WebLogic Server-gegevensbronnen.
  • Berichtbronnen zijn ook afzonderlijke servers. WebLogic Server-berichten
  • Taakverdeling is een fundamentele vereiste. Deze verwijzing heeft betrekking op de WebLogic Server-zijde van taakverdeling: Taakverdeling in een cluster.

Account voor het gebruik van JCA-adapters en resourceadapters

Als uw bestaande toepassing gebruikmaakt van JCA-adapters en/of resourceadapters om verbinding te maken met andere bedrijfssystemen, moet u ervoor zorgen dat de configuratie voor deze artefacten wordt toegepast op de WebLogic Server die wordt uitgevoerd in Azure Virtual Machines. Zie Resourceadapters maken en configureren voor meer informatie

Account voor het gebruik van aangepaste beveiligingsproviders en JAAS

Als uw toepassing JAAS gebruikt, moet u ervoor zorgen dat de configuratie van beveiligingsproviders correct wordt gemigreerd. Zie WebLogic-beveiligingsproviders configureren in de Oracle-documentatie voor meer informatie.

Bepalen of WebLogic-clustering wordt gebruikt

Waarschijnlijk hebt u uw toepassing geïmplementeerd op meerdere WebLogic-servers om hoge beschikbaarheid te garanderen. U kunt deze clusters rechtstreeks vanuit uw on-premises installatie migreren naar WebLogic in Azure Virtual Machines. Zie Domeinconfiguratiebestanden in de Oracle-documentatie voor meer informatie.

Account voor taakverdelingsvereisten

Taakverdeling is een essentieel onderdeel van het migreren van uw Oracle WebLogic Server-cluster naar Azure. De eenvoudigste oplossing is het gebruik van de ingebouwde ondersteuning voor Azure-toepassing Gateway die is geleverd in de Azure Marketplace-aanbieding voor Oracle WebLogic Server-cluster. Zie zelfstudie: Een WebLogic Server-cluster migreren naar Azure met Azure-toepassing Gateway als load balancer voor een zelfstudie over dit onderwerp.

Zie Overzicht van opties voor taakverdeling in Azure voor een overzicht van de mogelijkheden van Azure-toepassing Gateway in vergelijking met andere Azure-oplossingen voor taakverdeling.

Bepalen of de functie Java EE Application Client wordt gebruikt

Als uw toepassing gebruikmaakt van de functie Java EE Application Client, moet deze ongewijzigd blijven werken na de migratie naar Azure Virtual Machines. Zie Java EE Client Application-modules gebruikenvoor meer informatie.

Migratie

Een aanbieding voor WebLogic in Azure Virtual Machines selecteren

De volgende aanbiedingen zijn beschikbaar voor WebLogic in Azure Virtual Machines.

Tijdens de implementatie van een aanbieding wordt u gevraagd de grootte van de virtuele machine voor uw WebLogic-serverknooppunten te kiezen. Het is belangrijk om alle aspecten van de grootte (geheugen, processor, schijf) bij uw keuze voor de VM-grootte te betrekken. Zie de Azure-documentatie voor het aanpassen van de grootte van virtuele machines voor meer informatie

WebLogic Server Single Node zonder beheerserver

Met deze aanbieding wordt één virtuele machine gemaakt en wordt hierop WebLogic geïnstalleerd, maar worden er geen domeinen geconfigureerd. Dat is nuttig voor configuratiescenario's met sterk aangepaste domeinen.

WebLogic Server Single Node met beheerserver

Met deze aanbieding wordt één VIRTUELE machine ingericht en wordt WebLogic Server erop geïnstalleerd. Er wordt een domein gemaakt en de beheerserver wordt gestart.

WebLogic Server N-Node Cluster

Met deze aanbieding maakt u een hoog beschikbaar cluster van WebLogic Server-VM's.

WebLogic Server N-Node Dynamic Cluster

Met deze aanbieding maakt u een hoog beschikbaar en schaalbaar dynamisch cluster van WebLogic Server-VM's

De aanbieding inrichten

Nadat u hebt geselecteerd met welke aanbieding u wilt starten, volgt u de instructies in de documentatie over de aanbiedingen om die aanbieding in te richten. Zorg ervoor dat u de domeinnaam kiest die overeenkomt met uw bestaande domeinnaam. U kunt zelfs het domeinwachtwoord van uw bestaande domein kiezen.

De domeinen migreren

Nadat u de aanbieding hebt ingericht, kunt u de domeinconfiguratie controleren en deze richtlijnen volgen voor meer informatie over het migreren van de domeinen.

De databases verbinden

Nadat u de domeinen hebt gemigreerd, kunt u verbinding maken met de databases door de instructies in de documentatie over de aanbieding te volgen. Met deze instructies kunt u rekening houden met alle betrokken databasegeheimen en toegangsreeksen.

Account voor sleutelarchieven

U moet rekening houden met de migratie van SSL-sleutelarchieven die door uw toepassing worden gebruikt. Zie Sleutelarchieven configureren voor meer informatie.

De JMS-bronnen verbinden

Nadat u de databases hebt verbonden, kunt u JMS configureren. Zie Fusion Middleware Beheer istering JMS-resources voor Oracle WebLogic Server in de weblogic-documentatie voor meer informatie.

Account voor verificatie en autorisatie

De meeste toepassingen hebben een soort verificatie en autorisatie. Als u LDAP gebruikt voor verificatie, kunt u Microsoft Entra Domain Services instellen met secure LDAP en LDAP-verbindingen configureren in WebLogic Server. Zie Een door Microsoft Entra Domain Services beheerd domein maken en configureren en Secure LDAP configureren voor een door Microsoft Entra Domain Services beheerd domein voor meer informatie.

Account voor logboekregistratie

Gebruik de integratie met Elastic on Azure die wordt geleverd door de oracle WebLogic Server Marketplace-oplossingssjablonen. Deze methode is de eenvoudigste manier om rekening te houden met logboekregistratie. U kunt de lijst met aanbiedingen bekijken in het overzichtsartikel Wat zijn oplossingen voor het uitvoeren van Oracle WebLogic Server op Azure Virtual Machines? Volledige zelfstudies voor het configureren van Elastic zijn beschikbaar in:

Als de elastische integratie niet geschikt is, moet u de bestaande configuratie voor logboekregistratie overdragen wanneer u het domein migreert. Zie Logboekregistratieniveaus voor java.util.logging configureren en Logboekbestanden configureren en logboekberichten voor Oracle WebLogic Server configureren in de Oracle-documentatie voor meer informatie.

Uw toepassingen migreren

De technieken die worden gebruikt om toepassingen van het ontwikkelteam in de test-, faserings- en productieservers te implementeren variëren sterk per geval. In sommige gevallen is er een zeer ontwikkeld CI/CD-platform dat ertoe leidt dat de toepassingen worden geïmplementeerd op de WebLogic Server. In andere gevallen kan het proces meer handmatig zijn. Een voordeel van het gebruik van Azure Virtual Machines voor het migreren van WebLogic-toepassingen naar de cloud is dat uw bestaande processen blijven werken.

U moet de netwerkbeveiligingsgroep configureren die door de aanbieding wordt ingericht om toegang vanuit uw CI/CD-pijplijn of handmatig implementatiesysteem toe te staan. Zie Netwerkbeveiligingsgroepen voor meer informatie.

Testen

Alle in-containertests van toepassingen moeten worden geconfigureerd voor toegang tot de nieuwe servers die actief zijn in Azure. Net als bij de problemen met CI/CD moet u ervoor zorgen dat uw tests toegang hebben tot de toepassingen die zijn geïmplementeerd in Azure. Zie Netwerkbeveiligingsgroepen voor meer informatie.

Postmigratie

Nadat u de migratiedoelstellingen hebt bereikt die u hebt gedefinieerd in de stap Voorafgaand aan de migratie, voert u een aantal end-to-end-acceptatietests uit om te controleren of alles werkt zoals verwacht. Zie de volgende aanbevelingen voor hulp bij een aantal mogelijke verbeteringen na de migratie: