Porovnání řešení

Dokončeno

Popsali jsme nejběžnější typy nasazení pro aplikace v Javě. Teď se podívejme, která služba Azure může nejlépe fungovat v závislosti na typu nasazení, který potřebujete.

Azure Container Apps (aplikace pro kontejnery)

Azure Container Apps umožňuje soustředit se na vytváření kontejnerizovaných aplikací v Javě, ať už monolitických nebo mikroslužeb, bez nutnosti spravovat infrastrukturu. Můžete nasadit jars, WARs nebo dokonce zdrojový kód a platforma automaticky optimalizuje paměť a škáluje aplikace na základě poptávky. Integruje také pokročilé diagnostické funkce pro řešení potíží s prostředím JVM a zajišťuje efektivní výkon pro vaše aplikace v Javě.

Azure Container Apps také podporuje spravované komponenty Spring, jako je Spring Cloud Service Registry a Spring Cloud Config Server, a poskytuje bezproblémovou integraci Springu. V rámci ekosystému Azure dokáže zpracovávat podnikové úlohy s nákladově efektivním škálováním a sofistikovanou správou paměti, což je ideální pro tradiční i moderní aplikační architektury.

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 této možnosti je nejlepším řešením pro spouštění aplikací Jakarta EE v Azure.

Funkce Azure

Azure Functions je bezserverová platforma poskytovaná Azure a podporuje spouštění úloh v Javě.

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

Díky tomu je Služba Azure Functions přizpůsobená pro aplikace, které potřebují velké množství škálovatelnosti. Můžete je pravidelně zastavit, abyste snížili náklady, a můžete je rozšířit, abyste reagovali na vysoké zatížení.

Azure Kubernetes Service

Azure Kubernetes Service (AKS) je spravované a zabezpečené řešení Kubernetes, které poskytuje Azure. Může spouštět jakoukoli image Dockeru a přináší výhody z toho, že patří do celého ekosystému Kubernetes. AKS funguje dobře, pokud chcete doručovat aplikace nativní pro cloud v libovolném jazyce, včetně Javy.

Azure Kubernetes Service je skvělým řešením, pokud máte heterogenní úlohy nebo chcete mít přesnou kontrolu nad svým prostředím. AKS spouští úlohy Java dobře, ale potřebujete 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 řadu možností. 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ě pro Javu používáte hlavně virtuální počítače k:

  • Nainstalujte a spusťte webovou aplikaci v Javě ručně nad Windows nebo Linuxem.
  • Nainstalujte a spusťte Docker nebo dokonce AKS a spusťte image, která obsahuje webovou aplikaci Java.
  • Pomocí jedné z podporovaných nabídek, jako je Oracle WebLogic, můžete na virtuálních počítačích spouštět webové aplikace Java.

Pokud používáte virtuální počítače Azure, neexistuje žádný limit toho, co můžete nainstalovat a spustit, protože nad nimi máte plnou kontrolu. Hlavní nevýhodou virtuálních počítačů je ale to, že je potřeba je udržovat a zabezpečit. U virtuálních počítačů je tato údržba vaší zodpovědností.