Migrace aplikací serveru WebLogic do Azure Virtual Machines

Tato příručka popisuje, o čem byste měli vědět, když chcete migrovat existující aplikaci WebLogic tak, aby byla provozovaná ve službě Azure Virtual Machines. Přehled dostupných řešení serveru WebLogic v tématu Azure Marketplace v tématu Jaká jsou řešení pro spouštění Oracle WebLogic Serveru v Azure Virtual Machines?

Před migrací

Pokud chcete zajistit úspěšnou migraci, než začnete, proveďte kroky posouzení a inventáře popsané v následujících částech.

Definice, co se rozumí pod pojmem „Migrace je hotová“

Tato příručka a odpovídající nabídky Azure Marketplace představují výchozí bod k urychlení migrace úloh serveru WebLogic Server do Azure. Je důležité definovat rozsah své migrace. Provádíte například migraci striktně metodou „lift and shift“ z existující infrastruktury do služby Azure Virtual Machines? Pokud ano, možná budete v pokušení při migraci provést nějaká vylepšení.

Je lepší se v maximální míře držet čisté metody „lift and shift“, ale vzít v úvahu nutné změny, jak je podrobně popsáno v této příručce. Definujte, co se rozumí pod pojmem „Migrace je hotová“, abyste věděli, kdy jste tohoto milníku dosáhli. Jakmile dosáhnete bodu „Migrace je hotová“, můžete pořídit snímek služby Virtual Machines, jak je popsáno v tématu Vytvoření snímku. Vylepšení je bezpečnější udělat až poté, co si ověříte, že je možné provést úspěšné obnovení ze snímku, protože nemusíte mít strach, že přijdete o kroky migrace, které jste až dosud provedli.

Určení, zda jsou předem připravené nabídky Marketplace dobrým výchozím bodem

Společnosti Oracle a Microsoft se spojily, aby na Azure Marketplace přinesly sadu šablon řešení Azure, které poskytují solidní výchozí bod pro migraci do Azure. Seznam nabídek naleznete v dokumentaci Oracle Fusion Middleware. Vyberte tu, která nejlépe odpovídá vašemu stávajícímu nasazení. Seznam nabídek najdete v přehledu v článku Co je Oracle WebLogic Server v Azure?

Pokud žádná ze stávajících nabídek není dobrým výchozím bodem, budete muset nasazení reprodukovat ručně pomocí prostředků virtuálního počítače Azure. Další informace najdete v tématu Co je IaaS?.

Určení, zda je verze WebLogic kompatibilní

Vaše stávající verze WebLogic musí být kompatibilní s verzí v nabídkách IaaS. Tento dotaz zobrazí nabídky pro WebLogic verze 12.2.1.3. Pokud vaše stávající verze WebLogic není s touto verzí kompatibilní, budete muset nasazení reprodukovat ručně pomocí prostředků Azure IaaS. Další informace najdete v dokumentaci k Azure.

Inventarizace kapacity serverů

Zdokumentujte hardware (paměť, procesor, disk) aktuálních produkčních serverů a také průměrný a maximální počet žádostí a využití prostředků. Výběr velikosti virtuálního počítače musí vycházet z těchto údajů. Další informace najdete v článku Velikosti cloudových služeb.

Inventarizace všech tajných kódů

Před nástupem technologií „konfigurace jako služba“ typu Azure Key Vault neexistoval řádně definovaný koncept „tajných kódů“. Místo toho jste měli různorodou sadu konfiguračních nastavení, která v podstatě fungovala stejně jako dnešní „tajné kódy“. Při používání aplikačních serverů, jako je server WebLogic, se tyto tajné kódy nacházejí v mnoha různých konfiguračních souborech a úložištích konfigurací. Ve všech vlastnostech a konfiguračních souborech na produkčních serverech vyhledejte tajné kódy a hesla. Nezapomeňte zkontrolovat soubor weblogic.xml v souborech WAR. Konfigurační soubory obsahující hesla nebo přihlašovací údaje se mohou nacházet také ve vaší aplikaci. Další informace najdete v článku Základní koncepty služby Azure Key Vault.

Inventarizace všech certifikátů

Zdokumentujte všechny certifikáty používané pro veřejné koncové body SSL. Všechny certifikáty na produkčních serverech zobrazíte spuštěním následujícího příkazu:

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

Ověření správné funkce podporované verze jazyka Java

Všechny způsoby migrace WebLogic do Azure vyžadují specifickou verzi jazyka Java, která je pro jednotlivé způsoby odlišná. Budete muset ověřit, že je vaše aplikace schopna správně fungovat při používání podporované verze.

Poznámka

Toto ověření je obzvláště důležité, pokud se váš aktuální server provozuje na nepodporované sadě JDK (například Oracle JDK nebo IBM OpenJ9).

Aktuální verzi jazyka Java získáte tak, že se přihlásíte k produkčnímu serveru a spustíte následující příkaz:

java -version

Poznámka

Při migraci na WebLogic na virtuálních počítačích Azure jsou požadavky na specifickou verzi jazyka Java určeny tím, jaká Java je předinstalovaná na těchto virtuálních počítačích.

Inventarizace prostředků JNDI

Proveďte inventarizaci všech prostředků JNDI. Zdroje dat, jako jsou databáze, mohou mít například přidružený název JNDI, který umožňuje JPA správně navazovat instance EntityManager ke konkrétní databázi. Další informace o prostředcích a databázích JNDI najdete v článku Zdroje dat serveru WebLogic v dokumentaci Oracle. Jiné prostředky související s JNDI, například zprostředkovatelé zpráv JMS, mohou vyžadovat migraci nebo změnu konfigurace. Další informace o konfiguraci JMS najdete v článku Princip konfigurace prostředků JMS.

Kontrola konfigurace domény

Hlavní konfigurační jednotkou na serveru WebLogic je doména. Soubor config.xml obsahuje rozsáhlou konfiguraci, kterou při migraci musíte pečlivě zvážit. Tento soubor obsahuje odkazy na další soubory XML, které jsou uložené v podadresářích. Oracle doporučuje, abyste ke konfiguraci spravovatelných objektů a služeb serveru WebLogic normálně používali konzolu pro správu a umožnili serveru WebLogic spravovat soubor config.xml. Další informace najdete v článku Konfigurační soubory domény.

Ve vaší aplikaci

Prověřte soubor WEB-INF/weblogic.xml a/nebo soubor WEB-INF/web.xml.

Určení, zda se používá replikace relace

Pokud vaše aplikace spoléhá na replikaci relace, ať už s modulem Oracle Coherence*Web nebo bez něj, máte tři možnosti:

  • Coherence*Web může běžet spolu se serverem WebLogic na virtuálních počítačích Azure, ale tuto možnost musíte po zřízení nabídky ručně nakonfigurovat. Pokud používáte samostatný modul Coherence, můžete ho také spustit na virtuálním počítači Azure, ale tuto možnost musíte po zřízení nabídky ručně nakonfigurovat.
  • Refaktorujte aplikaci tak, aby používala databázi pro správu relace.
  • Refaktorujte aplikaci tak, aby externalizovala relaci do služby Azure Redis. Další informace najdete v článku, který se věnuje službě Azure Cache for Redis.

U všech těchto možností je vhodné osvojit si znalosti toho, jak WebLogic provádí replikaci stavu relace HTTP. Další informace najdete v článku, který se věnuje replikaci stavu relace HTTP v dokumentaci společnosti Oracle.

Dokumentování zdrojů dat

Pokud vaše aplikace používá nějaké databáze, potřebujete shromáždit následující informace:

  • Jaký je název zdroje dat?
  • Jaká je konfigurace fondu připojení?
  • Kde najdu soubor JAR ovladače JDBC?

Další informace o ovladačích JDBC u serveru WebLogic najdete v článku o používání ovladačů JDBC se serverem WebLogic.

Určení, zda byla platforma WebLogic přizpůsobena

Určete, která z následujících přizpůsobení byla provedena, a zachyťte provedenou akci.

  • Došlo ke změně spouštěcích skriptů? Mezi tyto skripty patří setDomainEnv, commEnv, startWebLogic a stopWebLogic.
  • Byly do prostředí JVM předány nějaké konkrétní parametry?
  • Byly do cesty ke třídě serveru přidány nějaké soubory JAR?

Určení, zda se používá správa přes REST

Pokud životní cyklus vaší aplikace zahrnuje používání funkce správy přes REST, musíte zachytit, které porty slouží pro přístup k rozhraní REST API, a určit, jak se ověřují a zveřejňují. Po migraci budete muset zajistit, že se zveřejní tyto porty a ověřovací mechanismy, aby vaše aplikace mohla fungovat podobně jako před migrací. Další informace najdete v tématu, které se věnuje správě serveru Oracle WebLogic pomocí služeb pro správu RESTful.

Určení, jestli je potřeba připojení k místnímu prostředí

Pokud vaše aplikace potřebuje přístup k některým místním službám, budete muset zřídit jednu ze služeb připojení Azure. Další informace najdete v článku Volba řešení pro připojení místní sítě k Azure. Alternativně budete muset aplikaci refaktorovat tak, aby používala veřejně přístupná rozhraní API, která nabízejí vaše místní prostředky.

Určení, jestli se používají fronty nebo témata služby JMS (Java Message Service)

Pokud vaše aplikace používá fronty nebo témata JMS, budete je muset migrovat na externě hostovaný server JMS. Pro aplikace používající JMS může skvělou migrační strategii představovat Azure Service Bus a rozšířený protokol řízení front zpráv (AMQP). Další informace najdete v tématu Použití JMS s Azure Service Bus a AMQP 1.0.

Pokud jste nakonfigurovali trvalá úložiště JMS, musíte zachytit jejich konfiguraci a po migraci ji použít.

Pokud používáte Oracle Message Broker, můžete tento software migrovat na virtuální počítače Azure a používat ho tak, jak je.

Určení, jestli používáte své vlastní vytvořené sdílené knihovny Java EE

Pokud používáte funkci sdílených knihoven Java EE, máte dvě možnosti:

  • Refaktorováním kódu své aplikace odeberte všechny závislosti na těchto knihovnách a místo toho začleňte jejich funkčnost přímo do aplikace.
  • Přidejte tyto knihovny do cesty ke třídám serveru.

Určení, jestli se používají sady OSGi

Pokud jste použili sady OSGi přidané na server WebLogic, budete muset přidat ekvivalentní soubory JAR přímo do webové aplikace.

Určení, jestli aplikace obsahuje kód specifický pro operační systém

Pokud vaše aplikace obsahuje jakýkoli kód se závislostmi na hostitelském operačním systému, budete muset refaktorováním tyto závislosti odebrat. Pomocí File.Separator nebo Paths.get budete například muset nahradit použití znaků / nebo \ v cestách systému souborů.

Určení, jestli se používá Oracle Service Bus

Pokud vaše aplikace používá Oracle Service Bus (OSB), budete muset zjistit konfiguraci OSB. Další informace najdete v článku Informace o instalaci Oracle Service Bus.

Určení, jestli se aplikace skládá z několika souborů WAR

Pokud se vaše aplikace skládá z několika souborů WAR, měli byste s těmito soubory WAR zacházet jako se samostatnými aplikacemi a projít tuto příručku pro každý z nich.

Určení, jestli je aplikace zabalená jako soubor EAR

Pokud je vaše aplikace zabalená jako soubor EAR, prověřte soubory application.xml a weblogic-application.xml a poznačte si jejich konfiguraci.

Zjištění všech vnějších procesů a démonů běžících na produkčních serverech

Pokud používáte nějaké procesy, které běží mimo aplikační server, například monitorovací démony, budete je muset eliminovat nebo migrovat jinam.

Určení, jestli se používá nástroj WLST (WebLogic Scripting Tool)

Pokud k nasazování aktuálně používáte nástroj WLST, budete muset vyhodnotit, co dělá. Pokud nástroj WLST mění jako součást nasazení nějaké (běhové) parametry vaší aplikace, budete se při testování aplikace po migraci muset ujistit, že toto chování nadále funguje.

Určete, zda a jak se systém souborů používá.

Systémy souborů virtuálních počítačů fungují z hlediska trvalosti, spouštění a vypínání stejně jako místní systémy souborů. I tak je důležité mít na paměti potřeby systému souborů a zajistit, aby virtuální počítače měly odpovídající velikost úložiště a výkon.

Statický obsah jen pro čtení

Pokud vaše aplikace aktuálně poskytuje statický obsah, budete pro ni potřebovat alternativní umístění. Možná budete chtít statický obsah přesunout do Azure Blob Storage a přidat Azure CDN, abyste umožnili bleskově rychlé globální stahování. další informace najdete v tématu statické hostování webů v Azure Storage a rychlém startu: integrace účtu úložiště Azure s Azure CDN.

Dynamicky publikovaný statický obsah

Pokud vaše aplikace umožňuje nahrávání nebo vytváření statického obsahu, který je ale po vytvoření neměnný, můžete použít Azure Blob Storage a Azure CDN, jak je popsáno výše, s funkcí Azure Functions, která zpracovává nahrávání a aktualizace CDN. Pro vaše použití jsme poskytli ukázkovou implementaci na GitHubu – Uploading and CDN-preloading static content with Azure Functions.

Určení síťové topologie

Výchozím bodem migrace je aktuální sada nabídek na Marketplace. Pokud daná nabídka nepokrývá aspekty vaší architektury, kterou potřebujete migrovat, budete muset zjistit síťovou topologii stávajícího nasazení a reprodukovat ji v Azure, a to i po zavedení základní nabídky pomocí některé ze šablon řešení.

Toto téma je velmi rozsáhlé, následující odkazy ale mohou vaše migrační úsilí nasměrovat správným směrem:

Ohled na používání adaptérů JCA a adaptérů prostředků

Pokud vaše existující aplikace používá adaptéry JCA a/nebo adaptéry prostředků pro připojení k jiným podnikovým systémům, zajistěte, aby konfigurace těchto artefaktů byla použita u serveru WebLogic provozovaného ve službě Azure Virtual Machines. Další informace najdete v článku Vytvoření a konfigurace adaptérů prostředků.

Účet pro použití vlastních poskytovatelů zabezpečení a JAAS

Pokud vaše aplikace používá JAAS, musíte zajistit správnou migraci konfigurace poskytovatelů zabezpečení. Další informace najdete v tématu, které se věnuje konfiguraci poskytovatelů zabezpečení WebLogic v dokumentaci společnosti Oracle.

Určení, jestli se používá clustering WebLogic

Kvůli dosažení vysoké dostupnosti jste aplikaci pravděpodobně nasadili na několik serverů WebLogic. Tyto clustery můžete migrovat přímo z místní instalace do služby WebLogic provozované ve službě Azure Virtual Machines. Další informace najdete v článku Konfigurační soubory domény v dokumentaci Oracle.

Účet pro požadavky vyrovnávání zatížení

Vyrovnávání zatížení je podstatnou součástí migrace clusteru Oracle WebLogic Server do Azure. Nejjednodušším řešením je použití integrované podpory pro Azure Application Gateway poskytované v nabídce Azure Marketplace pro cluster Oracle WebLogic Server. Kurz k tomuto tématu najdete v tématu kurz: Migrace serveru WebLogic Server cluster do Azure pomocí azure Application Gateway jako nástroje pro vyrovnávání zatížení.

Shrnutí možností Azure Application Gateway ve srovnání s jinými řešeními vyrovnávání zatížení Azure najdete v tématu Přehled možností vyrovnávání zatížení v Azure.

Určení, jestli se používá funkce klienta aplikace Java EE

Pokud vaše aplikace používá funkci klienta aplikace Java EE, měla by po migraci do služby Azure Virtual Machines fungovat beze změny. Další informace najdete v článku Používání modulů klientských aplikací Java EE.

Migrace

Výběr WebLogic v nabídce Azure Virtual Machines

Následující nabídky jsou k dispozici pro WebLogic ve službě Azure Virtual Machines.

Při nasazování nabídky se zobrazí výzva k výběru velikosti virtuálního počítače pro uzly serveru WebLogic. Při výběru velikosti virtuálního počítače je důležité zvážit všechny aspekty změny velikosti (paměť, procesor, disk). Další informace najdete v dokumentaci k Azure pro nastavení velikosti virtuálních počítačů .

Jeden uzel serveru WebLogic bez serveru pro správu

Tato nabídka vytvoří jeden virtuální počítač a nainstaluje na něj WebLogic, ale nenakonfiguruje žádné domény. To je užitečné ve scénářích, ve kterých máte vysoce přizpůsobenou konfiguraci domény.

Jeden uzel serveru WebLogic se serverem pro správu

Tato nabídka zřídí jeden virtuální počítač a na něj nainstaluje WebLogic Server. Vytvoří doménu a spustí server pro správu.

Cluster více uzlů serveru WebLogic

Tato nabídka vytvoří vysoce dostupný cluster virtuálních počítačů serveru WebLogic.

Dynamický cluster více uzlů serveru WebLogic

Tato nabídka vytvoří vysoce dostupný a škálovatelný dynamický cluster virtuálních počítačů serveru WebLogic.

Zřízení nabídky

Po výběru nabídky, se kterou chcete začít, zřiďte nabídku podle pokynů v dokumentaci k nabídkám. Nezapomeňte vybrat název domény, který odpovídá názvu vaší stávající domény. Můžete dokonce spárovat heslo domény s heslem stávající domény.

Migrace domén

Po zřízení nabídky můžete prozkoumat konfiguraci domény a podle tohoto postupu zjistit podrobnosti, jak domény migrovat.

Připojení databází

Po dokončení migrace domén můžete databáze připojit podle pokynů v dokumentaci nabídky. Tyto pokyny vám pomohou zohlednit všechny tajné kódy databáze a přístupové řetězce.

Účet pro úložiště klíčů

Musíte zajistit migraci všech úložišť klíčů SSL, které aplikace používá. Další informace najdete v tématu Konfigurace úložišť klíčů.

Připojení zdrojů JMS

Po připojení databází můžete nakonfigurovat JMS podle pokynů v dokumentaci k WebLogic v části věnované správě prostředkům JMS Fusion Middleware pro server Oracle WebLogic.

Účet pro ověřování a autorizaci

Většina aplikací má nějaký druh ověřování a autorizace. Pokud používáte protokol LDAP pro ověřování, podporuje WebLogic Server v Azure automatickou integraci. nabídka marketplace používá službu Azure Active Directory Domain Services (Azure služba AD DS) se zabezpečeným protokolem LDAP. Nabídka vytvoří výchozí sféru pro server WebLogic z dat v Azure služba AD DS. Další informace najdete v tématu autorizace a ověřování koncových uživatelů pro migraci aplikací v jazyce Java na serveru WebLogic do Azure.

Účet pro protokolování

Využijte integraci s elastickou v Azure, kterou poskytuje server Oracle WebLogic Server v Azure Marketplace. Toto je nejjednodušší způsob, jak přihlédnout k protokolování. V tomto kurzu je k dispozici úplný kurz : Migrace serveru WebLogic Server cluster do Azure s flexibilitou v Azure jako řešení protokolování. Seznam nabídek najdete v článku Přehled řešení pro provoz Oracle WebLogic serveru v Azure Virtual Machines?

Pokud elastická integrace není vhodná, měli byste při migraci domény přenést stávající konfiguraci protokolování. Další informace najdete v tématu Konfigurace úrovní protokolovacího nástroje java.util.logging a Konfigurace souborů protokolu a Filtrování zpráv protokolu pro server Oracle WebLogic v dokumentaci Oracle.

Migrace aplikací

Techniky používané k nasazení aplikací z vývoje na testovací, přípravné a produkční servery se v jednotlivých případech velmi liší. V některých případech existuje vysoce vyvinutá platforma CI/CD, která vede k nasazení aplikací na server WebLogic. V jiných případech může být nutné některé kroky provést ručně. Jednou z výhod migrace aplikací WebLogic do cloudu pomocí služby Azure Virtual Machines je to, že vaše stávající procesy budou i nadále fungovat.

Budete muset nakonfigurovat skupinu zabezpečení sítě, kterou nabídka zřídila, tak, aby povolovala přístup z vašeho kanálu CI/CD nebo ze systému ručního nasazení. Další informace a podrobnosti najdete v tématu Skupiny zabezpečení v dokumentaci k Azure.

Testování

Všechny testy v kontejnerech proti aplikacím musí být nakonfigurovány tak, aby měly přístup k novým serverům běžícím v Azure. Stejně jako v případě CI/CD musíte zajistit, aby potřebná pravidla zabezpečení sítě umožnila vašim testům přístup k aplikacím nasazeným do Azure. Další informace najdete v tématu Skupiny zabezpečení v dokumentaci k Azure.

Po migraci

Po dosažení cílů migrace, které jste definovali v části Před migrací, proveďte několik kompletních akceptačních testů, abyste ověřili, že vše funguje podle očekávání. Mezi témata týkající se vylepšení po migraci mimo jiné patří: