Dela via


Vara värd för program i Azure

Det här är del tre i en serie med 7 artiklar som hjälper utvecklare att komma igång med Azure.

Azure erbjuder en mängd olika sätt att vara värd för ditt program beroende på dina behov. Den här artikeln föreslår tjänster som matchar kraven. Det är inte beskrivande. Du kan blanda och matcha tjänster efter dina behov. De flesta produktionsmiljöer använder en kombination av tjänster för att uppfylla sina affärs- och organisationsbehov.

De tjänster du väljer beror ofta på två saker:

  • Föredrar du enkelhet eller kontroll?
  • Föredrar du molnbaserat (t.ex. containrar) eller Azure-inbyggt (skräddarsydda verktyg och integreringar)

I följande video förklaras det första övervägandet: enkelhet kontra kontroll:

Enkelhet och kontroll

Azures värdtjänster har två saker att tänka på:

  • Enkelhet kontra kontroll
    • Enkla värdplattformar kräver mindre konfiguration och hantering men ger mindre kontroll över den underliggande infrastrukturen.
    • Mer komplexa värdplattformar kräver mer konfiguration och hantering men ger mer kontroll över den underliggande infrastrukturen.
  • Molnbaserat kontra Azure-inbyggt
    • Molnbaserad kan betraktas som molnbaserad med hjälp av arbetsbelastningar med öppen källkod, till exempel containrar och tekniker med öppen källkod, till exempel Dapr. De program som du skapar kan distribueras till valfri molnleverantör.
    • Azure-native är specifikt för Azure med en investering i Azure-specifika verktyg och tekniker för att hantera infrastrukturen. Även om dessa tjänster omfattar containerarbetsbelastningar innehåller de även kod-första,lågkod- och infrastrukturverktyg som är specifika för Azure med betoning på anslutning och integrering mellan Azure-tjänster.

Förenklad värd

Förenklade värdlösningar hanteras helt av Azure. Du ansvarar för funktioner som kod och miljökonfiguration. Azure hanterar den underliggande körningen och infrastrukturen, inklusive uppdateringar och korrigeringar. Förenklad värd är den azure-inbyggda metoden.

Balanserad värd

Balanserade värdlösningar balanserar behovet av enkelhet med behovet av kontroll. Du ansvarar för funktioner som kod och miljökonfiguration. Azure hanterar den underliggande körningen och infrastrukturen, inklusive uppdateringar och korrigeringar. Du kan också ta med din egen container till tjänsten. Balanserad värd är både Azure-inbyggt och molnbaserat.

Kontrollerad värd

Kontrollerade värdlösningar ger dig fullständig kontroll över den underliggande infrastrukturen. Du ansvarar för uppdateringar och korrigeringar samt din kod, dina tillgångar och din miljökonfiguration. Kontrollerad värd är den molnbaserade metoden.

Källkodsvärd

För utvecklare som är nya i Azure och som vill starta ny utveckling använder du följande diagram för att hitta den föreslagna värdlösningen.

Diagram som visar ingen kod, låg kod i den första rutan, kod i den andra rutan och container i den tredje rutan med rekommenderade tjänster för varje ruta.

Ingen kod eller låg kod

Azure Support lösningar utan kod ingår i azure-cloud-metoden.

  • Logic Apps: Använd en visuell designer med fördefinierade åtgärder för att utveckla ett arbetsflöde för dina företags- och affärsscenarier.
  • Power Automate , till exempel Power Apps: Använd när du behöver automatisera affärsprocesser och arbetsflöden i Microsoft 365-organisationen.

Kod kontra container

Värdlösningar med låg kod är utformade så att du kan använda kodfunktionerna utan att behöva hantera programinfrastrukturen.

  • Azure Static Web Apps: distribuera genererade statiska webbappar.
  • Azure Functions: Distribuera kodfunktioner på språk som stöds utan att behöva hantera programinfrastrukturen.

Kod-första värdlösningar är utformade för att vara värd för kod. Du kan distribuera koden direkt till värdlösningen.

De första värdlösningarna för containrar är utformade för att vara värdar för containrar. Tjänsten tillhandahåller containerspecifika konfigurationsalternativ och funktioner. Du ansvarar för den beräkning som används i containern. De tjänster som är värdar för containrar flyttas från hanterad kontroll till fullständigt ansvar så att du bara tar på dig den mängd containerhantering du vill ha.

Kubernetes-centrerad orkestreringsvärd omfattar:

Tjänst Fokus Använd
Azure Kubernetes Service Molnbaserat Använd för Kubernetes-kluster med en deklarativ metod med hjälp av konfigurationsfiler och externa artefakter.
Azure Service Fabric Azure-inbyggt Använd en imperativ metod för att distribuera mikrotjänster mellan kluster av datorer. Den tillhandahåller en programmeringsmodell som gör det möjligt för utvecklare att skriva kod som beskriver systemets önskade tillstånd, och Service Fabric-körningen tar hand om att göra så att systemet matchar det tillståndet.

Förkonfigurerad containervärd innebär att orkestreringsalternativen är förkonfigurerade åt dig. Din möjlighet att kommunicera mellan containrar eller containerkluster kan kräva ytterligare en tjänst, till exempel Dapr.

Tjänst Använd
Azure App Service webbvärdtjänster med full service
Azure Spring Apps Spring Boot-program
Azure Container Apps serverlös containervärd
Azure Container Instances enkel, enkel containervärd

Azure tillhandahåller ett containerregister för att lagra och hantera dina containeravbildningar, eller så kan du använda ett containerregister från tredje part.

Tjänst Använd
Azure Container Registry Använd när du skapar och är värd för dina egna containeravbildningar, som kan utlösas med källkodsincheckningar och basavbildningsuppdateringar.

Utan server

Serverlösa värdlösningar är utformade för att köra tillståndslös kod, som innehåller en förbrukningsbaserad prisnivå som skalar till noll när den inte används.

Tjänst Använd
Azure Container Apps Containervärd.
Azure Functions Kod- eller containervärd.

Mikrotjänster

Värdlösningar för mikrotjänster är utformade för att köra små, oberoende tjänster som fungerar tillsammans för att skapa ett större program. Mikrotjänster distribueras vanligtvis som containrar.

Tjänst Använd
Azure Container Apps Används för serverlösa containerbaserade mikrotjänster.
Azure Functions Används för serverlös kod eller containerbaserade mikrotjänster.

Cloud Edge

Cloud Edge är en term som anger om molntjänsten finns till förmån för användaren (klienten) eller programmet (servern).

Klientberäkning

Klientberäkning är beräkning som körs på klienten bort från Azure-molnet. Klientberäkning används vanligtvis för rendering på klientsidan och bearbetning på klientsidan, till exempel webbläsarbaserade program eller mobila program.

Tjänst Använd
Azure Static Web Apps Används för statiska webbappar som använder återgivning på klientsidan, till exempel React, Angular, Svelte, Vue och Blazor.

Klienttillgänglighet

Tjänst Använd
Azure Front Door Använd för alla internetuppkopplade program för att tillhandahålla ett globalt cachelagrat och säkert nätverk till dina statiska och dynamiska tillgångar, inklusive DDoS-skydd, TLS-kryptering från slutpunkt till slutpunkt, programbrandväggar och geo-filtrering.

Serverberäkning

Serverberäkningstillgångar är filer som bearbetas av servern innan de hanteras till klienten. Dynamiska tillgångar utvecklas med hjälp av serverdatorberäkning, eventuellt integrerat med andra Azure-tjänster.

Tjänst Använd
Azure App Service Använd den här tjänsten för typiska webbvärdar. Detta har stöd för en mängd funktioner för API-slutpunkter, fullstackprogram och bakgrundsuppgifter. Den här tjänsten levereras med många programmeringsspråkkörningar samt möjligheten att tillhandahålla din egen stack, språk eller arbetsbelastning från en container.
Azure Functions Använd den här tjänsten för att tillhandahålla din egen kod på de språk som stöds för antingen HTTP-slutpunkter eller händelsebaserade utlösare från Azure-tjänster.
Azure Spring Apps Använd för att distribuera Spring Boot-program utan kodändringar.
Azure Container Apps Använd för att vara värd för hanterade mikrotjänster och containerbaserade program på en serverlös plattform.
Azure Container Instances Använd detta för enkla containerscenarier som inte behöver containerorkestrering.
Azure Kubernetes Service Använd den här tjänsten när du behöver ett Kubernetes-kluster. Kontrollplanet för att hantera klustret skapas och tillhandahålls utan extra kostnad.

Serverslutpunktshantering

Serverslutpunktshantering är möjligheten att hantera serverslutpunkten och dess beräkning via en gateway. Den här gatewayen innehåller funktioner som versionshantering, cachelagring, transformering, API-principer och övervakning.

Tjänst Använd
Azure API Management Använd den här tjänsten när du produktiserar DINA REST-, OpenAPI- och GraphQL-API:er med en API-gateway, inklusive kvoter och hastighetsgränser, autentisering och auktorisering, transformering och cachelagrade svar.
Azure Application Gateway Används för regional belastningsutjämning (OSI-lager 7). Den kan användas för att dirigera trafik baserat på URL-sökväg eller värdhuvuden och stöder SSL-avlastning, cookiebaserad sessionstillhörighet och WAF-funktioner (Web Application Firewall).
Azure Front Door Använd för global belastningsutjämning (OSI-lager 7) för att tillhandahålla ett globalt cachelagrat och säkert nätverk till dina statiska och dynamiska tillgångar, inklusive DDoS-skydd, TLS-kryptering från slutpunkt till slutpunkt, programbrandväggar och geofiltrering.
Azure Traffic Manager Används för att distribuera trafik med DNS (OSI-lager 7) till dina offentliga program i de globala Azure-regionerna . Traffic Manager använder DNS för att dirigera klientbegäranden till lämplig tjänstslutpunkt baserat på en trafikroutningsmetod. Den stöder olika trafikroutningsmetoder som prioritet, prestanda och geografisk routning. Det är perfekt för att hantera trafik över flera regioner eller datacenter.

Automatiserad beräkning

Automatiserad beräkning automatiseras av en händelse som ett tidsschema eller en annan Azure-tjänst och används vanligtvis för bakgrundsbearbetning, batchbearbetning eller tidskrävande processer.

Tjänst Använd
Power Automate Använd när du behöver automatisera affärsprocesser och arbetsflöden.
Azure Functions Använd när du behöver köra kod baserat på ett tidsschema eller som svar på händelser i andra Azure-tjänster.
Containertjänster (Azure Container Instances, Azure Kubernetes Service, Azure Container Apps) Används för standardautomaterbara arbetsbelastningar
Azure Batch Använd när du behöver automatisering med höga prestanda.

Hybridmoln

Hybridmoln är en databehandlingsmiljö som ansluter ett företags lokala privata molntjänster och offentliga moln från tredje part till en enda flexibel infrastruktur för att köra organisationens program och arbetsbelastningar.

Tjänst Använd
Azure Arc Använd när du behöver hantera hela miljön, både molnresurser och lokala resurser, inklusive säkerhet, styrning, inventering och hantering.

Om du inte behöver underhålla din egen infrastruktur kan du använda Azure Stack HCI för att köra virtuella datorer lokalt.

Högpresterande beräkning

Högpresterande databehandling (HPC) är användningen av parallell bearbetning för att köra avancerade program effektivt, tillförlitligt och snabbt. Termen gäller särskilt för system som fungerar ovanför en teraflop eller 10^12 flyttalsåtgärder per sekund.

Tjänst Använd
Azure Batch Azure Batch skapar och hanterar en pool med beräkningsnoder (virtuella datorer), installerar de program som du vill köra och schemalägger jobb som ska köras på noderna. Utvecklare kan använda Batch som en plattformstjänst för att skapa SaaS-program eller klientprogram där storskalig körning krävs.
Azure BareMetal-instanser Använd när du behöver köra i en icke-virtualiserad miljö med åtkomst på rotnivå till operativsystemet, lagringen och nätverket.
Azure Quantum-arbetsyta Använd när du behöver utveckla och experimentera med kvantalgoritmer.
Microsoft Genomics Används för ISO-certifierad, HIPAA-kompatibel genomisk bearbetning.

Läs mer om databehandling med höga prestanda i Azure.

Händelsebaserad beräkning

Händelsebaserad beräkning är beräkning som utlöses av en händelse, till exempel ett tidsschema eller en annan Azure-tjänst. Händelsebaserad beräkning används vanligtvis för bakgrundsbearbetning, batchbearbetning eller tidskrävande processer.

Tjänst Använd
Power Virtual Agents Använd när du behöver skapa chattrobotar med ett gränssnitt utan kod.
Azure Functions Använd när du behöver köra kod baserat på ett tidsschema eller som svar på händelser i andra Azure-tjänster.
Azure Service Bus-meddelanden Använd när du behöver frikoppla program och tjänster.

CI/CD-beräkning

CI/CD-beräkning är beräkning som används för att skapa och distribuera ditt program.

Tjänst beskrivning
Azure DevOps Använd Azure DevOps för nära integrering med Azure-molnet, inklusive autentisering och auktorisering till de värdbaserade agenterna, som skapar och distribuerar ditt program.
GitHub Actions Använd GitHub Actions för att skapa och distribuera dina GitHub-lagringsplatsprogram. Använd Azure CLI för att få säker åtkomst till Azure i åtgärden.
Azure Virtual Machines Om du använder ett annat CI/CD-system kan du använda Azure Virtual Machines som värd för ditt CI/CD-system.

Java-resurser

Ytterligare resurser