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.
- Del 1: Översikt över Azure för utvecklare
- Del 2: Viktiga Azure-tjänster för utvecklare
- Del 3: Värdprogram i Azure
- Del 4: Ansluta din app till Azure-tjänster
- Del 5: Hur gör jag för att skapa och hantera resurser i Azure?
- Del 6: Viktiga begrepp för att skapa Azure-appar
- Del 7: Hur debiteras jag?
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.
- Logic Apps: Skapa och köra automatiserade arbetsflöden med lite eller ingen kod.
- Power Automate: Använd när du behöver automatisera affärsprocesser och arbetsflöden.
- Azure Static Web Apps: Distribuera genererade statiska webbappar som Blazor och React.
- Azure Functions Apps: serverlös kod eller containervärd.
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.
- Azure App Service: Webbvärdar med fullständig tjänst, inklusive språkkörningar, containrar och automationsarbetsbelastningar.
- Azure Container Apps: Serverlös containervärd.
- Azure Spring Apps: Migrera Spring Boot-program till Azure-molnet.
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.
- Virtuella Azure-datorer: Fullständig kontroll över den virtuella datorn.
- Azure Kubernetes Service: Fullständig kontroll över Kubernetes-kluster.
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.
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.
- Azure App Service: webbvärd för full service.
- Azure Spring Apps: Spring Boot-program.
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. |