Azure App Service, een virtuele machine of containers: waar moet uw .NET-applicatie draaien?
Verhuist u een .NET-applicatie naar Azure? Wie wat patcht bij App Service, een VM en Container Apps, wat het u op termijn kost en hoe u per applicatie kiest.
Vlado Pandžić · Oprichter · Senior .NET-architect
Gepubliceerd · 4 min lezen
Inhoud
Als een .NET-applicatie een oude server verlaat, is de eerste vraag waar ze daarna draait. In Azure zijn er voor een bedrijfsapplicatie drie realistische antwoorden: een virtuele machine, App Service of Container Apps. De meest gemaakte fout is de virtuele machine kiezen omdat die vertrouwd voelt, en dan dezelfde oude server draaien, alleen gehuurd.
Wie doet wat
| Virtuele machine | App Service | Container Apps | |
|---|---|---|---|
| Wie patcht het besturingssysteem | U | Azure | Azure |
| Wat u beheert | Alles vanaf Windows | Uw applicatie en haar instellingen | Uw container en zijn instellingen |
| Schalen | Een grotere machine, of meer machines die u zelf inricht | Meer instanties met een instelling | Automatisch, tot nul als er niets te doen is |
| Hoe u betaalt | Dag en nacht, gebruikt of niet | Voor het plan, dag en nacht | Naar gebruik; niets zolang op nul geschaald |
| Past het best | Applicaties die iets nodig hebben wat alleen een volledige server biedt | De meeste webapplicaties en API’s | Services in containers, achtergrondtaken, onregelmatige belasting |
App Service draait op Windows-plannen zowel modern .NET als oudere ASP.NET-applicaties op .NET Framework. U hoeft de migratie naar .NET 10 niet af te ronden voordat u naar Azure gaat.
Wanneer een virtuele machine
- De applicatie heeft geïnstalleerde software nodig, COM-componenten of Windows-services die App Service niet toestaat.
- Ze leunt op specifieke instellingen van het besturingssysteem of volledige toegang tot het bestandssysteem.
- U moet snel van een oude server af, en de echte verhuizing komt later.
Wees u alleen bewust van wat u krijgt: dezelfde verantwoordelijkheden als op uw eigen server. Updates, back-ups, monitoring en beveiliging blijven bij u. Was een oude Windows Server de reden om te verhuizen, zoals bij Windows Server 2012 R2, dan lost een VM met een nieuwe Windows de datum op, niet het werk.
Wanneer App Service
Voor de meeste .NET-webapplicaties en API’s is dit het standaardantwoord. Azure patcht het besturingssysteem en de runtime, u deployt de applicatie, en uitschalen is een instelling.
Eén functie rechtvaardigt het vaak al: deployment slots. Een nieuwe versie wordt in een staging-slot gezet, daar gecontroleerd en dan zonder downtime met productie gewisseld. Gaat er iets mis, dan wisselt u terug.
az webapp deployment slot swap \
--resource-group orders-rg --name orders-app \
--slot staging --target-slot production
De gebruikelijke valkuil is de grootte van het plan. Een te groot plan kost elk uur van elke dag. Waar het geld meestal heen gaat, leest u in ons artikel over Azure-kosten verlagen.
Wanneer Container Apps
- De applicatie draait al in Docker, of u wilt dat ze dat doet.
- Achtergrondwerk dat af en toe draait: imports, rapporten, het verwerken van wachtrijen.
- Onregelmatige belasting. Een container app kan naar nul schalen, en zolang ze op nul staat, betaalt u geen gebruikskosten.
Kubernetes (AKS) is de volgende stap, en voor één of twee bedrijfsapplicaties loont het extra beheerwerk zelden. Het is zinvol voor teams die veel services draaien.
De volgorde die werkt
- Stap 1Inventarisatie: wat elke applicatie nodig heeft
- Stap 2Doel kiezen per applicatie
- Stap 3Eerst de testomgeving
- Stap 4Productie, met monitoring vanaf dag één
Kies per applicatie, niet voor het hele bedrijf. Een typisch resultaat: webapplicaties en API’s op App Service, de nachtelijke taken in Container Apps, en één oude applicatie met een COM-component op een virtuele machine tot ze herschreven is.
Richt de monitoring in voor de overstap, niet na de eerste klacht. Hoe, leest u in ons artikel over monitoring van .NET-applicaties met Application Insights, en Blazor-specifieke keuzes in Blazor hosten op Azure.
Hoe wij werken
Precies dit doen wij. ProCoding is een .NET-studio uit Split, Kroatië, en we verhuizen bedrijfsapplicaties naar Azure: de inventarisatie, het juiste doel voor elke applicatie, de verhuizing met eerst een testomgeving, en daarna een oogje op zowel de applicatie als de rekening. De eerste stap is een gratis gesprek van 30 minuten.
Bronnen
- Choose an Azure compute service, Microsoft Learn
- OS and runtime patching in Azure App Service, Microsoft Learn
- Set scaling rules in Azure Container Apps, Microsoft Learn
Dit artikel is alleen algemene informatie en geen juridisch, fiscaal, financieel of ander professioneel advies. Scenario’s, voorbeelden en berekeningen zijn ter illustratie. Gebruiksvoorwaarden en disclaimer.