Sammenlign løsningerne
Vi har beskrevet de mest almindelige udrulningstyper for Java-programmer. Lad os nu se, hvilken Azure-tjeneste der fungerer bedst, afhængigt af den udrulningstype, du har brug for.
Azure Container Apps
Med Azure Container Apps kan du fokusere på at bygge Java-programmer i objektbeholdere, uanset om det er monolitiske eller mikrotjenester, uden at det er nødvendigt at administrere infrastrukturen. Du kan udrulle JAR'er, WAR'er eller endda kildekode, og platformen optimerer automatisk hukommelse og skalerer dine programmer efter behov. Den integrerer også avancerede diagnosticeringsfunktioner til JVM-fejlfinding og sikrer effektiv ydeevne for dine Java-apps.
Azure Container Apps understøtter også administrerede forårskomponenter, f.eks. Spring Cloud Service Registry og Spring Cloud Config Server, hvilket giver problemfri forårsintegration. Som en del af Azure-økosystemet kan den håndtere arbejdsbelastninger i virksomheden med omkostningseffektiv skalering og avanceret hukommelsesstyring, hvilket gør den ideel til både traditionelle og moderne programarkitekturer.
Azure App Service
Azure App Service er en PaaS-løsning (platform as a service), der leveres af Azure. Den tilbyder en brugervenlig tjeneste til kørsel af Java Web-programmer med automatiske opdateringer og programrettelser til operativsystemet og Java Virtual Machine (JVM) samt automatisk skalering eller overvågning.
App Service kan køre en hvilken som helst eksekverbar JAR-fil, hvilket gør den til et alternativ til Azure Container Apps til kørsel af simple Java-monolitiske programmer.
Det kan også installere ethvert WAR-program oven på populære programservere, f.eks Apache Tomcat eller Red Hat JBoss. Denne mulighed gør det til den bedste løsning til kørsel af Jakarta EE-programmer på Azure.
Azure Functions
Azure Functions er den serveruafhængige platform, der leveres af Azure, og den understøtter kørsel af Java-arbejdsbelastninger.
Kørsel af et Java-program på Azure Functions kræver normalt en mindre konfiguration og konfiguration. Serveruafhængige funktioner har i sagens natur korte liv (typisk nogle få minutter), så nogle af de tjenester, du traditionelt har brugt, er muligvis ikke så effektive eller praktiske som Azure App Service.
Azure Functions er derfor skræddersyet til programmer, der har brug for en stor mængde skalerbarhed. Du kan stoppe dem regelmæssigt for at reducere omkostningerne, og du kan skalere dem op for at reagere på høje belastninger.
Azure Kubernetes Service
Azure Kubernetes Service (AKS) er en administreret og sikret Kubernetes-løsning, der leveres af Azure. Det kan køre et hvilket som helst Docker-billede, og det drager fordel af at tilhøre hele Kubernetes-økosystemet. AKS fungerer godt, hvis du vil levere cloudbaserede programmer på et hvilket som helst sprog, herunder Java.
Azure Kubernetes Service er en fantastisk løsning, hvis du har heterogene arbejdsbelastninger, eller hvis du vil have præcis kontrol over dit miljø. AKS kører Java-arbejdsbelastninger godt, men du skal oprette og vedligeholde dine Docker-billeder.
Azure VM'er
Kørsel af VM'er på Azure giver dig den største fleksibilitet og mange forskellige muligheder. Du kan vælge mellem flere operativsystemer, typisk Windows og de vigtigste Linux-distributioner. Du kan medbringe din egen software eller bruge nogle af de angivne billeder.
Specifikt til Java bruger du hovedsageligt VM'er til at:
- Installér og kør et Java-webprogram manuelt oven på Windows eller Linux.
- Installér og kør Docker eller endda AKS for at køre et billede, der indeholder et Java-webprogram.
- Brug et af de understøttede tilbud, f.eks Oracle WebLogic, til at køre Java-webprogrammer på dine VM'er.
Når du bruger Azure VM'er, er der ingen grænse for, hvad du kan installere og køre, fordi du har fuld kontrol over dem. Den største ulempe ved VM'er er dog, at du skal vedligeholde og sikre dem. For VM'er er dette vedligeholdelsesarbejde dit ansvar.