De oplossingen vergelijken

Voltooid

We hebben de meest voorkomende implementatietypen voor Java-toepassingen beschreven. Laten we nu eens kijken welke Azure-service het beste kan werken, afhankelijk van het implementatietype dat u nodig hebt.

Azure Container Apps

Met Azure Container Apps kunt u zich richten op het bouwen van in containers geplaatste Java-toepassingen, zowel monolithische als microservices, zonder dat u de infrastructuur hoeft te beheren. U kunt JAR's, WAR's of zelfs broncode implementeren en het platform optimaliseert automatisch het geheugen en schaalt uw toepassingen op basis van vraag. Het integreert ook geavanceerde diagnostische functies voor het oplossen van problemen met JVM en zorgt voor efficiënte prestaties voor uw Java-apps.

Azure Container Apps biedt ook ondersteuning voor beheerde Spring-onderdelen, zoals Spring Cloud Service Registry en Spring Cloud Config Server, waardoor naadloze Spring-integratie mogelijk is. Als onderdeel van het Azure-ecosysteem kan het zakelijke workloads verwerken met rendabel schalen en geavanceerd geheugenbeheer, waardoor het ideaal is voor zowel traditionele als moderne toepassingsarchitecturen.

Azure App Service

Azure App Service is een PaaS-oplossing (Platform as a Service) die wordt geleverd door Azure. Het biedt een gebruiksvriendelijke service voor het uitvoeren van Java-webtoepassingen met automatische updates en patches voor besturingssystemen en Java Virtual Machine (JVM), evenals automatische schaalaanpassing of bewaking.

App Service kan elk uitvoerbaar JAR-bestand uitvoeren, waardoor het een alternatief is voor Azure Container Apps voor het uitvoeren van eenvoudige Monolithische Java-toepassingen.

Het kan ook elke WAR-toepassing implementeren op populaire toepassingsservers, zoals Apache Tomcat of Red Hat JBoss. Deze mogelijkheid maakt het de beste oplossing voor het uitvoeren van Jakarta EE-toepassingen in Azure.

Azure Functions

Azure Functions is het serverloze platform dat wordt geleverd door Azure en biedt ondersteuning voor het uitvoeren van Java-workloads.

Voor het uitvoeren van een Java-toepassing in Azure Functions is meestal een kleine configuratie en installatie vereist. Naar hun aard hebben serverloze functies korte levensduur (meestal een paar minuten), dus sommige services die u traditioneel zou gebruiken, zijn mogelijk niet zo efficiënt of praktisch als Azure App Service.

Als gevolg hiervan is Azure Functions afgestemd op toepassingen die een grote hoeveelheid schaalbaarheid nodig hebben. U kunt ze regelmatig stoppen om de kosten te verlagen en u kunt ze omhoog schalen om te reageren op hoge belastingen.

Azure Kubernetes Service

Azure Kubernetes Service (AKS) is een beheerde en beveiligde Kubernetes-oplossing die wordt geleverd door Azure. Het kan elke Docker-image uitvoeren en profiteert van het behoren tot het gehele Kubernetes-ecosysteem. AKS werkt goed als u cloudeigen toepassingen in elke taal wilt leveren, met inbegrip van Java.

Azure Kubernetes Service is een uitstekende oplossing als u heterogene workloads hebt of als u nauwkeurige controle wilt over uw omgeving. AKS voert Java-workloads goed uit, maar u moet uw Docker-installatiekopieën bouwen en onderhouden.

Virtuele Azure-machines

Het uitvoeren van VM's in Azure biedt u de grootste flexibiliteit en verscheidenheid aan opties. U kunt kiezen tussen meerdere besturingssystemen, meestal Windows en de belangrijkste Linux-distributies. U kunt uw eigen software gebruiken of een aantal van de meegeleverde installatiekopieën gebruiken.

Voor Java gebruikt u voornamelijk VM's om het volgende te doen:

  • Installeer en voer handmatig een Java-webtoepassing uit boven op Windows of Linux.
  • Installeer Docker of zelfs AKS om een image uit te voeren die een Java-webtoepassing bevat.
  • Gebruik een van de ondersteunde aanbiedingen, zoals Oracle WebLogic, om Java-webtoepassingen uit te voeren op uw VM's.

Wanneer u azure-VM's gebruikt, is er geen limiet voor wat u kunt installeren en uitvoeren, omdat u volledige controle over deze machines hebt. Het belangrijkste nadeel van VM's is echter dat u ze moet onderhouden en beveiligen. Voor VM's is dit onderhoudswerk uw verantwoordelijkheid.