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 Azure Marketplace? voor een overzicht van de beschikbare WebLogic Server-oplossingen in Virtual Machines?
Premigratie
Voltooi voordat u begint de evaluatie- en inventarisatiestappen die in de volgende secties worden beschreven om te zorgen voor een geslaagde migratie.
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 gecontroleerd of u herstel kunt uitvoeren via uw momentopname, kunt u veiliger verbeteringen aanbrengen zonder dat u zich zorgen hoeft te maken over verlies van de reeds voltooide migratiestappen.
Bepalen of de vooraf gemaakte Marketplace-aanbiedingen een goed startpunt zijn
Oracle en Microsoft bieden gezamenlijk een set Azure-oplossingssjablonen aan via Azure Marketplace om een solide startpunt 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 startpunt zijn, moet u de implementatie handmatig reproduceren met behulp van Azure Virtual Machine-resources. 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. Met deze query worden de aanbiedingen voor WebLogic-versie 12.2.1.3 weergegeven. 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 WebLogic op virtuele Azure-machines, worden de vereisten voor de specifieke Java-versies bepaald door de vooraf geïnstalleerde Java op de virtuele machines.
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 Informatie over de configuratie van JMS-resources voor meer informatie over JMS-configuraties.
Uw domeinconfiguratie inspecteren
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 JMS-wachtrijen (Java Message Service) 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. Zie JMS gebruiken met Azure Service Bus en AMQP 1.0voor meer informatie.
Als er met JMS permanente archieven zijn geconfigureerd, moet u de configuratie hiervan vastleggen en na de migratie toepassen.
Als u Oracle Message Broker gebruikt, kunt u deze software migreren naar virtuele Azure-machines en deze gewoon 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 app code bevat met afhankelijkheden van het hostbesturingssysteem, moet u de app 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.
Bepalen 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 Hosting van statische websites in Azure Storage en Quickstart: Een Azure-opslagaccount integreren met Azure CDN .
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.
De netwerktopologie bepalen
De huidige set 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 naslag worden de onderwerpen op hoog niveau besproken die relevant zijn voor de migratie van de netwerktopologie naar Azure: Fast Track Deployment Guide.
- In deze naslag wordt beschreven hoe u zich zorgen maakt over clustering, wat van invloed is 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 Application Gateway die is opgegeven in de Azure Marketplace-aanbieding voor Oracle WebLogic Server-cluster. Zie Zelfstudie: Een WebLogic Server-clustermigreren naar Azure met Azure Application 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 Application 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 moet u de grootte van de virtuele machine voor uw WebLogic-serverknooppunten 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 formaat 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 VM ingemaakt en wordt WebLogic Server op de VM 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 aanbiedingsdocumentatie te volgen. Met deze instructies kunt u rekening houden met relevante 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 door de instructies te volgen op Fusion Middleware: JMS-resources voor Oracle WebLogic Server beheren in de WebLogic-documentatie.
Account voor verificatie en autorisatie
De meeste toepassingen hebben een vorm van verificatie en autorisatie. Als u LDAP gebruikt voor verificatie, ondersteunt WebLogic Server in Azure automatische integratie. De Marketplace-aanbieding maakt gebruik Azure Active Directory Domain Services (Azure AD DS) met Secure LDAP. De aanbieding maakt de standaard realm voor WebLogic Server op basis van gegevens in Azure AD DS. Zie Autorisatie en verificatie van eindgebruikers voor het migreren van Java-apps op WebLogic Server naar Azure voor meer informatie.
Account voor logboekregistratie
Gebruik de integratie met Elastic on Azure die wordt geleverd door de Oracle WebLogic Server-aanbiedingen in Azure Marketplace. Dit is de eenvoudigste manier om rekening te houden met logboekregistratie. Een volledige zelfstudie is beschikbaar in Zelfstudie: Een WebLogic Server-cluster migrerennaar Azure met Elastic on Azure als de oplossing voor 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?
Als de elastische integratie niet geschikt is, moet u de bestaande configuratie voor logboekregistratie overnemen wanneer u het domein migreert. Zie Java.util.logging-logboekregistratieniveaus configureren en Logboekbestanden configureren en Logboekberichten filteren voor Oracle WebLogic Server 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 sterk ontwikkeld CI/CD-platform dat ervoor zorgt dat de toepassingen worden geïmplementeerd op de WebLogic Server. In andere gevallen kan het proces meer handmatig zijn. Een van de voordelen van het gebruik van Azure Virtual Machines om WebLogic-toepassingen te migreren naar de cloud is dat uw bestaande processen blijven werken.
U moet de netwerkbeveiligingsgroep die is ingericht door de aanbieding configureren om toegang mogelijk te maken vanuit uw CI/CD-pijplijn of het systeem van uw handmatige implementatie. Zie beveiligingsgroepen in de Azure-documentatie 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 CI/CD-problemen moet u ervoor zorgen dat de benodigde netwerkbeveiligingsregels uw tests toegang geven tot de toepassingen die zijn geïmplementeerd in Azure. Zie Beveiligingsgroepen in de Azure-documentatie 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. Enkele, maar zeker niet alle, verbeteronderwerpen voor na de migratie zijn de volgende:
Azure Storage gebruiken om statische inhoud te leveren die aan de virtuele machines is gekoppeld. Zie Een gegevensschijf koppelen aan of loskoppelen van een virtuele machine voor meer informatie.
Uw toepassingen implementeren in uw gemigreerde WebLogic-cluster met Azure DevOps. Zie de documentatie Aan de slag met Azure DevOps voor meer informatie.
Als u WebLogic Server met Azure Application Gateway hebt geïmplementeerd door de stappen te volgen in Zelfstudie: Een WebLogic Server-cluster migrerennaar Azure met Azure Application Gateway als load balancer, kunt u aanvullende configuraties uitvoeren op de Application Gateway. Zie configuratieoverzicht voor Application Gateway meer informatie.
Uw netwerktopologie verbeteren met geavanceerde taakverdelingsservices. Zie Taakverdelingsservices gebruiken in Azure voor meer informatie.
Azure Managed Identities gebruiken om geheimen te beheren en op rollen gebaseerde toegang tot Azure-resources te verlenen. Zie Wat zijn beheerde identiteiten voor Azure-resources? voor meer informatie.
WebLogic Java EE-verificatie en -autorisatie integreren met Azure Active Directory. Zie de handleiding Aan de slag met het integreren van Azure Active Directory voor meer informatie.
Azure Key Vault gebruiken om informatie op te slaan die fungeert als geheim. Zie Basisconcepten van Azure Key Vault voor meer informatie.