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:
- Den här referensen räknar upp de högnivåämnen som är relevanta för migrering av nätverkstopologi till Azure: Snabbspårsdistributionsguide.
- I den här referensen beskrivs viktiga frågor om klustring, vilket påverkar nätverkstopologin: WebLogic Server Clustering.
- Eftersom datakällor är separata servrar i ett WebLogic-system, måste du ta hänsyn till dem som en del av analysen av nätverkstopologin. WebLogic Server-datakällor.
- Meddelandekällor är även separata servrar. WebLogic Server-meddelanden
- Lastbalansering är ett grundläggande krav. Den här referensen omfattar WebLogic Server-sidan av belastningsutjämning: Belastningsutjämning i ett kluster.
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:
Använda Azure Storage för att hantera statiskt innehåll som monterats på de virtuella datorerna. Mer information finns i Ansluta eller ta bort en datadisk från en virtuell dator.
Distribuera dina program till ditt migrerade WebLogic-kluster med Azure DevOps. Mer information finns i Komma igång-dokumentationen för Azure DevOps.
Om du har distribuerat WebLogic Server med Azure Application Gateway genom att följa stegen i Självstudie: Migrera ett WebLogic Server-klustertill Azure med Azure Application Gateway som lastbalanserare kan du behöva göra ytterligare konfiguration på Application Gateway. Mer information finns i Application Gateway översikt över konfiguration.
Förbättra nätverkstopologin med avancerade lastbalanseringstjänster. Mer information finns i Använda lastbalanseringstjänster i Azure.
Utnyttja Azure Managed Identities för hanterade hemligheter och tilldela rollbaserad åtkomst till Azure-resurser. Mer information finns i Vad är hanterade identiteter för Azure-resurser?
Integrera WebLogic Java EE-autentisering och auktorisering med Azure Active Directory. Mer information finns i Komma igång-guiden Integrera Azure Active Directory.
Använd Azure Key Vault för att lagra information som fungerar som "hemlig". Mer information finns i Grundläggande koncept för Azure Key Vault.