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 Spring Apps, což usnadňuje nasazování aplikací Spring Boot do Azure bez jakýchkoli změn kódu. Služba spravuje veškerou infrastrukturu pro aplikace Spring Boot. Tato infrastruktura zahrnuje komplexní monitorování a diagnostiku, správu konfigurace, zjišťování služeb, zabezpečení, životní cyklus aplikací, protokoly publikování a metriky, integraci CI/CD, modrá-zelená nasazení a další. Platforma Azure Spring Apps je vytvořená ve spolupráci s Pivotalem (nyní součástí VMware), kterou společně provozuje a podporuje Microsoft a VMware.
  • 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.
  • 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.

Moduly runtime Java pro Azure Spring Apps a službu Aplikace Azure Service 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, 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 svého 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 Silný ekosystém partnerů a logy pro partnery popsané v tomto článku

Azure Spring Apps (pivotální/ VMware)

Společně vyvinuté Microsoftem a Pivotalem je azure Spring Apps plně spravovaná služba, která řeší řadu běžných problémů vývojářů, operátorů IT a týmů DevOps při spouštění aplikací Spring Boot ve velkém měřítku. Abstrahuje složitost správy infrastruktury pro spouštění aplikací založených na Springu a komponent middlewaru Spring Cloud, což vývojářům v Javě umožňuje soustředit se na jejich kód a zároveň umožnit Azure starat se o dynamické škálování, opravy zabezpečení, standardy dodržování předpisů, vysokou dostupnost atd.

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í