Porovnání řešení

Dokončeno

Popsali jsme nejpoužívanější typy nasazení aplikací Java. Teď zjistíme, která služba Azure bude nejlépe fungovat v závislosti na typu nasazení, které potřebujete.

Azure Container Apps

Azure Container Apps je spravovaná služba, která spouští kontejnery Dockeru.

Azure Container Apps může spustit libovolnou aplikaci v Javě, když je zabalená jako image Dockeru (včetně aplikací Tomcat, Spring Boot a Quarkus). Vytváření a správa těchto imagí je vaší zodpovědností (například pomocí GitHub Actions): To vám dává velkou flexibilitu, ale vyžaduje také určitou údržbu.

Jedná se o nákladově efektivní a škálovatelné řešení, díky kterému je skvělou volbou pro malé a střední úlohy.

Pro spuštění monolitické aplikace Java založené na kontejneru je proto nejlepší volbou Azure Container Apps.

Azure App Service

Azure App Service je řešení typu platforma jako služba (PaaS), které poskytuje Azure. Nabízí snadno použitelnou službu pro spouštění webových aplikací v Javě s automatickými aktualizacemi a opravami operačního systému a prostředí Java Virtual Machine (JVM), stejně jako automatické škálování nebo monitorování.

App Service může spustit jakýkoli spustitelný soubor JAR, což z něj dělá alternativu ke službě Azure Container Apps pro spouštění jednoduchých monolitických aplikací v Javě.

Může také nasadit libovolnou aplikaci WAR nad oblíbené aplikační servery, jako je Apache Tomcat nebo Red Hat JBoss. Díky tomu je nejlepším řešením pro spouštění aplikací Jakarta EE v Azure.

Azure Functions

Azure Functions je bezserverová platforma poskytovaná Azure, která podporuje provozování úloh v jazyce Java.

Provozování aplikace Java ve službě Azure Functions obvykle vyžaduje určitou menší konfiguraci a instalaci. Bezserverové funkce mají podle své povahy krátké životnosti (obvykle jen pár minut), takže některé služby, které byste tradičně používali, nemusí být tak efektivní nebo praktické jako služba Aplikace Azure Service.

Proto se Azure Functions hodí pro aplikace, které potřebují značnou škálovatelnost. Můžete je pravidelně zastavovat kvůli snížení nákladů a můžete je škálovat tak, aby dokázaly reagovat na vysoké zatížení.

Azure Spring Apps

Azure Spring Apps je jedinečná služba Azure, která poskytuje řešení platformy jako služby pro spouštění mikroslužeb Spring Boot. Spring Cloud poskytuje mnoho nástrojů, jako je například registr služeb nebo konfigurační server. Poskytuje také specifické mechanismy automatického škálování a zabezpečení, které výrazně zjednodušují používání architektury mikroslužeb založené na Spring Boot.

Nabídka Spring Cloud je vytvořená a spravovaná společně společností Microsoft a Broadcom, která vytváří Spring Framework. Spring Cloud poskytuje podporu pro aktualizace a opravy operačního systému i prostředí JVM, jako je Azure App Service, a pro pokročilé služby platformy Spring.

Službu Azure Spring Apps můžete použít také ke spouštění jiných úloh, jako jsou monolitické aplikace Spring Boot nebo dokonce mikroslužby .NET, které používají Steeltoe, ale služba se používá hlavně ke spouštění mikroslužeb Spring Boot.

Azure Kubernetes Service

Služba AKS (Azure Kubernetes Service) je spravované a zabezpečené řešení Kubernetes poskytované Azure. Dokáže spustit libovolnou image Dockeru a využívá výhody celého ekosystému Kubernetes. Služba AKS funguje dobře, pokud chcete doručovat nativní cloudové aplikace v libovolném jazyce včetně jazyka Java.

Služba Azure Kubernetes Service je ideální řešení, pokud máte heterogenní úlohy nebo pokud chcete mít dokonalou kontrolu nad svým prostředím. Služba AKS dokáže dobře provozovat úlohy Java, budete ale muset sestavovat a udržovat image Dockeru.

Virtuální počítače Azure

Provozování virtuálních počítačů v Azure vám poskytuje největší flexibilitu a nejrůznější možnosti. Můžete si vybrat mezi několika operačními systémy, obvykle Windows a hlavními distribucemi Linuxu. Můžete si přinést vlastní software nebo použít některé z poskytnutých imagí.

Konkrétně v případě jazyka Java používáte virtuální počítače hlavně k následujícím účelům:

  • Ruční instalace a provozování webové aplikace v jazyce Java v systému Windows nebo Linux.
  • Instalace a provozování Dockeru nebo dokonce služby AKS ke spouštění image, která obsahuje webovou aplikaci v jazyce Java.
  • Použití jedné z podporovaných nabídek, jako je například Oracle WebLogic, k provozování webových aplikací v jazyce Java na vašich virtuálních počítačích.

Když používáte virtuální počítače Azure, neexistuje žádné omezení pro to, co můžete instalovat a spouštět, protože tyto virtuální počítače plně kontrolujete. Hlavní nevýhodou virtuálních počítačů však je, že je budete muset udržovat a zabezpečit. V případě virtuálních počítačů je tato údržba vaší zodpovědností.