Sdílet prostřednictvím


Nasazení aplikací v Javě s jistotou a jednoduchostí

Ekosystém Javy zahrnuje různorodé technologie, jako je Java SE, Jakarta EE (následník Java EE a J2EE), Spring, řada aplikačních serverů a dalších architektur. Ať už s Javou děláte cokoli – vytváříte aplikaci, používáte architekturu a provozujete aplikační server – podpora Azure úlohy s množstvím možností výběru. Podobně podpora Azure libovolnou aplikační architekturu – od monolitických aplikací běžících na virtuálních počítačích nebo v kontejnerech až po aplikace založené na cloudu, které běží na plně spravovaných službách.

Pokud chcete aplikaci v Javě spustit, obvykle ji nasadíte na aplikační server – instanci prostředí Java Virtual Machine (JVM), která spouští vaše aplikace. Nebo můžete vytvořit samostatnou aplikaci s vloženým aplikačním serverem. Aplikační server v obou směrech poskytuje společnou aplikační infrastrukturu a funkční funkce a spolupracuje s webovými kontejnery, aby vrátil dynamickou a přizpůsobenou odpověď na požadavek klienta. Požadavek klienta lze zpracovat pomocí softwarových komponent, které mohou zahrnovat servlety, dynamické stránky, podnikové boby, podpůrné třídy, závislé knihovny a datové ovladače.

Oblíbené aplikační servery jsou Tomcat, JBoss EAP, WildFly, WebLogic a WebSphere. Podobně spring Boot, Quarkus a Open Liberty jsou oblíbené architektury pro vytváření samostatných aplikací s vloženými aplikačními servery. podpora Azure je všechny, abyste mohli používat libovolný aplikační server Java a nasazovat aplikaci v Javě s jistotou a jednoduchostí.

Nasazení aplikace Spring Boot nebo Javy na libovolný aplikační server – Tomcat a Jakarta EE

V Azure můžete spouštět libovolnou verzi a jakoukoli distribuci Javy a libovolného aplikačního serveru bez omezení a bez nutnosti spravovat vlastní fyzickou infrastrukturu. Rozhodnete se, kolik ovládacího prvku chcete nebo kolik každodenní správy chcete, aby azure zvládla s možnostmi, jako jsou virtuální počítače, kontejnery a plně spravované služby. Pokud používáte komerčně podporované aplikační servery nebo architektury v Javě, jako jsou VMware Spring Runtime, Red Hat JBoss EAP, Oracle WebLogic Server nebo IBM WebSphere, Liberty nebo OpenLiberty, azure nabízí společně vyvinuté a podporované nabídky pro všechny.

Možnosti nasazení

Azure poskytuje spoustu možností nasazení pro aplikace v Javě, včetně hostitelských služeb typu infrastruktura jako služba (IaaS), kontejnerů jako služby (CaaS) a služeb typu platforma jako služba (PaaS). Stávající aplikace v Javě můžete přenést na virtuální počítače, kontejnerizovat je několika způsoby nebo je nasadit do plně spravovaných služeb PaaS, abyste optimalizovali snadnou správu, produktivitu vývojářů a provozní produktivitu a celkové náklady na vlastnictví.

Virtuální počítače a kontejnery

Při nasazování do virtuálních počítačů nebo kontejnerů v Azure můžete používat libovolnou distribuci a verzi Javy a libovolného aplikačního serveru. Volba je zcela na vás. Nezapomeňte, že musíte infrastrukturu a její komponenty nakonfigurovat ručně. Mezi možnosti nasazení, které spadají do této kategorie, patří:

  • Virtuální počítače Azure, které poskytují flexibilitu virtualizace, aniž byste museli kupovat a udržovat fyzický hardware, na kterém běží. Virtuální počítač ale stále potřebujete udržovat instalací, konfigurací a opravou softwaru, který na něm běží.

  • Škálovací sady virtuálních počítačů Azure, které umožňují vytvářet a spravovat skupinu virtuálních počítačů s vyrovnáváním zatížení. Počet instancí virtuálních počítačů se může automaticky zvyšovat nebo snižovat v reakci na poptávku nebo podle určeného rozvrhu.

  • Azure Kubernetes Service (AKS), což zjednodušuje nasazení spravovaného clusteru Kubernetes tím, že za vás zpracovává veškeré provozní režie – včetně důležitých úloh, jako je údržba a monitorování stavu. AKS podporuje elastické zřizování kapacity, včetně automatického škálování řízeného událostmi a triggerů KEDA.

  • Azure Red Hat OpenShift, který poskytuje vysoce dostupné plně spravované clustery OpenShift na vyžádání. OpenShift poskytuje funkce s přidanou hodnotou, které doplňují Kubernetes. Jedná se o platformu kontejneru na klíč, která poskytuje vylepšené prostředí pro vývojáře a operátory.

I když můžete nasadit jakýkoli modul runtime Java na všechny tyto služby IaaS a CaaS, doporučujeme použít jeden z následujících modulů runtime:

Obě tyto buildy jsou k dispozici zdarma pro místní vývoj a testování a pro sestavování binárních souborů připravených pro produkční prostředí pomocí jakékoli platformy nebo nástrojů DevOps – bez nutnosti platit žádné licenční poplatky. Doporučujeme je jako součást pohodlí. Pokud používáte některý z těchto buildů, máte-li nějaké problémy a máte opravňující plán podpory pro Azure, můžete otevřít lístek podpora Azure – bez dalších nákladů. To znamená, že stojí za to zdůraznit, že tato doporučení jsou jen ta – možnosti, které doporučujeme mezi různými dalšími volně dostupnými buildy OpenJDK pro usnadnění podpory. Další informace najdete v tématu Podpora Javy v Azure a Azure Stacku.

Diagram s nadpisem Sestavení nebo migrace aplikací v Javě a grafem znázorňujícím vztah mezi technologiemi Java a kategoriemi služeb Azure

Všechny tyto možnosti nasazení IaaS a CaaS umožňují snadno nasadit aplikační server Apache Tomcat. Pokud používáte komerční nabídku , jako je Spring Runtime z VMware, JBoss EAP z Red Hatu, WebLogic Server od Oracle nebo WebSphere od IBM – Azure nabízí společně vyvinuté a podporované možnosti hostování od těchto dodavatelů. Probírají se později v rámci společně sestavených a podporovaných řešení s ekosystémovými partnery v Javě.

Plně spravované služby (PaaS)

Plně spravované služby PaaS pro spouštění aplikací v Javě v Azure zahrnují následující možnosti:

  • Azure Container Apps, která umožňuje spouštět mikroslužby a kontejnerizované aplikace na bezserverové platformě. Mezi běžná použití patří nasazení koncových bodů rozhraní API, hostování aplikací pro zpracování na pozadí, zpracování zpracování řízeného událostmi a spouštění mikroslužeb. Aplikace založené na azure Container Apps se můžou dynamicky škálovat na základě provozu HTTP, zpracování řízeného událostmi, procesoru nebo zatížení paměti nebo libovolného škálovače podporovaného keda.
  • Aplikace Azure Služba, služba založená na protokolu HTTP pro hostování webových aplikací, rozhraní REST API a mobilních back-endů – s integrovaným zabezpečením, vyrovnáváním zatížení, automatickým škálováním a automatizovanou správou. App Service také podporuje komplexní funkce DevOps, jako jsou průběžné nasazování, správa balíčků, pracovní prostředí, vlastní domény a certifikáty TLS/SSL.

Moduly runtime Java pro službu Aplikace Azure Service a pro Azure Container Apps nasazené jako kód nebo binární soubory (JAR/WAR) poskytují a spravují Microsoft. Podporují pouze distribuce LTS sady OpenJDK pomocí Eclipse Adoptium Temurin pro Javu 8 a microsoft buildu OpenJDK pro Javu 11 a 17. To znamená, že existuje několik upozornění – například naše společně vyvinuté a podporované partnerské nabídky (probírané později) používají vlastní moduly runtime.

Pro Azure Container Apps sestavené z vlastních imagí kontejnerů, protože potřebujete vytvářet a spravovat vlastní image kontejnerů ze zdrojového kódu, můžete použít distribuci a verzi Javy – a aplikačního serveru – podle vašeho výběru.

Bezserverové funkce

Někdy nepotřebujete celou aplikaci v Javě. Například pro zpracování dat v reálném čase můžete potřebovat jen malý kód, který se dá aktivovat ve velkém měřítku – třeba miliony a miliony událostí. Tyto události je možné přijímat prostřednictvím služby Azure Event Hubs, zpracovávat bezserverový kód Java řízený událostmi spuštěný ve velkém měřítku ve službě Azure Functions a ukládat je do úložiště dat, jako je Azure Cosmos DB.

Společně vytvořená a podporovaná řešení s partnery ekosystému Javy

Microsoft spolupracuje s předními dodavateli ekosystému Javy, aby poskytoval nejlepší řešení pro provozování Javy v Azure – od společně vyvinutých a podporovaných spravovaných služeb až po nabídky Azure Marketplace pro oblíbené aplikační servery v Javě. Také jsme integrují oblíbené nástroje pro monitorování aplikací, které jsou popsané dále v této dokumentaci.

Diagram s nadpisem Využití výhod našeho silného partnerského ekosystému a log pro partnery popsané v tomto článku

JBoss EAP (Red Hat)

Red Hat poskytuje opensourcová řešení pro podnik. Jedním z takových řešení je platforma JBoss Enterprise Application Platform (EAP), oblíbená aplikační serverová platforma, která je certifikovaná java EE a Jakarta EE kompatibilní s webovým profilem i úplnou platformou. Red Hat je také přispěvatelem pro standardy Java , OpenJDK, MicroProfile, Jakarta EE a Quarkus.

Ve spolupráci s Red Hatem jsme doručili platformu EAP (Red Hat JBoss Enterprise Application Platform) ve službě Aplikace Azure Service . Umožňuje vývojářům v Javě nasazovat aplikace Jakarta EE do služby App Service bez nutnosti samostatného předplatného nebo licence Red Hat s integrovanou podporou obou společností. Spustili jsme také podobné společné nabídky pro JBoss EAP na virtuálních počítačích Azure, ve škálovacích sadách virtuálních počítačů Azure a v Azure RedHat OpenShift (ARO) – druhá také společně provozovaná Microsoftem a Red Hatem.

WebLogic Server (Oracle)

Spolupracujeme s Oraclem a doručili jsme Oracle WebLogic Server (WLS) na virtuálních počítačích Azure a Na Serveru Oracle WebLogic ve službě Azure Kubernetes Service. Tato řešení usnadňují snadnou migraci do Azure tím, že automatizují často používané operace, jako je zřizování virtuálních sítí/ úložiště, instalace prostředků Linuxu/Javy, nastavení Serveru WebLogic a konfigurace zabezpečení se skupinou zabezpečení sítě.

WebSphere/Liberty/Open Liberty (IBM)

Spolupracujeme s IBM a společně vyvíjíme řešení pro Aplikační server WebSphere (WAS) na virtuálních počítačích Azure, WebSphere Liberty a Open Liberty ve službě Azure Kubernetes Service a WebSphere Liberty a Open Liberty v Azure Red Hat OpenShiftu. Další informace najdete v tématu Co jsou řešení pro spuštění řady produktů IBM WebSphere v Azure? Tato řešení umožňují snadnou migraci úloh WebSphere do Azure a automatizují většinu úloh zřizování prostředků potřebných k nastavení vysoce dostupného clusteru WebSphere. Partnerství zahrnuje celou řadu případů použití – od stávajících důležitých úloh až po aplikace nativní pro cloud.

Apache Kafka v Confluent Cloudu (Confluent)

V minulosti museli zákazníci Azure, kteří chtěli používat službu Confluent Kafka, vytvářet a spravovat prostředky a uživatele samostatně v Azure a Confluent Cloudu. Abychom tuto bolest usnadnili, společnost Confluent a partner Microsoftu, aby poskytovaly Apache Kafka pro Confluent Cloud, nabídku Azure Marketplace, která poskytuje Apache Kafka jako plně spravovanou službu , včetně možnosti vytvářet a spravovat prostředky Confluent Cloudu prostřednictvím webu Azure Portal, Azure CLI nebo sad SDK pro správu Azure.

Dnes je prostředí pro zákazníky jednodušší, bezpečnější a plynulejší. Zákazníci můžou zřizovat a spravovat prostředky Confluent Cloudu spolu s prostředky Azure jako součást jednotného pracovního postupu – a využívat výhod plně spravovaných konektorů vytvořených pro Azure Functions, Azure Blob Storage, Azure Event Hubs, Azure Data Lake Storage Gen2 a Microsoft SQL Server. Vývojáři můžou dál kódovat pomocí klientských knihoven Apache Kafka.

Shrnutí

Společný vývoj s partnery pro mnoho z těchto nabídek je průběžné a průběžné úsilí. Vzhledem k tomu, že naši partneři stále inovují své nabídky, úzce s nimi spolupracujeme na rychlém uvedení těchto inovací do Azure, aby zákazníci mohli nasazovat a škálovat své aplikace v Javě s jistotou a jednoduchostí.

Stručně řečeno, podpora Azure úlohy s množstvím možností výběru bez ohledu na to, co s Javou děláte. Můžete vytvářet libovolnou aplikaci v Javě, používat libovolnou architekturu, spouštět libovolný aplikační server a podporovat jakoukoli architekturu aplikací – od monolitických aplikací běžících na virtuálních počítačích nebo v kontejnerech až po aplikace založené na cloudu, které běží na plně spravovaných službách.

Diagram s nadpisem Nasazení aplikací v Javě s jistotou a jednoduchostí a logy pro možnosti nasazení popsané v tomto článku

Další krok

Škálování s komplexním zabezpečením, monitorováním a automatizací