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:
- Tento odkaz uvádí témata nejvyšší úrovně týkající se migrace síťové topologie do Azure: Průvodce nasazením rychlé stopy.
- Tento odkaz popisuje důležité aspekty týkající se clusteringu, které mají vliv na topologii sítě: clustering serveru WebLogic.
- Protože zdroje dat jsou v systému WebLogic samostatnými servery, musíte je při analýze síťové topologie vzít do úvahy. Zdroje dat serveru WebLogic.
- Také zdroje zasílání zpráv jsou samostatnými servery. Zasílání zpráv serveru WebLogic.
- Vyrovnávání zatížení je zásadním požadavkem. Tento odkaz pokrývá stranu serveru WebLogic pro vyrovnávání zatížení: Vyrovnávání zatížení v clusteru.
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ří:
Použití Azure Storage k poskytování statického obsahu připojeného k virtuálním počítačům. Další informace najdete v tématu, které popisuje připojení disku k virtuálnímu počítači nebo jeho odpojení.
Nasazení aplikací do migrovaného clusteru WebLogic pomocí Azure DevOps. Další informace najdete v dokumentaci Začínáme s Azure DevOps.
Pokud jste nasadili server WebLogic s Azure Application Gateway pomocí postupu v článku Kurz: Migrace clusteru serveru WebLogicdo Azure pomocí nástroje pro vyrovnávání zatížení Azure Application Gateway , možná budete chtít provést další konfiguraci na Application Gateway. Další informace najdete v tématu Application Gateway konfigurace nástroje .
Vylepšení síťové topologie pomocí pokročilých služeb pro vyrovnávání zatížení. Další informace najdete v tématu, které popisuje použití služeb pro vyrovnávání zatížení v Azure.
Využití spravovaných identit Azure ke správě tajných kódů a přiřazení přístupu k prostředkům Azure na základě role. Další informace najdete v tématu, které vysvětluje, co jsou spravované identity pro prostředky Azure.
Integrace ověřování a autorizace WebLogic Java EE s Azure Active Directory. Další informace najdete v základní příručce integrace Azure Active Directory.
Využití Azure Key Vault k ukládání všech informací, které jsou klasifikované jako tajné. Další informace najdete v článku Základní koncepty služby Azure Key Vault.