Migrera WebLogic Server-program till virtuella Azure-datorer

I den här guiden beskrivs vad du bör känna till när du vill migrera ett befintligt WebLogic-program som ska köras på Azure Virtual Machines. En översikt över tillgängliga WebLogic Server-lösningar på Azure Marketplace finns i Vad är lösningar för att köra Oracle WebLogic Server på Azure Virtual Machines?

Före migrering

För att säkerställa en lyckad migrering slutför du de utvärderings- och inventeringssteg som beskrivs i följande avsnitt innan du börjar.

Definiera vad du menar vid "slutförd migrering"

Den här guiden, och motsvarande Azure Marketplace-erbjudanden, är en utgångspunkt för att påskynda migreringen av dina WebLogic Server-arbetsbelastningar till Azure. Det är viktigt att vi definierar din migreringsansträngnings omfattning. Genomför du exempelvis en strikt Lift and Shift-migrering från din befintliga infrastruktur till Azure Virtual Machines? Om så är fallet är du kanske frestad av att arbeta med ”lift and improve”-metoden när du migrerar.

Det är bättre att hålla sig så nära ren ”Lift and Shift”-lösning som möjligt, med tanke på de nödvändiga ändringar som beskrivs i den här vägledningen. Definiera vad du menar vid "slutförd migrering", så att du vet när du har nått denna milstolpe. När du har nått vad du anser vara ”slutförd migrering” kan du ta en ögonblicksbild av dina Virtual Machines enligt beskrivningen i Skapa en ögonblicksbild. När du har kontrollerat att du kan återställa från ögonblicksbilden kan du göra förbättringarna utan att vara rädd för att förlora migreringsframställningen som du har uppnått hittills.

Se till att målet är rätt mål för migreringsarbetet

Det första steget i en lyckad migrering av ett WLS-program till Azure är att välja det lämpligaste migreringsmålet. WLS fungerar bra på virtuella Azure-datorer (VM) eller Azure Kubernetes Service (AKS). Målet för den virtuella datorn är det enklaste valet, eftersom det mest liknar en lokal distribution. Den administrativa upplevelsen och distributionen för virtuella datorer är mycket lik den du har lokalt. Kompromissen för denna lätthet är ekonomiska kostnader. Generellt sett är kostnaden per minut för en VM-baserad lösning högre jämfört med AKS. Även om en AKS-baserad lösning kostar mindre att köra, måste du begränsa ditt program så att det passar kraven i AKS. Om minimering av ändringar är den viktigaste faktorn för migreringen bör du överväga en VM-baserad migrering. I det här fallet kan du läsa Migrera WebLogic-program till Virtuella Azure-datorer. Om du kan tolerera att konvertera ditt program till att köras i Kubernetes för att minska körningskostnaden bör du överväga en AKS-baserad migrering. I det här fallet fortsätter du med Migrera WebLogic Server-program till Azure Kubernetes Service.

Ta reda på om de fördefinierade Azure Marketplace-erbjudandena är en bra utgångspunkt

Oracle och Microsoft har samarbetat för att ta med en uppsättning Azure-lösningsmallar till Azure Marketplace för att ge en bra startpunkt för migrering till Azure. I dokumentationen till Oracle Fusion Middleware finns en lista med erbjudanden, där du kan välja det som bäst motsvarar din befintliga distribution. Du kan se listan över erbjudanden i översiktsartikeln Vad är Oracle WebLogic Server i Azure?

Om inget av de befintliga erbjudandena är en bra utgångspunkt måste du återskapa distributionen för hand med hjälp av Azure Virtual Machine-resurser. Du hittar den stegvisa vägledningen i Installera Oracle WebLogic Server på Virtuella Azure-datorer manuellt. Mer information finns i Vad är IaaS?

Ta reda på om WebLogic-versionen är kompatibel

Din befintliga WebLogic-version måste vara kompatibel med versionen i IaaS-erbjudandena. Om du vill se erbjudandena för WebLogic version 12.2.1.3 frågar du Azure Marketplace efter Oracle WebLogic 12.2.1.3. Om din befintliga WebLogic-version inte är kompatibel med den versionen måste du återskapa distributionen för hand med hjälp av Azure IaaS-resurser. Mer information finns i Azure-dokumentationen.

Lagerserverkapacitet

Dokumentera maskinvaran (minne, CPU, disk) för den aktuella eller de aktuella produktionsservrarna, så väl som genomsnittet och den högsta mängden begäranden och resursutnyttjande. Den här informationen måste upplysa om valet av VM-storlek. Mer information finns i Storlekar för Cloud Services.

Inventera alla hemligheter

Innan tekniker för konfiguration som en tjänst, till exempel Azure Key Vault, fanns det inget väldefinierat koncept för hemligheter. I stället hade du skilda uppsättningar konfigurationsinställningar som fungerade som det vi nu kallar hemligheter. Med appservrar som WebLogic Server finns dessa hemligheter i många olika konfigurationsfiler och konfigurationsarkiv. Kontrollera alla egenskaper och konfigurationsfiler på produktionsservrarna efter hemligheter och lösenord. Kontrollera weblogic.xml i dina WAR. Konfigurationsfiler som innehåller lösenord eller autentiseringsuppgifter kan också finnas i ditt program. Mer information finns i Grundläggande koncept för Azure Key Vault.

Inventera alla certifikat

Dokumentera alla certifikat som används för offentliga SSL-slutpunkter. Du kan visa alla certifikat på produktionsservrarna genom att köra följande kommando:

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

Validera att Java-versionen som stöds fungerar som den ska

Alla migreringssökvägar för WebLogic till Azure kräver en speciell Java-version, som varierar för varje sökväg. Du måste verifiera att ditt program kan köras korrekt med den version som stöds.

Kommentar

Den här verifieringen är särskilt viktig om den aktuella servern körs på en JDK som inte stöds (till exempel Oracle JDK eller IBM OpenJ9).

Du får den aktuella Java-versionen genom att logga in på din produktionsserver och köra följande kommando:

java -version

Kommentar

När du migrerar till WLS på virtuella Azure-datorer bestäms kraven för de specifika Java-versionerna av förinstallerade Java på de virtuella datorerna. När du migrerar till WLS på AKS bestäms den specifika Java-versionen av den valda containeravbildningen. Det finns en mängd olika alternativ, men alla använder Oracle JDK.

Inventera JNDI-resurser

Inventera alla JNDI-resurser. Till exempel kan datakällor som databaser, ha ett associerat JNDI-namn som gör det möjligt för JPA att korrekt binda instanser av EntityManager till en viss databas. Mer information om JNDI-resurser och databaser finns i WebLogic Server-datakällor i Oracle-dokumentationen. Andra JNDI-relaterade resurser som JMS asynkron meddelandekö kan kräva migrering eller omkonfiguration. Mer information om JMS-konfiguration finns i Oracle WebLogic Server 12.2.1.4.0.

Granska domänkonfigurationen

Huvudkonfigurationsenheten i WebLogic-servern är domänen. Därför innehåller config.xml-filen en enorm mängd konfigurationer som du måste överväga vid migrering. Filen innehåller referenser till ytterligare XML-filer som lagras i underkataloger. Oracle rekommenderar att du normalt använder administrationskonsolen för att konfigurera WebLogic-serverns hanterbara objekt och tjänster och låter WebLogic-servern underhålla config.xml-filen. Mer information finns i Domänkonfigurationsfiler.

I ditt program

Kontrollera WEB-INF/weblogic.xml-filen och/eller WEB-INF/web.xml-filen.

Fastställ om sessionsreplikering används

Om ditt program förlitar sig på sessionsreplikering med eller utan Oracle Coherence*Web så har du tre alternativ:

  • Coherence*Web kan köras tillsammans med en WebLogic-server i den virtuella Azure-datorn, men du måste konfigurera det här alternativet manuellt när du har etablerat erbjudandet. Om du använder fristående Coherence kan du också köra den på en virtuell Azure-dator, men du måste konfigurera det här alternativet manuellt när du har etablerat erbjudandet.
  • Omstrukturera ditt program att använda en databas för sessionshantering.
  • Omstrukturera ditt program att externalisera sessionen till Azure Redis-tjänsten. Mer information finns i Azure Cache for Redis.

För alla dessa alternativ är det en bra idé att lära sig hur WebLogic utför replikering av HTTP-sessionstillstånd. Mer information finns i Replikering av HTTP-sessionstillstånd i Oracle-dokumentationen.

Dokumentets datakällor

Om ditt program använder några databaser måste du samla in följande information:

  • What is the datakällans namn?
  • Vad är konfigurationen för anslutningspoolen?
  • Var hittar jag JAR-filen för JDBC-drivrutinen?

Mer information om JDBC-drivrutiner i WebLogic finns i Använda JDBC-drivrutiner med WebLogic Server.

Fastställ om WebLogic har anpassats

Fastställ vilken av följande anpassningar som har gjorts och registrera vad som har gjorts.

  • Har startskripten ändrats? Sådana skript är setDomainEnv, commEnv, startWebLogicoch stopWebLogic.
  • Finns det några speciella parametrar som skickas till JVM?
  • Har JAR lagts till i server-classpath?

Ta reda på om hantering över REST används

Om programmets livscykel inkluderar användning av hantering över REST måste du fånga vilka portar som används för åtkomst till REST API och bestämma hur de autentiseras och exponeras. Efter migreringen måste du se till att samma portar och autentiseringsmekanismer exponeras så att programmets livscykel kan köras på ett liknande sätt som innan migreringen. Mer information finns i administrera Oracle WebLogic Server med RESTful Management Services.

Avgör om en anslutning till lokalt behövs

Om ditt program behöver har åtkomst till någon av dina lokala tjänster måste du etablera en av Azures anslutningstjänster. Mer information finns i Välj en lösning för att ansluta ett lokalt nätverk till Azure. Alternativt måste du omstrukturera programmet för att använda allmänt tillgängliga API:er som dina lokala resurser exponerar.

Ta reda på om JMS-köer eller -ämnen (Java Message Service) används

Om ditt program använder JMS-köer eller -ämnen måste du migrera dem till en externt värdbaserad JMS-server. Azure Service Bus och Advanced Message Queueing Protocol kan vara en bra migreringsstrategi för de som använder JMS. Mer information finns i Använda JMS med Azure Service Bus och AMQP 1.0.

Om JMS beständiga arkiv har konfigurerats måste du avbilda konfigurationen och tillämpa den efter migreringen.

Om du använder Oracle Message Broker kan du migrera den här programvaran till virtuella Azure-datorer och köra den i befintligt skick.

Fastställ om du använder dina egna anpassade Delade Java EE-bibliotek

Om du använder funktionen med Delade Java EE-bibliotek så har du två alternativ:

  • Återför programkoden för att ta bort alla beroenden i dina bibliotek, och inkludera i stället funktionerna direkt i programmet.
  • Lägg till biblioteken till server-classpath.

Ta reda på om OSGi-paket används

Om du använde OSGi-paket som lagts till i WebLogic-servern, måste du lägga till motsvarande JAR-filer direkt i ditt webbprogram.

Ta reda på om ditt program innehåller en operativsystemsspecifik kod

Om programmet innehåller en kod med beroenden i värdoperativsystemet måste du omstrukturera det för att ta bort dessa beroenden. Du kan exempelvis bli tvungen att ersätta all användning av / eller \ i filsystemets sökvägar med File.Separator eller Paths.get.

Fastställ om Oracle Service Bus används

Om ditt program använder Oracle Service Bus (OSB) måste du avbilda hur OSB har konfigurerats. Mer information finns i Om Oracle Service Bus-installationen.

Ta reda på om ditt program består av flera WAR

Om ditt program består av flera WAS så ska du behandla vart och ett av dem som separarata program och gå igenom den här guiden för varje.

Ta reda på om ditt program är paketerat som EAR

Om ditt program är paketerat som en EAR-fil bör du kontrollera filerna application.xml- och weblogic-application.xml och avbilda deras konfigurationer.

Identifiera alla externa processer och daemons som körs på produktionsservrarna

Om du har processer som körs utanför programservern, som övervaknings-daemons så behöver du eliminera dem eller migrera dem någon annanstans.

Avgör om WebLogic Scripting Tool (WLST) används

Om du använder WLST för att utföra distributionen måste du utvärdera vad som det gör. Om WLST ändrar några (runtime) parametrar i programmet som en del av distributionen måste du se till att det här beteendet fortsätter att fungera när du testar programmet efter migreringen.

Kontrollera om och hur filsystemet används

VM-filsystem fungerar på samma sätt som lokala filsystem med avseende på kvarhållning, start och avstängning. Dock är det viktigt att vara medveten om dina filsystemsbehov och se till att de virtuella datorerna har tillräckligt med lagringsutrymme och prestanda.

Skrivskyddat statiskt innehåll

Om ditt program för tillfället hanterar statiskt innehåll behöver du en alternativ plats för det. Du kanske kan tänka dig att flytta det statiska innehållet till Azure Blob Storage och lägga till Azure CDN för blixtsnabba nedladdningar globalt. Mer information finns i Värd för statiska webbplatser i Azure Storage och snabbstart: Integrera ett Azure Storage-konto med Azure CDN. Du kan också distribuera det statiska innehållet direkt till en app i Azure Spring Apps Enterprise-planen. Mer information finns i Distribuera webbstatiska filer.

Dynamiskt publicerat statiskt innehåll

Om ditt program tillåter att statiskt innehåll laddas upp/skapas av ditt program, men inte kan ändras efter att det har skapats, så kan du använda Azure Blob Storage och Azure CDN enligt beskrivningen ovan, med en Azure-funktion för hantering av överföringar och CDN-uppdateringar. Vi har tillhandahållit en exempelimplementering som du kan använda i Överföra och CDN-för inläsa statiskt innehåll med Azure Functions. Du kan också distribuera det statiska innehållet direkt till en app i Azure Spring Apps Enterprise-planen. Mer information finns i Distribuera webbstatiska filer.

Ta reda på nätverkstopologin

Den aktuella uppsättningen Azure Marketplace-erbjudanden är en startpunkt för migreringen. Om erbjudandet inte omfattar aspekter av din arkitektur som du behöver migrera måste du samla in nätverkstopologin för din befintliga distribution och återskapa den i Azure, även när du har skapat det grundläggande erbjudandet med en av lösningsmallarna.

Det här är ett brett ämne, men följande referenser kan ge en viss hjälp vid migreringen:

Konto för användning av JCA-kort och resurskort

Om ditt befintliga program använder JCA-kort och/eller resurskort för att ansluta till andra företagssystem, måste du se till att konfigurationen för dessa artefakter tillämpas på den WebLogic Server som körs i Azure Virtual Machines. Mer information finns i Skapa och konfigurera resurskort

Konto för användning av anpassade säkerhetsprovidrar och JAAS

Om ditt program använder JAAS, måste du se till att konfigurationen av säkerhetsprovidrar migreras korrekt. Mer information finns i Om att konfigurera WebLogic-säkerhetsprovidrar i Oracle-dokumentationen.

Fastställ om WebLogic-klustring används

Förmodligen har du distribuerat ditt program på flera WebLogic-servrar för att uppnå hög tillgänglighet. Du kan migrera dessa kluster direkt från den lokala installationen till WebLogic som körs i Azure Virtual Machines. Mer information finns i Domänkonfigurationsfiler i Oracle-dokumentationen.

Konto för belastningsutjämningskrav

Belastningsutjämning är en viktig del av migreringen av Oracle WebLogic Server-klustret till Azure. Den enklaste lösningen är att använda det inbyggda stödet för Azure Application Gateway som tillhandahålls i Azure Marketplace-erbjudandet för Oracle WebLogic Server-klustret. En självstudiekurs om det här avsnittet finns i Självstudie: Migrera ett WebLogic Server-kluster till Azure med Azure Application Gateway som lastbalanserare.

En sammanfattning av funktionerna i Azure Application Gateway jämfört med andra Azure-belastningsutjämningslösningar finns i Översikt över alternativ för belastningsutjämning i Azure.

Ta reda på om funktionen Java EE-programklient används

Om programmet använder funktionen Java EE-programklient, bör den fortsätta att fungera oförändrad efter migrering till Azure Virtual Machines. Mer information finns i Använda Java EE-klientprogrammoduler.

Migrering

Välj en WebLogic i Azure Virtual Machines-erbjudandet

Följande erbjudanden är tillgängliga för WebLogic på Azure Virtual Machines.

Under distributionen av ett erbjudande uppmanas du att välja storleken på den virtuella datorn för dina WebLogic-servernoder. Det är viktigt att du tar hänsyn till alla storleksaspekter (minne, processor, disk) när du väljer virtuell datorstorlek. Mer information finns i Azure-dokumentationen för storleksändring av virtuella datorer

WebLogic Server med en nod utan administrationsserver

Det här erbjudandet skapar en enskild virtuell dator och installerar WebLogic på den, men konfigurerar inte några domäner, vilket är användbart för scenarier där du har en mycket anpassad domänkonfiguration.

WebLogic Server med en nod med administrationsserver

Det här erbjudandet etablerar en enskild virtuell dator och installerar WebLogic Server på den. En domän skapas och administrationsservern startas.

WebLogic Server med N-Node-kluster

Det här erbjudandet skapar ett kluster med hög tillgänglighet för virtuella WebLogic-servrar.

WebLogic Server med dynamiskt N-Node-kluster

Det här erbjudandet skapar ett skalbart dynamiskt kluster med hög tillgänglighet för virtuella WebLogic-servrar

Få tillgång till erbjudandet

När du har valt vilket erbjudande du vill börja med, så följ anvisningarna i erbjudandenas dokumentation om hur du får tillgång till erbjudandet. Se till att välja det domännamn som matchar det befintliga domännamnet. Du kan till och med matcha domänens lösenord med ditt befintliga domänlösenord.

Migrera domänerna

När du har fått tillgång till erbjudandet kan du undersöka domänkonfigurationen och ta del av den här vägledningen där du får information om hur du kan migrera domänerna.

Anslut databaserna

När du har migrerat domänerna kan du ansluta databaserna genom att följa anvisningarna i produktdokumentationen. De här anvisningarna hjälper dig att ta hänsyn till eventuella databashemligheter och åtkomststrängar.

KeyStores-konto

Du måste ha ett konto för migreringen av de eventuella SSL KeyStores som programmet använder. Mer information finns i Konfigurera KeyStores.

Anslut JMS-källorna

När du har anslutit databaserna kan du konfigurera JMS. Mer information finns i Fusion Middleware Administering JMS Resources for Oracle WebLogic Server (Fusion Middleware Administering JMS Resources for Oracle WebLogic Server ) i WebLogic-dokumentationen.

Konto för autentisering och auktorisering

De flesta program har någon form av autentisering och auktorisering. Om du använder LDAP för autentisering kan du konfigurera Microsoft Entra Domain Services med säker LDAP och konfigurera LDAP-anslutningar i WebLogic Server. Mer information finns i Skapa och konfigurera en hanterad Domän för Microsoft Entra Domain Services och Konfigurera säker LDAP för en hanterad Domän för Microsoft Entra.

Loggningskonto

Använd integreringen med Elastic on Azure som tillhandahålls av Lösningsmallarna för Oracle WebLogic Server Marketplace. Den här metoden är det enklaste sättet att ta hänsyn till loggning. Du kan se listan över erbjudanden i översiktsartikeln Vad är lösningar för att köra Oracle WebLogic Server på virtuella Azure-datorer? Fullständiga självstudier för att konfigurera Elastic finns i:

Om den elastiska integreringen inte är lämplig bör du överföra den befintliga loggningskonfigurationen när du migrerar domänen. Mer information finns i Konfigurera loggningsnivåer för java.util.logging och Konfigurera loggfiler och filtrera loggmeddelanden för Oracle WebLogic Server i Oracle-dokumentationen.

Migrera dina program

De tekniker som används för att distribuera program från utvecklingsteamet till test-, mellanlagrings- och produktionsservrarna varierar kraftigt från fall till fall. I vissa fall finns det en mycket utvecklad CI/CD-plattform som resulterar i att programmen distribueras till WebLogic Server. I andra fall är processen mer manuell. En fördel med att använda Azure Virtual Machines för att migrera WebLogic-program till molnet är att dina befintliga processer fortsätter att fungera.

Du måste konfigurera den nätverkssäkerhetsgrupp som erbjudandet tillhandahåller för att tillåta åtkomst från ci/CD-pipelinen eller det manuella distributionssystemet. Mer information finns i Nätverkssäkerhetsgrupper.

Testning

Eventuella test i behållare mot program måste konfigureras för att få åtkomst till de nya servrarna som körs i Azure. Precis som med CI/CD-problemen måste du se till att de nödvändiga nätverkssäkerhetsreglerna tillåter dina tester att komma åt de program som distribueras till Azure. Mer information finns i Nätverkssäkerhetsgrupper.

Efter migreringen

När du har nått de migreringsmål som du definierade i steget före migreringen, så utför några godkännandetester från slutpunkt till slutpunkt för att se att allt fungerar som förväntat. Vägledning om några potentiella förbättringar efter migreringen finns i följande rekommendationer: