Szerkesztés

Share via


Java-alkalmazások üzemeltetési beállításainak összehasonlítása az Azure-ban

Azure Spring Apps
Azure App Service
Azure Kubernetes Service (AKS)
Azure Virtual Machines

Az Azure számos lehetőséget kínál a csapatok számára Java-alkalmazások létrehozására és üzembe helyezésére. Ez a cikk az Azure-beli Java általános forgatókönyveit ismerteti, és magas szintű tervezési javaslatokat és szempontokat tartalmaz.

Az Apache®, az Apache Kafka, az Apache Struts, az Apache Tomcat és a láng emblémája az Apache Software Foundation bejegyzett védjegyei vagy védjegyei a Egyesült Államok és/vagy más országokban. Az Apache Software Foundation nem támogatja ezeket a jeleket.

Platform

Mielőtt kiválaszt egy felhőforgatókönyvet a Java-alkalmazáshoz, azonosítsa annak platformját. A legtöbb Java-alkalmazás az alábbi platformok egyikét használja:

Spring Boot JAR-alkalmazások

A Spring Boot JAR-alkalmazásokat általában közvetlenül a parancssorból hívják meg. Webes kéréseket kezelnek. Ahelyett, hogy egy alkalmazáskiszolgálóra támaszkodik a HTTP-kérelmek kezelésére, ezek az alkalmazások közvetlenül az alkalmazáscsomagba építik be a HTTP-kommunikációt és más függőségeket. Az ilyen alkalmazások gyakran olyan keretrendszerekkel készülnek, mint a Spring Boot, a Dropwizard, a Micronaut, a MicroProfile és a Vert.x.

Ezek az alkalmazások olyan archívumokba vannak csomagolva, amelyek rendelkeznek a .jar kiterjesztéssel, más néven JAR-fájlokkal.

Spring Cloud-alkalmazások

A mikroszolgáltatás architekturális stílusa egy olyan megközelítés, amely egyetlen alkalmazást fejleszt kis szolgáltatások csomagjaként. Minden szolgáltatás a saját folyamatában fut, és egyszerűsített mechanizmusokkal, gyakran HTTP-erőforrás API-val kommunikál. Ezek a szolgáltatások az üzleti képességek köré épülnek.

Az automatizált üzembehelyezési gépek egymástól függetlenül telepítik ezeket a mikroszolgáltatásokat. Van egy minimális központosított felügyelet, amely különböző programozási nyelveken írható, és különböző adattárolási technológiákat használ. Az ilyen szolgáltatásokat gyakran olyan keretrendszerekkel építik fel, mint a Spring Cloud.

Ezek a szolgáltatások több alkalmazásba vannak csomagolva JAR-fájlokként.

Webes alkalmazások

A webalkalmazások egy servlet-tárolóban futnak. Egyesek közvetlenül a servlet API-kat használják, míg mások más keretrendszereket, amelyek a servlet API-kat foglalják magában, például apache Struts, Spring MVC és JavaServer Faces.

A webalkalmazások olyan archívumokba vannak csomagolva, amelyek rendelkeznek a .war kiterjesztéssel, más néven WAR-fájlokkal.

Jakarta Enterprise kiadás alkalmazások

A Jakarta Enterprise kiadás (Jakarta Enterprise kiadás) alkalmazások a webalkalmazások elemeinek egy részét, egészét vagy egyikét sem tartalmazhatják. A Jakarta Enterprise kiadás specifikációja által meghatározott további összetevőket is tartalmazhatnak és használhatnak. A Jakarta Enterprise kiadás-alkalmazásokat korábban Java Enterprise kiadás vagy J2 Enterprise kiadás-alkalmazásokkéntismerték.

A Jakarta Enterprise kiadás-alkalmazások WAR-fájlokként vagy .ear kiterjesztésű archívumként, más néven EAR-fájlokként csomagolhatók.

A Jakarta Enterprise kiadás alkalmazásokat olyan alkalmazáskiszolgálókon kell üzembe helyezni, amelyek Jakarta Enterprise kiadás kompatibilisek. Ilyen például a WebLogic, a WebSphere, a WildFly, a GlassFish és a Payara.

Azok az alkalmazások, amelyek csak a Jakarta Enterprise kiadás specifikáció által biztosított szolgáltatásokra támaszkodnak, áttelepíthetők egyik megfelelő alkalmazáskiszolgálóról a másikra. Ha az alkalmazás egy adott alkalmazáskiszolgálótól függ, előfordulhat, hogy ki kell választania egy Azure-szolgáltatás célját, amely lehetővé teszi az alkalmazáskiszolgáló üzemeltetését.

Platformbeállítások

Az alábbi táblázat segítségével azonosíthatja az alkalmazástípus lehetséges platformait.

Azure Spring Apps App Service Java Standard kiadás App Service Tomcat App Service JBoss EAP Azure Container-alkalmazások AKS Virtual Machines
Spring Boot-/JAR-alkalmazások
Spring Cloud-alkalmazások
Webalkalmazások
Jakarta Enterprise kiadás alkalmazások
Azure-régió rendelkezésre állása Részletek Részletek Részletek Részletek Részletek Részletek Részletek

Az Azure Kubernetes Service (AKS) és a virtuális gépek minden alkalmazástípust támogatnak, de a következő szakaszban leírtak szerint a csapatnak további feladatokat kell vállalnia.

Támogatási lehetőségek

A platformválasztás mellett a modern Java-alkalmazásoknak más támogatási igényei is lehetnek, például:

Kötegelt vagy ütemezett feladatok

A kérésekre vagy felhasználói bemenetekre való várakozás helyett egyes alkalmazások rövid ideig futnak, futtatnak egy adott számítási feladatot, majd kilépnek. Előfordulhat, hogy az ilyen feladatoknak egyszer vagy rendszeres ütemezett időközönként kell futniuk. A helyszíni feladatokat gyakran meghívják a kiszolgáló cron táblájából.

Ezek az alkalmazások JAR-fájlokként vannak csomagolva.

Feljegyzés

Ha az alkalmazás ütemezőt , például Spring Batchet vagy Quartz-t használ az ütemezett feladatok futtatásához, javasoljuk, hogy ezeket a feladatokat az alkalmazáson kívül is futtassa. Ha az alkalmazás több felhőbeli példányra skálázható, ugyanaz a feladat többször is futtatható. Ha az ütemezési mechanizmus a gazdagép helyi időzónáját használja, előfordulhat, hogy az alkalmazás régiók közötti skálázása nem kívánatos.

Virtuális hálózat integrációja

Amikor java-alkalmazást helyez üzembe a virtuális hálózaton, az kimenő függőségekkel rendelkezik a virtuális hálózaton kívüli szolgáltatásoktól. A felügyelethez és a műveletekhez a projektnek hozzáféréssel kell rendelkeznie bizonyos portokhoz és teljes tartománynevekhez. Az Azure Virtual Networks használatával számos Azure-erőforrását elhelyezheti egy nem internetes, nem internetezhető hálózaton. A virtuális hálózati integrációs funkció lehetővé teszi az alkalmazások számára, hogy hozzáférjenek egy virtuális hálózaton belüli vagy azon keresztüli erőforrásokhoz. A virtuális hálózati integráció nem teszi lehetővé az alkalmazások privát elérését.

Kiszolgáló nélküli fejlesztési modell

A kiszolgáló nélküli egy natív felhőbeli fejlesztési modell, amely lehetővé teszi a fejlesztők számára, hogy kiszolgálók kezelése nélkül építsenek és futtassanak alkalmazásokat. A kiszolgáló nélküli alkalmazások esetében a felhőszolgáltató automatikusan kiépíti, méretezi és kezeli a kód futtatásához szükséges infrastruktúrát. A kiszolgálók továbbra is léteznek a kiszolgáló nélküli modellben. El vannak távolítva az alkalmazásfejlesztéstől.

Tárolóra bontás

A tárolók a szoftverkód összes szükséges összetevőjével, például kódtárakkal, keretrendszerekkel és egyéb függőségekkel együtt csomagolva. Az alkalmazás a saját tárolójában van elkülönítve.

CI/CD

A folyamatos integráció és a folyamatos teljesítés (CI/CD) egy módszer az alkalmazások ügyfeleknek való gyakori továbbítására az automatizálás alkalmazásfejlesztésének fázisaiba való bevezetésével. A CI/CD fő fogalmai a folyamatos integráció, a folyamatos teljesítés és a folyamatos üzembe helyezés. Az Összes Azure-választási lehetőség támogatja a legtöbb CI/CD-eszközt. Használhat például olyan megoldásokat, mint az Azure Pipelines vagy a Jenkins.

Nyílt forráskódú keresőmotor

A keresések minden alkalmazás szerves részei. Ha a sebesség, a teljesítmény és a magas rendelkezésre állás kritikus fontosságú, a terabájtos és petabájtos adatok keresése kihívást jelenthet. Ha Java-alkalmazásokat üzemeltet az Azure-ban, tervezze meg a kapcsolódó Solr- és Elasticsearch-példányok üzemeltetését. Másik lehetőségként fontolja meg az Azure Cognitive Searchbe való migrálást.

Big data-eszközök

A big data-eszközök lehetővé teszik az adatfolyam automatizálását a szoftverrendszerek között. A skálázható, robusztus és egyszerűsített adatútvonal-gráfokat és a rendszerközvetítési logikát támogatják. Ezeket élő adatfolyam-folyamatok létrehozására és alkalmazások streamelésére használják. Megtudhatja, hogyan felelhet meg az Igényeinek a Nifi és az Apache Kafka az Azure-ban.

Támogatási lehetőségek

Az alábbi táblázat segítségével azonosíthatja az alkalmazástípus lehetséges lehetőségeit. Az AKS és a virtuális gépek minden alkalmazástípust támogatnak, de a csapatnak több felelősséget kell vállalnia.

Azure Spring Apps App Service Java Standard kiadás App Service Tomcat App Service JBoss EAP Azure Container-alkalmazások AKS Virtual Machines
Kötegelt vagy ütemezett feladatok
Virtuális hálózat integrációja
Kiszolgáló nélküli
Tárolóra ásás
Azure-régió rendelkezésre állása Részletek Részletek Részletek Részletek Részletek Részletek Részletek

Tekintse meg ezt a döntési fát is.

Az ábrán a Java döntési fája látható az Azure-szolgáltatásokban.

Töltse le a diagram Visio-fájlját.

Java-alkalmazások létrehozása vagy migrálása

A Java-alkalmazások létrehozásához vagy migrálásához azonosítsa az alkalmazások Java-platformját. Néhány népszerű platform a Java Standard kiadás, a Jakarta Enterprise kiadás és a MicroProfile.

Java SE

A Java Platform, Standard kiadás (Java Standard kiadás) egy olyan számítástechnikai platform, amely asztali és kiszolgálói környezetekhez készült hordozható kódokat fejleszt és helyez üzembe. A Java-Standard kiadás alapuló népszerű projektek közé tartozik a Spring Boot, a Spring Cloud, a Spring Framework és az Apache Tomcat.

Jakarta EE

A Jakarta Enterprise kiadás a natív felhőbeli Java nyílt forráskód jövője. Ez egy olyan specifikációkészlet, amely kibővíti a Java Standard kiadás olyan nagyvállalati funkciókkal, mint az elosztott számítástechnika és a webszolgáltatások. A Jakarta Enterprise kiadás alkalmazások referencia-futtatókörnyezeteket futtatnak. Ezek a futtatókörnyezetek lehetnek mikroszolgáltatások vagy alkalmazáskiszolgálók. Kezelik az alkalmazás által telepített összetevők tranzakcióit, biztonságát, méretezhetőségét, egyidejűségét és felügyeletét.

A MicroProfile

A MicroProfile projekt olyan specifikációk gyűjteményét biztosítja, amelyek segítenek a fejlesztőknek natív nagyvállalati Java-felhőbeli mikroszolgáltatások létrehozásában. A Quarkus és az Open Liberty a MicroProfile népszerű implementációi.

Összegzés összeállítása vagy migrálása

Az alábbi táblázat alkalmazástípus és Azure-szolgáltatás szerinti buildelési vagy migrálási információkat tartalmaz.

Típus Java SE A MicroProfile Jarkarta Standard kiadás
Virtuális gép IaaS
VMware Tanzu IaaS
Azure Kubernetes Service Tároló
Red Hat OpenShift Tároló
Azure Container App PaaS
JBoss EAP PaaS App Service
Apache Tomcat PaaS App Service
Java-Standard kiadás PaaS App Service
Azure Spring Apps PaaS

Közreműködők

Ezt a cikket a Microsoft tartja karban. Eredetileg a következő közreműködők írták.

Fő szerzők:

A nem nyilvános LinkedIn-profilok megtekintéséhez jelentkezzen be a LinkedInbe.

Következő lépések