JBoss EAP-alkalmazások migrálása az Azure Red Hat OpenShiftbe

Ez az útmutató azt ismerteti, hogy mire érdemes figyelnie, ha egy meglévő JBoss EAP-alkalmazást szeretne migrálni az Azure Red Hat OpenShiften való futtatáshoz.

A migrálás előtt

A sikeres migrálás biztosításához a kezdés előtt végezze el az alábbi szakaszokban leírt értékelési és leltározási lépéseket.

Győződjön meg arról, hogy a cél a megfelelő cél a migrálási munkához

A JBoss EAP-alkalmazások Azure-ba történő sikeres migrálásának első lépése a legmegfelelőbb migrálási cél kiválasztása. A JBoss EAP jól működik Az Azure-beli virtuális gépeken (virtuális gépeken) vagy az Azure Red Hat OpenShiften.

A virtuálisgép-cél a legegyszerűbb választás, mivel leginkább egy helyszíni üzembe helyezéshez hasonlít. A virtuális gépek felügyeleti és üzembe helyezési élménye a helyszíni környezethez hasonló. A virtuális gépek kiválasztásával elhalaszthatja a modernizációt.

A Red Hat OpenShift a tesztelt és megbízható szolgáltatásokat egyesíti, hogy csökkentse az alkalmazások fejlesztésének, modernizálásának, üzembe helyezésének, futtatásának és kezelésének súrlódását. Az Azure Red Hat OpenShift a Kubernetesre épül. Az Azure Red Hat OpenShift egységes élményt nyújt a nyilvános felhőben, a helyszínen, a hibrid felhőben vagy a peremhálózati architektúrában.

Ha a módosítás minimalizálása a migrálási munka legfontosabb tényezője, fontolja meg a virtuális gépalapú migrálást. Ebben az esetben lásd : JBoss EAP-alkalmazások migrálása JBoss EAP-ba Azure-beli virtuális gépeken. Ha el tudja viselni, hogy az alkalmazás Red Hat OpenShiften belüli futtatására konvertálja az alkalmazást a futásidejű költségek csökkentése érdekében, fontolja meg az Azure Red Hat OpenShift-alapú migrálást. Ebben az esetben folytassa a JBoss EAP-alkalmazások migrálásával a JBoss EAP-ba az Azure Red Hat OpenShiften. A JBoss EAP és az OpenShift JBoss EAP közötti különbségek megértéséhez lásd az Összehasonlítás: JBoss EAP és az OpenShift JBoss EAP-ja közötti különbségeket.

Annak meghatározása, hogy az előre összeállított Azure Marketplace-ajánlat jó kiindulópont-e

Először döntse el, hogy az Azure Red Hat OpenShift a megfelelő üzembehelyezési cél. Ezután döntse el, hogy az előre összeállított Azure Marketplace-ajánlat jó kiindulópont-e. Vegye figyelembe az előre összeállított Azure Marketplace-ajánlattal kapcsolatos alábbi szempontokat:

  • A Red Hat és a Microsoft azért hozta létre ezt az ajánlatot, hogy lehetővé tegye a JBoss EAP gyors üzembe helyezését az Azure Red Hat OpenShiften.
  • Magas szinten az ajánlat automatizálja az alábbi lépéseket.

Ha nem használja az előre összeállított Azure Marketplace-ajánlatot, meg kell tanulnia, hogyan használhatja közvetlenül az EAP-operátort. Az operátor elsajátítása meghaladja a jelen cikk hatókörét. Az EAP-operátor teljes dokumentációja elérhető a Red Hat webhelyen.

A szakasz további része megfontolandó szempontokat tartalmaz az előre összeállított Azure Marketplace-ajánlat vagy az operátor közvetlen használata mellett.

Annak meghatározása, hogy a JBoss EAP-verzió kompatibilis-e

A meglévő JBoss EAP-verziónak az operátor által támogatott verziók egyikének kell lennie. További információ: Verziókompatibilitás és támogatás a Red Hat dokumentációjában.

A leltárkiszolgáló kapacitása

Dokumentálja az aktuális üzemi kiszolgáló(ok) hardverét (memóriáját, processzorát, lemezét), valamint az átlagos és csúcsidőszaki kérelmek számát és az erőforrás-kihasználtságot. Ezekre az információkra a választott migrálási útvonaltól függetlenül szüksége van. A kiszolgálókapacitás részletes leltárát a következő szempontok és egyebek is kihasználják.

  • Útmutató a csomópontkészletben lévő virtuális gépek méretének kiválasztásához.
  • A tároló által használandó memória mennyiségének megismerése.
  • Annak megismeréséhez, hogy hány PROCESSZORmegosztásra van szüksége a tárolónak.

A csomópontkészletek átméretezhetők az Azure Red Hat OpenShiftben. További információ: Fürt átméretezése – Microsoft Azure a Red Hat dokumentációjában.

Az összes titkos kód leltározása

A szolgáltatásként nyújtott konfigurációs technológiák (például az Azure Key Vault) elterjedése előtt a titkos kódok fogalma kissé homályos volt. Ehelyett olyan eltérő konfigurációs beállítások közül választhatott, amelyek tulajdonképpen a mai titkos kódoknak feleltek meg. Az alkalmazáskiszolgálók, például a JBoss EAP esetében ezek a titkos kódok számos különböző konfigurációs fájlban és konfigurációs tárolóban találhatók. Ellenőrizze az éles kiszolgáló(k) minden tulajdonságát és konfigurációs fájlját titkos kódokhoz és jelszavakhoz. Ellenőrizze a konfigurációs fájlokat, például a custom-config.xml vagya jboss-web.xml fájlokat az alkalmazásokban. Az alkalmazásban jelszavakat vagy hitelesítő adatokat tartalmazó konfigurációs fájlok is szerepelhetnek. További információ: Azure Key Vault – alapvető fogalmak.

Ha már rendelkezik a titkos kulcsok megbízható készletével, tekintse meg az EAP-operátor titkos kulcsokkal kapcsolatos dokumentációját. További információ: Titkos kód létrehozása a Red Hat dokumentációjában.

Az összes tanúsítvány leltározása

Dokumentáljon minden, nyilvános SSL-végponthoz használt tanúsítványt. A következő parancs futtatásával megtekintheti az éles kiszolgáló(ko)n található összes tanúsítványt:

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

Miután rendelkezik a tanúsítványok szilárd készletével, konfigurálhatja őket az Azure Red Hat OpenShiftben. További információ: TLS-konfiguráció az OpenShift Container Platformban (csere) a Red Hat dokumentációjában.

Annak ellenőrzése, hogy a támogatott Java-verzió megfelelően működik-e

A JBoss EAP Azure Red Hat OpenShiftre való áttelepítéséhez egy adott Java-verzióra van szükség, amely az egyes útvonalakhoz eltérő. Ellenőriznie kell, hogy az alkalmazás megfelelően tud-e futni a támogatott verzióval.

Megjegyzés:

Ez az ellenőrzés különösen fontos, ha az aktuális kiszolgáló egy nem támogatott JDK-n fut (például az Oracle JDK-n vagy az IBM OpenJ9 rendszeren).

A jelenlegi Java-verzió beszerzéséhez jelentkezzen be az éles kiszolgálóra, és futtassa a következő parancsot:

java -version

JNDI-erőforrások leltározása

Leltározzon minden JNDI-erőforrást. Előfordulhat például, hogy az adatforrások (például az adatbázisok) olyan JNDI-névvel rendelkeznek, amely lehetővé teszi, hogy a JPA helyesen kössön EntityManager-példányokat egy adott adatbázishoz. További információ a JNDI-erőforrásokról és -adatbázisokról: Datasource Management a Red Hat dokumentációjában. Más JNDI-hez kapcsolódó erőforrások, például az ActiveMQ Artemis üzenetközvetítők áttelepítést vagy újrakonfigurálást igényelhetnek. Az ActiveMQ Artemis konfigurálásával kapcsolatos további információkért tekintse meg az üzenetküldés konfigurálását a Red Hat dokumentációjában.

Annak meghatározása, hogy az alkalmazás munkamenet-replikációt használ-e

Ha az alkalmazás munkamenet-replikációra támaszkodik az Infinispan használatával vagy anélkül, három lehetősége van:

  • Az Infinispan jól működik az Azure-beli virtuális gépeken, de ha magas rendelkezésre állási képességeket biztosító profilt használ, vegye figyelembe a JGroups konfigurációját . Határozza meg, hogy a rendszer felügyelt tartományként vagy önálló kiszolgálóként működik-e.
    • Ha felügyelt tartományban van, a ha vagy a teljes ha profilok JGroup-okkal foglalkoznak.
    • Ha önálló kiszolgálón van, a különálló-ha.xml vagy a különálló-full-ha.xml konfigurációs fájlok a JGroup-okkal foglalkoznak.
    • A Microsoft Azure nem támogatja az UDP csoportos küldésen alapuló JGroups felderítési protokollokat. További információ: A JBoss EAP magas rendelkezésre állásának használata a Microsoft Azure-ban a Red Hat dokumentációjában.
  • Bontsa újra az alkalmazást munkamenet-kezeléshez szükséges adatbázis használatához.
  • Bontsa újra az alkalmazást az Azure Redis Service-ben való külső elérhetővé tételéhez. További információ: Azure Cache for Redis.

Mindezekhez a lehetőségekhez érdemes elsajátítani a JBoss EAP HTTP-munkamenetállapot-replikációját. További információ: A HTTP-munkamenet replikációja a Red Hat dokumentációjában.

Dokumentum-adatforrások

Ha az alkalmazása adatbázisokat használ, Önnek rögzítenie kell az alábbi adatokat:

  • Mi az adatforrás neve?
  • Milyen a kapcsolatkészlet konfigurációja?
  • Hol található a JDBC-illesztőprogram JAR-fájlja?

További információ a JBoss EAP JDBC-illesztőprogramjairól: Datasource Management in the Red Hat documentation.

Annak meghatározása, hogy a JBoss EAP testre lett-e szabva

Határozza meg, hogy a következő testreszabások közül melyik lett végrehajtva, és rögzítse, mi történt.

  • Módosultak az indítási szkriptek? Ilyen szkriptek például a gazdagép, a eap_env, az önálló és a tartomány.
  • Küld adott paramétereket a JVM-nek az alkalmazás?
  • Tartalmaz JAR-fájlokat a kiszolgáló osztályútvonala?

Ezeket a testreszabásokat az Azure Red Hat OpenShiften futó tárolórendszerképben kell rögzíteni. További információ : A JBoss EAP konfigurálása a Java-alkalmazáshoz készült OpenShift-rendszerképhez a Red Hat dokumentációjában.

Annak megállapítása, hogy szükséges-e helyszíni kapcsolat

Ha az alkalmazásnak hozzá kell férnie helyszíni szolgáltatásokhoz, ki kel építenie egy Azure-beli kapcsolati szolgáltatást. További információ: Megoldás választása a helyszíni hálózat Azure-hoz való csatlakoztatásához. Másik megoldásként újrabonthatja az alkalmazást, hogy az nyilvánosan elérhető, a helyszíni erőforrások által közzétett API-kat használjon.

Állapítsa meg, hogy használ-e Java Message Service- (JMS-) üzenetsorokat és -témákat

Ha az alkalmazás JMS-üzenetsorokat vagy témaköröket használ, érdemes lehet áttelepíteni őket egy külsőleg üzemeltetett JMS-kiszolgálóra. Az Azure Service Bus és az Advanced Message Queueing Protocol remek migrálási stratégia lehet a JMS-t használóknak. További információkért lásd: A JMS használata az Azure Service Busszal és az AMQP 1.0-val.

Ha a JMS állandó tárolói konfigurálva vannak, Önnek rögzítenie kell azok konfigurációját, majd alkalmaznia a migrálás után.

További információ: Az üzenetkezelés konfigurálása a Red Hat dokumentációjában.

Annak meghatározása, hogy saját, egyénileg létrehozott megosztott Java EE-könyvtárakat használ-e

Ha a megosztott Java EE-könyvtár funkciót használja, két lehetősége van:

  • Bontsa újra az alkalmazás kódját a könyvtárak minden függőségének eltávolításához, majd foglalja közvetlenül az alkalmazásba a funkciókat.
  • Adja hozzá a könyvtárakat a kiszolgáló osztályútvonalához.

Ezeket a kódtárakat a JBoss EAP testreszabási szakaszában ismertetett módszerekkel kezelheti.

Annak meghatározása, hogy az alkalmazás tartalmaz-e az operációs rendszerre vonatkozó kódot

Ha az alkalmazás tartalmaz a gazdagép operációs rendszeréhez tartozó függőségekkel rendelkező kódot, azt Önnek újra kell bontania a függőségek eltávolításához. Előfordulhat például, hogy a File.Separator vagy Paths.get fájlrendszerbeli útvonalakkal rendelkező /- vagy \-előfordulásokat cserélnie kell.

Az Azure Red Hat OpenShift az OpenShift 4-en fut a Red Hat Enterprise Linux CoreOS (RHCOS) operációs rendszerként az összes vezérlősíkhoz és feldolgozó csomóponthoz. Minden operációsrendszer-specifikus kódnak kompatibilisnek kell lennie az RHCOS-jal.

Annak meghatározása, hogy az alkalmazás több WAR-fájlból áll-e

Ha az alkalmazása több WAR-fájlból áll, ezeket különálló alkalmazásként kell kezelnie, és az útmutató lépéseit egyenként elvégeznie mindegyikhez.

Annak megállapítása, hogy az alkalmazás EAR-ként van-e csomagolva

Ha az alkalmazás EAR-fájlként van csomagolva, mindenképpen rögzítse a konfigurációjukat.

Az éles kiszolgálókon futó összes külső folyamat és démon azonosítása

Ha rendelkezik az alkalmazáskiszolgálón kívül futó folyamatokkal, például figyelési démonokkal, ezeket el kell távolítania, vagy máshová kell migrálnia.

Terheléselosztási követelmények figyelembe vétele

A terheléselosztás legjobb módja az App Gateway-integráció használata. További információ: Mi Azure-alkalmazás átjáró?

Áttelepítés

Az ebben a szakaszban ismertetett lépések feltételezik, hogy az elemzés arra késztette, hogy az előre összeállított Azure Marketplace-ajánlat használata mellett döntsön.

Az ajánlat kiépítése

Az ajánlat azure portalon való megnyitásához tekintse meg a JBoss EAP-t az Azure Red Hat OpenShiften. Válassza a Létrehozás lehetőséget, majd kövesse az ajánlat utasításait.

Alkalmazások migrálása

Az ajánlat támogatja a Source-to-Image (S2I) folyamatot egy Java-alkalmazás létrehozására és futtatására a JBoss EAP for OpenShift rendszerképen. A Red Hat egy minta, amely bemutatja, hogyan teheti meg manuálisan, ha később önállóan szeretné üzembe helyezni. További információ: 2. fejezet. Java-alkalmazás létrehozása és futtatása az OpenShift-rendszerképhez készült JBoss EAP-n a Red Hat dokumentációjában.

A migrálás után

A migrálást megelőző folyamatok lépésben meghatározott célok elérése után teljes körű elfogadási tesztelést végezhet, hogy ellenőrizze, hogy minden a várt módon működik. A migrálás utáni lehetséges fejlesztésekről az alábbi cikkekben talál további információt: