Migrera WebLogic Server-program till Azure Virtual Machines

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 i Azure Marketplace finns i Vad är lösningar för att köra Oracle WebLogic Server på Azure Virtual Machines?

Före migrering

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

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 verifierat att du kan återställa från din ögonblicksbild, så står du på säkrare grund när du ska genomföra förbättringarna, eftersom du inte riskerar att förlora den migrering som du har uppnått fram tills nu.

Fastställ om de färdiga Marketplace-erbjudandena utgör en bra startpunkt

Oracle och Microsoft har samarbetat kring att ta fram en uppsättning Azure Solution-mallar till Azure Marketplace som ska utgöra en solid 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 på Azure?

Om inget av de befintliga erbjudandena visar sig vara någon bra startpunkt, så måste du återskapa distributionen manuellt med hjälp av resurser för Azure Virtual Machine-resurser. 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. I den här frågan visas erbjudanden för WebLogic-versionen 12.2.1.3. Om din befintliga WebLogic-version inte är kompatibel med den här versionen måste du återskapa distributionen manuellt med hjälp av Azure IaaS-resurserna. 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.

Anteckning

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

Anteckning

När du migrerar till WebLogic på Azure Virtual Machines bestäms kraven för de specifika Java-versionerna av den förinstallerade Java-versionen på de virtuella datorerna.

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 Förstå JMS-resurskonfiguration.

Granska din domänkonfiguration

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 å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 (Java Message Service) eller -ämnen 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 programvaran till virtuella Azure-datorer och använda den som den är.

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 OS-specifik kod

Om programmet innehåller en kod med beroenden i värdoperativsystemet måste du ta bort dessa beroenden genom att återanvända den. 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.

Ta reda på 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ärdtjänster för statiska webbplatser i Azure Storage och Snabbstart: Integrera ett Azure Storage-konto med Azure CDN.

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.

Ta reda på nätverkstopologin

Den aktuella uppsättningen Marketplace-erbjudanden är en utgångspunkt 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äkerhetsproviders 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.

Ta hänsyn till 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 finns i Azure Marketplace för Oracle WebLogic Server-kluster. En självstudiekurs om det här ämnet finns i Självstudie: Migrera ett WebLogic Server-kluster till Azure med Azure Application Gateway som lastbalanserare.

En sammanfattning av funktionerna i azure Azure Application Gateway jämfört med andra azure-lösningar för belastningsutjämning 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 storlek 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 tillhandahåller 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 erbjudandedokumentationen. 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 genom att följa anvisningarna i Slå samman mellanprogram som administrerar JMS-resurser för Oracle WebLogic Server i WebLogic-dokumentationen.

Konto för autentisering och auktorisering

De flesta program har någon typ av autentisering och auktorisering. Om du använder LDAP för autentisering stöder WebLogic Server på Azure automatisk integrering. Marketplace-erbjudandet använder Azure Active Directory Domain Services (Azure AD DS) med säkert LDAP. Erbjudandet skapar standardsfären för WebLogic Server från data i Azure AD DS. Mer information finns i Auktorisering och autentisering för slutanvändare för migrering av Java-appar på WebLogic Server till Azure.

Loggningskonto

Använd integreringen med Elastic på Azure som tillhandahålls av Oracle WebLogic Server-erbjudandena i Azure Marketplace. Det här är det enklaste sättet att ta hänsyn till loggning. En fullständig självstudie finns i Självstudie: Migrera ett WebLogic Server-kluster till Azure med Elastic i Azure som loggningslösning. Du kan se listan över erbjudanden i översiktsartikeln Vad är lösningar för att köra Oracle WebLogic Server på Azure Virtual Machines?

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 filtreringsloggmeddelanden 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 starkt utvecklade CI/CD-plattform som resulterar i att programmen distribueras till WebLogic-servern. I andra fall är processen mer manuell. En fördel med att använda Azure Virtual Machines när du ska migrera WebLogic-program till molnet är att dina befintliga processer fungerar även fortsättningsvis.

Du måste konfigurera den nätverkssäkerhetsgrupp som ska tillhandahållas av erbjudandet för att tillåta åtkomst från CI/CD-pipelinen eller det manuella distributionssystemet. Mer information finns i Säkerhetsgrupper i Azure-dokumentationen.

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-problem 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 Säkerhetsgrupper i Azure-dokumentationen.

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. Avsnitten om förbättringar efter migreringen omfattar bland annat följande: