Ga naar hoofdinhoud

Azure App Service: een complete gids voor dataprofessionals

Deze gids laat zien hoe je applicaties implementeert, beheert en optimaliseert met Azure App Service—met praktische tips voor beveiliging, schalen en kostenbesparing.
· 15 min lezen

Verken met AI

Applicaties efficiënt deployen is inmiddels net zo belangrijk als ze ontwikkelen. Als dataprofessional merk ik vaak dat we veel tijd steken in het perfectioneren van onze modellen en applicaties, terwijl het deploymentproces soms als een bijzaak voelt. Daar komt Azure App Service om de hoek kijken—een platform dat het deployen vereenvoudigt en tegelijk robuuste functies biedt voor schaalbaarheid, beveiliging en monitoring.

In deze uitgebreide tutorial leid ik je door het opzetten, deployen en schalen van applicaties op Azure App Service.

Of je nu een junior dataprofessional bent die z'n eerste applicatie wil deployen of een doorgewinterde expert die je cloudinfrastructuur wil optimaliseren, deze gids biedt praktische stappen en best practices.

Wat is Azure App Service?

Azure App Service is Microsofts Platform as a Service (PaaS) waarmee je webapplicaties kunt bouwen en hosten zonder de onderliggende infrastructuur te beheren. Het is ontworpen om meerdere programmeertalen en frameworks te ondersteunen, waaronder Python, Java, Node.js, .NET en meer.

Voordat we in het installatieproces duiken, kijken we eerst wat Azure App Service extra waardevol maakt voor dataprofessionals:

  • Vereenvoudigd deployen: Richt je op je code in plaats van infrastructuurbeheer.
  • Ondersteuning voor meerdere talen: Deploy applicaties geschreven in Python, R (via containers) of een andere ondersteunde taal.
  • Integratie met dataservices: Koppel eenvoudig aan Azure SQL, Cosmos DB of andere datastore.
  • Schaalbaarheid: Schaal verticaal of horizontaal op basis van de vraag, vooral handig voor het uitserveren van machinelearningmodellen.
  • Ingebouwde authenticatie: Beveilig je applicaties zonder uitgebreide authenticatiecode te schrijven.
  • CI/CD-integratie: Automatiseer deployments vanuit GitHub, Azure DevOps of andere repositories.

Als data scientist of -engineer vraag je je misschien af hoe App Service verschilt van andere Azure-diensten zoals Azure Functions of Azure Kubernetes Service. Het belangrijkste onderscheid is dat App Service precies het midden houdt—meer flexibiliteit dan serverless-opties, maar minder complex dan containerorkestratieplatforms.

> Voor een basisoverzicht van Azure’s ecosysteem en services, bekijk deze introductiecursus over Microsoft Azure.

Azure App Service instellen

Nu we weten wat Azure App Service is, gaan we aan de slag met het opzetten van onze eerste App Service. Dit bestaat uit twee stappen: een App Service-plan maken en vervolgens een web-app binnen dat plan aanmaken.

Een Azure App Service-plan maken

Een App Service-plan definieert de compute-resources, regio en prijscategorie voor je applicaties. Zie het als de serverfarm waarop je applicaties draaien. Meerdere apps kunnen één App Service-plan delen, wat kostenbesparend is als je meerdere kleinere applicaties runt.

Zo maak je een App Service-plan:

  1. Log in op het Azure Portal
  2. Klik in de linker navigatie op "Create a resource"
  3. Zoek naar "App Service Plan" en selecteer het
  4. Klik op "Create"
  5. Vul de volgende gegevens in:
    • Subscription: Selecteer je Azure-abonnement
    • Resource group: Maak een nieuwe of kies een bestaande groep
    • Name: Geef je plan een duidelijke naam (bijv. "data-apps-plan")
    • Operating system: Kies tussen Windows of Linux (ik raad Linux aan voor de meeste data science-workloads)
    • Region: Kies een regio dicht bij je gebruikers of databronnen
    • Pricing tier: Selecteer de juiste categorie op basis van je behoeften

Een App Service-plan maken in het Azure Portal.

Over die prijscategorieën gesproken, Azure App Service biedt verschillende opties:

Categorie

Functies

Beste keuze voor

Free

1GB opslag, gedeelde infrastructuur, 60 minuten/dag compute

Ontwikkeling en testen

Shared

1GB opslag, 240 minuten/dag compute

Apps met weinig verkeer, ontwikkeling

Basic

10GB opslag, dedicated VM’s, aangepaste domeinen

Productieworkloads met gemiddeld verkeer

Standard

50GB opslag, autoscaling, staging-slots

Productie-apps met hoger verkeer

Premium

250GB opslag, betere performance, meer schaalopties

Enterprise-applicaties, hoge performance-eisen

Voor data-applicaties raad ik meestal aan om in productie ten minste met Basic te starten, omdat dataverwerking vaak meer resources vraagt dan simpel webserving. Als je machinelearningmodellen serveert die veel compute nodig hebben, overweeg dan de Standard-categorie vanwege de autoscaling-mogelijkheden.

Je kunt ook een App Service-plan maken met de Azure CLI:

# Create a resource group first if needed
az group create --name MyResourceGroup --location "East US"

# Create an App Service plan
az appservice plan create --name MyAppServicePlan --resource-group MyResourceGroup --sku B1 --is-linux

Een App Service-webapp maken

Zodra je een App Service-plan hebt, kun je daarbinnen een web-app aanmaken. De web-app is de daadwerkelijke applicatie-instantie die je code draait.

Volg deze stappen om een web-app te maken:

  1. Klik in het Azure Portal op "Create a resource"
  2. Zoek naar "Web App" en selecteer het
  3. Klik op "Create"
  4. Vul de volgende gegevens in:
    • Subscription: Selecteer je Azure-abonnement
    • Resource group: Gebruik dezelfde groep als je App Service-plan
    • Name: Dit wordt onderdeel van de URL van je app (bijv. myapp.azurewebsites.net)
    • Publish: Kies Code of Docker Container (voor deze tutorial kiezen we Code)
    • Runtime stack: Selecteer de taal/het framework van je applicatie (bijv. Python 3.9)
    • Operating system: Laat dit overeenkomen met het OS van je App Service-plan
    • Region: Dit moet overeenkomen met de regio van je App Service-plan
    • App Service plan: Selecteer het plan dat je eerder hebt gemaakt

Een App Service-webapp maken in het Azure Portal.

  1. Klik op "Review + create" en daarna op "Create" zodra de validatie slaagt

Als je de Azure CLI gebruikt, kun je met één opdracht een web-app maken:

# Create a Python web app
az webapp create --resource-group MyResourceGroup --plan MyAppServicePlan --name MyWebApp --runtime "PYTHON:3.9"

Na het aanmaken van je web-app zal Azure de benodigde resources inrichten. Als dat klaar is, kun je naar je nieuwe web-app gaan via "Go to resource" of door deze op te zoeken in je resource group.

Op dit moment zie je een standaardpagina wanneer je de URL van je app bezoekt (https://your-app-name.azurewebsites.net). Dat bevestigt dat je app draait, al bevat die nog niet je eigen code—deployment behandelen we in de volgende sectie.

Basisinstellingen van de app configureren

Voordat we doorgaan met deployen, stellen we eerst wat basisconfiguratie in voor onze app. Voor data-applicaties heb je vaak specifieke omgevingsvariabelen nodig voor databaseconnecties of API-sleutels.

Zo configureer je app-instellingen:

  1. Navigeer naar je web-app in het Azure Portal
  2. Selecteer in de linkerzijbalk onder "Settings" de optie "Environment variables"
  3. Klik in het tabblad "Application settings" op "Add"
  4. Voeg key-valuepairs toe voor je omgevingsvariabelen
  5. Klik op "Save" wanneer je klaar bent

Basisinstellingen van App Service configureren in het Azure Portal.

Je kunt dit ook instellen met de Azure CLI:

# Set an environment variable
az webapp config appsettings set --resource-group MyResourceGroup --name MyWebApp --settings DB_CONNECTION_STRING="your-connection-string"

Deze instellingen zijn beschikbaar als omgevingsvariabelen voor je applicatie. Dat is een veilige manier om configuratie op te slaan zonder deze hard te coderen in je broncode.

Je eerste applicatie deployen

Nu onze Azure App Service-infrastructuur staat, is het tijd om onze applicatie te deployen. Azure App Service biedt meerdere deploymentmethoden, zodat je flexibiliteit hebt afhankelijk van je workflow en voorkeuren. In deze sectie behandelen we deployment via broncontrole (GitHub of Azure Repos), FTP en lokale Git-repositories.

Voor dataprofessionals is deze stap cruciaal, omdat dit de brug slaat tussen je lokale ontwikkelomgeving en een productieklare applicatie die je modellen of dataverwerkingspipelines kan serveren.

> Ben je nieuw met deploymentprincipes? Deze DevOps-cursus geeft een heldere introductie in de kernconcepten en tools.

Deployen vanuit GitHub of Azure Repos

Een van de krachtigste functies van Azure App Service is de ingebouwde continuous deployment (CD). Door je App Service te koppelen aan een GitHub- of Azure DevOps-repository kun je automatisch wijzigingen deployen zodra er code naar een specifieke branch wordt gepusht.

Deze aanpak is vooral waardevol voor datateams die samenwerken, omdat het:

  • Zorgt dat alle teamleden naar dezelfde omgeving deployen
  • Een audittrail van deployments creëert
  • Handmatige deployfouten vermindert
  • Geautomatiseerd testen ondersteunt als onderdeel van de deploymentpijplijn

> Als versiebeheer nieuw voor je is, helpt de GitHub Foundations-track je snel op weg met de basis. Je kunt ook Azure DevOps verkennen als een robuust alternatief voor het beheren van je deploymentpijplijnen en versiebeheer.

Zo stel je continuous deployment vanuit GitHub in:

  1. Navigeer naar je App Service in het Azure Portal
  2. Selecteer in de linkerzijbalk "Deployment Center"
  3. Selecteer "GitHub" als bron
  4. Authenticeer met je GitHub-account indien gevraagd
  5. Kies je organisatie, repository en branch
  6. Klik op "Save"

Deployment Center in het Azure Portal.

Azure maakt een GitHub-workflowbestand aan in je repository dat je applicatie automatisch buildt en deployt zodra er wijzigingen naar de geselecteerde branch worden gepusht. Deze workflow gebruikt GitHub Actions om het CI/CD-proces af te handelen.

> Wil je deployments verder automatiseren? Overweeg Makefiles te combineren met GitHub Actions voor gestroomlijnde CI/CD-workflows.

Voor Python-applicaties bevat de workflow doorgaans stappen om:

  • Python in te stellen
  • Afhankelijkheden uit requirements.txt te installeren
  • Eventuele tests uit te voeren
  • Te deployen naar Azure App Service

Je kunt continuous deployment ook instellen met de Azure CLI:

# Set up GitHub continuous deployment
az webapp deployment source config --name MyWebApp --resource-group MyResourceGroup --repo-url https://github.com/username/repo --branch main --git-token <your-github-token>

Deploymentinstellingen configureren

Om je deployment te fine-tunen kun je extra instellingen configureren in het GitHub-workflowbestand of in het Azure Portal:

  1. Navigeer naar je App Service
  2. Selecteer "Deployment Center"
  3. Klik op "Settings"
  4. Hier kun je configureren:
    • De buildprovider (Kudu of GitHub Actions)
    • Build- en deploymentworkflows
    • Repository-toegangsinstellingen

Voor data science-applicaties moet je mogelijk aangepaste buildstappen toevoegen die wetenschappelijke packages installeren of modeltrainingsscripts draaien. Deze kun je direct toevoegen aan het workflowbestand in je repository.

Deployen met FTP of lokale Git

Hoewel continuous deployment via GitHub of Azure Repos wordt aanbevolen voor teams, heb je soms directere deploymentmethoden nodig. Azure App Service ondersteunt in die gevallen zowel FTP als lokale Git.

FTP-deployment

FTP-deployment is een eenvoudige manier om je applicatiebestanden rechtstreeks naar Azure App Service te uploaden. Deze methode is handig voor snelle updates of wanneer je werkt met applicaties die geen complex buildproces vereisen.

Zo deploy je via FTP:

  1. Ga in je App Service naar "Deployment Center"
  2. Selecteer "FTP" en noteer het FTP-endpoint, de gebruikersnaam en het wachtwoord
  3. Gebruik een FTP-client (zoals FileZilla) om verbinding te maken met je App Service
  4. Upload je applicatiebestanden naar de map /site/wwwroot/

Zorg er bij Python-applicaties voor dat je requirements.txt-bestand is meegeüpload. Azure App Service installeert de vereiste packages automatisch.

Lokale Git-deployment

Met lokale Git-deployment kun je code vanuit je lokale Git-repository direct naar Azure pushen. Deze methode geeft je meer controle over het deploymentproces, terwijl je toch de versiebeheermogelijkheden van Git benut.

Zo stel je lokale Git-deployment in:

  1. Ga in je App Service naar "Deployment Center"
  2. Selecteer "Local Git"
  3. Klik op "Save"
  4. Ga naar "Deployment Credentials" om je inloggegevens in te stellen of te bekijken
  5. Voeg de Azure Git-remote toe aan je lokale repository:
# Add the Azure remote
git remote add azure https://[email protected]/your-app-name.git

# Push your code to Azure
git push azure main

Wanneer je code naar de Azure-remote pusht, zal het platform je applicatie automatisch builden en deployen.

Deploymentstatus monitoren

Ongeacht de gekozen deploymentmethode is het belangrijk om het deploymentproces te monitoren om problemen vroegtijdig te signaleren. Azure biedt verschillende manieren om de deploymentstatus te volgen:

  1. Ga in het Azure Portal naar je App Service
  2. Selecteer "Deployment Center"
  3. Bekijk het tabblad "Logs" voor gedetailleerde deploymentlogs
  4. Voor GitHub-deployments kun je ook het tabblad Actions in je GitHub-repository controleren

Deploymentstatus monitoren in het Deployment Center van het Azure Portal.

Als een deployment faalt, geven de logs informatie over wat er misging. Veelvoorkomende oorzaken zijn:

  • Ontbrekende afhankelijkheden in requirements.txt
  • Syntaxfouten in je code
  • Configuratieproblemen in je applicatie
  • Geheugenlimieten tijdens de build

Zo los je deploymentproblemen op:

  1. Bekijk de deploymentlogs grondig
  2. Controleer of je applicatie lokaal draait
  3. Zorg dat alle afhankelijkheden in je requirements.txt staan
  4. Verifieer dat het entrypoint van je applicatie overeenkomt met wat Azure verwacht

Bij data science-applicaties ontstaan deploymentfouten vaak door grote package-installaties of geheugenintensieve operaties tijdens het opstarten. Als je hiermee te maken krijgt, overweeg dan om:

  • Grote afhankelijkheden op te splitsen in kleinere componenten
  • Lichtgewicht alternatieven te gebruiken voor productiedeployments
  • Modellen vooraf te trainen en als artifacts op te slaan in plaats van tijdens de deployment te trainen

Azure App Service configureren

Zodra je applicatie is gedeployed, is de volgende stap het configureren van verschillende aspecten van je Azure App Service om ervoor te zorgen dat deze optimaal en veilig draait. In deze sectie behandelen we custom domeinen, authenticatie en app-instellingen.

Aangepaste domeinen configureren

Standaard is je App Service bereikbaar via een URL zoals your-app-name.azurewebsites.net. Voor productie-applicaties wil je waarschijnlijk je eigen domeinnaam gebruiken. Zo stel je een aangepast domein in:

  1. Koop een domein bij een domeinregistrar als je er nog geen hebt
  2. Ga in je App Service naar "Custom domains" in de linkerzijbalk
  3. Klik op "Add custom domain"
  4. Voer je domeinnaam in (bijv. myapp.example.com)
  5. Volg de instructies om het eigenaarschap van het domein te verifiëren
    • Je moet een TXT- of CNAME-record toevoegen aan je DNS-instellingen

Aangepaste domeinen configureren in de App Service-portal.

Voor apex-domeinen (zoals example.com zonder www) moet je een A-record aanmaken dat naar het IP-adres van je App Service wijst. Je vindt dit IP-adres op de configuratiepagina voor custom domeinen.

Je kunt aangepaste domeinen ook beheren met de Azure CLI:

# Add a custom domain
az webapp config hostname add --webapp-name MyWebApp --resource-group MyResourceGroup --hostname www.example.com

SSL-certificaten binden

Voor veilige applicaties, vooral die met gevoelige data werken, is het essentieel om HTTPS in te schakelen. Azure App Service maakt dit eenvoudig met gratis beheerde certificaten of de mogelijkheid om je eigen certificaten te uploaden.

Zo voeg je een SSL-certificaat toe:

  1. Ga in je App Service naar "TLS/SSL settings"
  2. Selecteer "Private Key Certificates"
  3. Kies een van de volgende opties:
    • Maak een gratis, door App Service beheerd certificaat aan
    • Importeer een App Service-certificaat
    • Upload een PFX-certificaat
  4. Ga nadat het certificaat is toegevoegd naar "Bindings"
  5. Voeg een SSL-binding toe voor je aangepaste domein

Voor data-applicaties die met gevoelige informatie werken, raad ik aan om HTTPS-only modus in te schakelen zodat al het verkeer versleuteld is:

  1. Ga in "TLS/SSL settings" naar de sectie "HTTPS Only"
  2. Zet de schakelaar op "On"
  3. Klik op "Save"

Authenticatie en autorisatie configureren

Veel data-applicaties vereisen gebruikersauthenticatie om toegang tot gevoelige data of functionaliteiten te beperken. Azure App Service biedt ingebouwde authenticatieopties, zodat je geen authenticatielogica in je eigen code hoeft te implementeren.

Zo stel je authenticatie in:

  1. Ga in je App Service naar "Authentication" in de linkerzijbalk
  2. Klik op "Add identity provider"
  3. Kies je identity provider:
    • Microsoft (Azure AD)
    • Google
    • Facebook
    • Twitter
    • GitHub
    • OpenID Connect
  4. Configureer de providerinstellingen
  5. Stel redirect-URL's en token store-configuraties in

Authenticatie en autorisatie configureren voor Azure App Service.

Voor enterprise data-applicaties is Azure Active Directory vaak de voorkeursoptie, omdat het integreert met bestaande bedrijfsidentiteiten en functies ondersteunt zoals voorwaardelijke toegang en multifactorauthenticatie.

Je kunt ook autorisatiebeperkingen configureren om te bepalen wie toegang heeft tot je applicatie:

  1. Selecteer in de Authentication-instellingen "Edit" naast je identity provider
  2. Kies onder "Restrict access" een van de volgende opties:
    • Unauthenticated requests toestaan
    • Authenticatie vereisen
    • Anonieme requests toestaan (no action)
  3. Configureer indien nodig toegestane externe redirect-URL's

App-instellingen en connection strings

We hebben app-instellingen eerder kort aangestipt, maar laten we dieper ingaan op hoe je ze effectief kunt gebruiken om je data-applicatie te configureren.

App-instellingen in Azure App Service fungeren als omgevingsvariabelen voor je applicatie. Ze zijn met name handig voor:

  • Database-connection strings
  • API-sleutels
  • Feature flags
  • Omgevingsspecifieke configuraties

Zo voeg je app-instellingen toe of wijzig je ze:

  1. Ga in je App Service naar "Configuration" in de linkerzijbalk
  2. Selecteer het tabblad "Application settings"
  3. Klik op "New application setting" om een key-value-paar toe te voegen
  4. Voor gevoelige waarden kun je de optie "deployment slot setting" inschakelen om te voorkomen dat ze worden verwisseld tijdens slot swaps

Omgevingsvariabelen configureren in Azure App Service

Voor data-applicaties zijn veelvoorkomende instellingen onder meer:

  • Database-connection strings
  • Toegangssleutels voor storage-accounts
  • Endpoints voor machinelearningmodellen
  • Feature flags voor A/B-testen

Je kunt ook connection strings afzonderlijk configureren, wat handig is voor databaseverbindingen:

  1. Selecteer op de Configuration-pagina het tabblad "Connection strings"
  2. Klik op "New connection string"
  3. Geef een naam, waarde en type op (SQL Server, MySQL, PostgreSQL, enz.)

Connection strings zijn ook beschikbaar voor je applicatie als omgevingsvariabelen, maar met een andere naamgevingsconventie, afhankelijk van je taal/framework.

Zo haal je instellingen op in je Python-applicatie:

import os

# Retrieve an application setting
api_key = os.environ.get('API_KEY')

# Retrieve a connection string (Python)
connection_string = os.environ.get('SQLCONNSTR_MyDatabase')

Key Vault-referenties gebruiken

Voor zeer gevoelige informatie zoals databasegegevens of API-sleutels biedt Azure Key Vault een extra beveiligingslaag. Je kunt Key Vault-secrets rechtstreeks refereren in je app-instellingen:

  1. Maak een Azure Key Vault en voeg je secrets toe
  2. Zorg dat je App Service een managed identity heeft
  3. Geef die identity toegang tot de Key Vault
  4. Verwijs in je app-instellingen naar de secret met het formaat: @Microsoft.KeyVault(SecretUri=https://myvault.vault.azure.net/secrets/mysecret/)

Deze aanpak scheidt gevoelige informatie van je applicatieconfiguratie en zorgt voor centrale secret-beheer.

Schalen en beheren van Azure App Service

Nu je applicatie is gedeployed en geconfigureerd, richten we ons op prestaties, betrouwbaarheid en het inspelen op wisselende workloads. 

Goed schalen en beheren van je Azure App Service is vooral belangrijk voor data-applicaties, die vaak variabele resourcebehoeften hebben en mogelijk gevoelige informatie verwerken.

App Service-plannen schalen

Een van de grote voordelen van cloudplatformen zoals Azure is de mogelijkheid om resources op of af te schalen op basis van de vraag. Voor data-applicaties is dit extra waardevol, omdat workloads vaak sterk variëren: van perioden met intensieve dataverwerking tot rustigere tijden met minimale traffic.

Azure App Service biedt twee primaire schaalmethoden:

Verticaal schalen (Scale up/down)

Verticaal schalen houdt in dat je de grootte van je App Service-plan wijzigt om meer of minder CPU, geheugen en opslagruimte te bieden. Dit is nuttig wanneer de prestaties van je applicatie beperkt worden door de resources van één instantie.

Zo schaal je verticaal:

  1. Selecteer in je App Service-plan "Scale up (App Service plan)" in de linkerzijbalk
  2. Kies een andere prijscategorie of instantiegrootte op basis van je behoeften
  3. Klik op "Apply"

Een Azure App Service-plan opschalen.

Voor data-applicaties is verticaal schalen zinvol wanneer:

  • Je applicatie geheugenstress ervaart door grote dataverwerkingsoperaties
  • Je CPU-limieten raakt tijdens modelinference
  • Je extra opslag nodig hebt voor datacaching of tijdelijke bestanden

Horizontaal schalen (Scale out/in)

Horizontaal schalen verandert het aantal virtual machine-instanties waarop je applicatie draait. Deze aanpak is ideaal om load te verdelen en de beschikbaarheid te verbeteren.

Zo schaal je horizontaal:

  1. Selecteer in je App Service-plan "Scale out (App Service plan)" in de linkerzijbalk
  2. Stel het aantal instanties handmatig in of configureer autoscaling-regels
  3. Klik op "Save"

Voor handmatig schalen pas je simpelweg het aantal instanties aan naar de gewenste waarde. Autoscaling biedt echter meer flexibiliteit door resources automatisch aan te passen op basis van metrics.

Autoscaling-regels instellen

Autoscaling is vooral waardevol voor data-applicaties met variabele workloads. Een API voor het serven van machinelearningmodellen kan bijvoorbeeld overdag meer verkeer hebben en ’s nachts minder.

Zo configureer je autoscaling:

  1. Selecteer in de sectie "Scale out" "Enable autoscale"
  2. Definieer een schaalconditie met de volgende onderdelen:
    • Een standaard aantal instanties
    • Scale-outregels (wanneer instanties toe te voegen)
    • Scale-inregels (wanneer instanties te verwijderen)
    • Optionele, op schema gebaseerde regels

Scale-out en Azure App Service-plan

Hier is een voorbeeld van een veelgebruikte autoscaling-regel:

  • Scale out: Voeg één instantie toe wanneer CPU-percentage > 70% gedurende 10 minuten
  • Scale in: Verwijder één instantie wanneer CPU-percentage < 30% gedurende 10 minuten

Je kunt ook geavanceerdere regels maken op basis van:

  • Geheugengebruik
  • Lengte van datawachtrijen
  • Aangepaste metrics uit Application Insights

Voor data science-workloads kun je deze autoscaling-strategieën overwegen:

  • Als je applicatie machinelearningmodellen serveert, schaal op basis van de lengte van de request-wachtrij om de voorspellinglatentie laag te houden
  • Plan voor ETL-processen extra capaciteit in tijdens bekende verwerkingsvensters
  • Gebruik schema-gebaseerde scaling voor applicaties met wereldwijde gebruikers om voldoende capaciteit over tijdzones heen te garanderen

Je kunt autoscaling ook configureren met Azure CLI:

# Create an autoscale setting with a rule to scale out when CPU > 70%
az monitor autoscale create --resource-group MyResourceGroup --resource MyAppServicePlan --resource-type "Microsoft.Web/serverfarms" --name MyAutoScaleConfig --min-count 2 --max-count 5 --count 2

# Add a scale out rule
az monitor autoscale rule create --resource-group MyResourceGroup --autoscale-name MyAutoScaleConfig --scale out 1 --condition "Percentage CPU > 70 avg 10m"

# Add a scale in rule
az monitor autoscale rule create --resource-group MyResourceGroup --autoscale-name MyAutoScaleConfig --scale in 1 --condition "Percentage CPU < 30 avg 10m"

Monitoring en diagnostiek

Effectieve monitoring is cruciaal om betrouwbare data-applicaties te onderhouden. Azure biedt uitgebreide monitoringtools die inzicht geven in de prestaties van je applicatie, gebruikspatronen en mogelijke problemen.

Azure Monitor en Application Insights

Azure Monitor vormt de basis voor het monitoren van Azure-services, terwijl Application Insights diepgaandere, applicatiespecifieke inzichten biedt.

Zo schakel je Application Insights in voor je App Service:

  1. Selecteer in je App Service "Application Insights" in de linkerzijbalk
  2. Klik op "Turn on Application Insights"
  3. Configureer een nieuwe of bestaande Application Insights-resource
  4. Klik op "Apply"

Azure Monitor en Application Insights.

Na inschakeling verzamelt Application Insights een schat aan gegevens over je applicatie, waaronder:

  • Request-snelheden, responstijden en faalpercentages
  • Dependency-calls (databases, externe API's)
  • Paginaweergaveprestaties
  • Exceptielogs
  • Aangepaste events die je in code definieert

Voor Python-applicaties moet je de Application Insights-SDK installeren:

pip install opencensus-ext-azure

En vervolgens instrumentatie toevoegen aan je applicatie:

from opencensus.ext.azure.trace_exporter import AzureExporter
from opencensus.trace.samplers import ProbabilitySampler
from opencensus.trace.tracer import Tracer

# Configure the Azure exporter
azure_exporter = AzureExporter(
    connection_string='InstrumentationKey=00000000-0000-0000-0000-000000000000'
)

# Create a tracer
tracer = Tracer(exporter=azure_exporter, sampler=ProbabilitySampler(1.0))

# Use the tracer in your application
with tracer.span(name="main_function"):
    # Your code here
    pass

Logs bekijken en alerts instellen

Azure App Service verzamelt automatisch logs die je helpen bij het diagnosticeren van problemen:

  1. Selecteer in je App Service "Log stream" om realtime logs te bekijken
  2. Ga voor meer gedetailleerde analyse naar "Diagnostic logs" en schakel application logging in
  3. Configureer het logniveau (Error, Warning, Information, Verbose)

Logs bekijken in Azure App Service.

Let bij data-applicaties in het bijzonder op:

  • Out-of-memory-excepties, die vaak voorkomen bij het verwerken van grote datasets
  • Time-outs bij verbinding met databronnen
  • Prestatieknelpunten tijdens datatransformatie

Met alerts zorg je dat je van problemen op de hoogte bent voordat ze gebruikers raken:

  1. Selecteer in Azure Monitor "Alerts"
  2. Klik op "New alert rule"
  3. Selecteer je App Service als resource
  4. Definieer de conditie die de alert moet triggeren
  5. Configureer action groups om te bepalen wie en hoe er wordt gewaarschuwd
  6. Geef je alert een naam en sla op

Veelvoorkomende alerts voor data-applicaties zijn onder andere:

  • Hoog geheugengebruik (>80%)
  • Serverfouten (5xx-responses)
  • Lange verwerkingstijden voor kernoperaties
  • Mislukte pogingen tot dataverbinding

Aangepaste monitoring voor data-applicaties

Voor dataspecifieke monitoringbehoeften kun je deze aangepaste metrics bijhouden:

  • Dataverwerkingsthroughput (records per minuut verwerkt)
  • Modelinference-latentie
  • Tijd voor feature-berekening
  • Cache hit/miss-ratio's

Je kunt aangepaste metrics naar Application Insights sturen met de SDK:

from opencensus.ext.azure import metrics_exporter
from opencensus.stats import aggregation, measure, stats, view

# Create a metrics exporter
exporter = metrics_exporter.new_metrics_exporter(
    connection_string='InstrumentationKey=00000000-0000-0000-0000-000000000000')

# Create and record custom metrics
prediction_time = measure.MeasureFloat(
    "prediction_time", "Time taken for model inference", "ms")
prediction_time_view = view.View(
    "prediction_time_view", "Model inference time", [], prediction_time, aggregation.LastValueAggregation())

# Register the view
stats.stats.view_manager.register_view(prediction_time_view)

# Record metrics
mmap = stats.stats.stats_recorder.new_measurement_map()
mmap.measure_float_put(prediction_time, 175.5)  # Record 175.5ms inference time
mmap.record()

# Force metrics to be sent immediately
exporter.export_metrics([])

Back-up en herstel

Data-applicaties beheren vaak waardevolle informatie, waardoor back-up- en herstelmogelijkheden essentieel zijn. Azure App Service biedt ingebouwde back-upfunctionaliteit die de bestanden, configuratie en gekoppelde databases van je applicatie kan vastleggen.

Automatische back-ups instellen

Zo configureer je back-ups:

  1. Selecteer in je App Service "Backups" in de linkerzijbalk
  2. Klik op "Configure"
  3. Stel het back-upschema in (dagelijks, wekelijks of aangepast)
  4. Specificeer een storage-account voor de back-upbestanden
  5. Neem eventueel databases op in de back-up
  6. Klik op "Save"

Back-ups configureren en bekijken in Azure App Service.

Voor data-applicaties zijn dit goede back-upraktijken:

  • Plan back-ups tijdens periodes met weinig activiteit
  • Zorg dat je storage-account zich in dezelfde regio bevindt als je App Service voor snellere back-ups
  • Configureer voor applicaties met frequente datawijzigingen vaker back-ups
  • Houd er rekening mee dat grote databases de back-uplimieten kunnen overschrijden; overweeg in dat geval databasespecifieke back-upstrategieën

Herstellen vanuit een back-up

Als je je applicatie moet herstellen:

  1. Selecteer in de sectie Backups het back-uppunt waarvan je wilt herstellen
  2. Klik op "Restore"
  3. Kies of je de app-content, configuratie en gekoppelde databases wilt herstellen
  4. Specificeer de doel-App Service (dit kan dezelfde of een andere app zijn)
  5. Klik op "OK" om het herstelproces te starten

Voor kritieke data-applicaties raad ik aan om het herstelproces periodiek te testen om te verzekeren dat je herstelstrategie werkt zoals verwacht.

Databasespecifieke back-upstrategieën

Hoewel App Service-back-ups gekoppelde databases kunnen omvatten, profiteren data-intensieve applicaties vaak van databasespecifieke back-upstrategieën:

  • Configureer voor Azure SQL-databases automatische back-ups met point-in-time restore
  • Gebruik voor Cosmos DB de continue back-upmodus
  • Overweeg voor grote datasets die in Azure Storage zijn opgeslagen accountreplicatie en versiebeheer

Beveiliging en compliance in Azure App Service

Beveiliging is cruciaal voor data-applicaties, vooral als je te maken hebt met gevoelige of gereguleerde informatie. Azure App Service biedt verschillende beveiligingsfuncties om je applicaties te beschermen.

Role-based access control (RBAC)

Met RBAC bepaal je wie je App Service-resources kan beheren:

  1. Navigeer in de Azure Portal naar je App Service
  2. Selecteer "Access control (IAM)" in de linkerzijbalk
  3. Klik op "Add" en vervolgens op "Add role assignment"
  4. Kies de juiste rol:
    • Contributor: Kan App Service beheren maar geen toegang verlenen aan anderen
    • Reader: Kan bekijken maar niets wijzigen
    • Website Contributor: Kan websites beheren maar niet het App Service-plan
  5. Selecteer de gebruikers, groepen of service-principals aan wie je de rol wilt toewijzen
  6. Klik op "Save"

RBAC in Azure App Service.

Voor datateams is het de moeite waard om aangepaste rollen te maken die de toegang beperken tot specifieke handelingen op basis van verantwoordelijkheden.

IP-beperkingen en netwerken

Met IP-beperkingen bepaal je welke IP-adressen toegang hebben tot je App Service:

  1. Selecteer in je App Service "Networking" in de linkerzijbalk
  2. Ga naar "Access Restrictions"
  3. Klik op "Add rule"
  4. Geef het IP-adresbereik, de actie (Allow/Deny), prioriteit en naam op
  5. Klik op "Add rule"

IP-beperkingen en netwerken in Azure App Service.Voor data-applicaties die verbinding maken met interne resources, overweeg:

  • VNet-integratie: Verbind je App Service met je virtuele netwerk
  • Service Endpoints: Beveilig verbindingen met Azure-services zoals SQL en Storage
  • Private Endpoints: Maak een private link naar je App Service vanuit je virtuele netwerk

Zo stel je VNet-integratie in:

  1. Selecteer in de sectie Networking "VNet Integration"
  2. Klik op "Add VNet"
  3. Selecteer of maak een virtueel netwerk en subnet
  4. Klik op "OK"

Deze integratie is vooral handig om veilig verbinding te maken met databases of andere databronnen binnen je netwerk.

Veelvoorkomende problemen met Azure App Service oplossen

Zelfs met zorgvuldige planning kunnen er problemen optreden met je App Service. Hier zijn enkele veelvoorkomende issues en hun oplossingen, met de focus op data-applicaties.

App-crashes diagnosticeren

Als je app crasht of niet reageert:

  1. Controleer de App Service-logs:
    • Ga naar "Log stream" voor realtime logs
    • Check "Diagnostic logs" voor historische data
  2. Gebruik Application Insights om exceptions te identificeren
  3. Voer Kudu-diagnosetools uit:
    • Navigeer naar https://<your-app-name>.scm.azurewebsites.net/DebugConsole
    • Gebruik de console om bestanden en processen te inspecteren

Veelvoorkomende oorzaken van crashes in data-applicaties zijn:

  • Geheugenlimieten: Het verwerken van grote datasets kan het beschikbare geheugen overschrijden
  • Afhankelijkheidsproblemen: Ontbrekende of incompatibele packages
  • Configuratiefouten: Onjuiste connection strings of omgevingsvariabelen

Voor geheugenintensieve operaties, overweeg:

  • Opschalen naar een hoger tier met meer geheugen
  • Data opsplitsen in chunks om kleinere batches te verwerken
  • Efficiëntere algoritmen of datastructuren gebruiken

Performanceproblemen debuggen

Als je applicatie traag draait:

  1. Gebruik Application Insights performance monitoring:
    • Check de Performance-blade om trage requests te identificeren
    • Zoek naar dependency-calls die bottlenecks kunnen veroorzaken
  2. Bekijk servermetrics in Azure Monitor:
    • CPU- en geheugengebruik
    • HTTP-queuelengte
  3. Controleer databasequery-prestaties voor data-intensieve operaties

Om de performance te verbeteren:

  • Implementeer caching voor frequente queries
  • Optimaliseer database-indexen
  • Overweeg opschalen of uit te schalen
  • Gebruik async-operaties voor langlopende processen

Logs en foutmeldingen bekijken

Azure App Service biedt verschillende loggingopties:

  1. Applicatielogs: De eigen logs van je applicatie
  2. Webserverlogs: HTTP-request- en foutlogs
  3. Deployment-logs: Informatie over je deploymentproces
  4. Gedetailleerde foutlogging: Meer informatie over HTTP-fouten

Zo configureer je meer gedetailleerde logging:

  1. Ga in je App Service naar "Diagnostic logs"
  2. Schakel de juiste logtypen in
  3. Stel het juiste niveau in (Error, Warning, Information, Verbose)
  4. Kies of je logs opslaat in het bestandssysteem of in blob storage

Voor Python-applicaties kun je logging uitbreiden met:

import logging
import sys

# Configure logging
logging.basicConfig(
    level=logging.INFO,
    format='%(asctime)s - %(name)s - %(levelname)s - %(message)s',
    handlers=[
        logging.StreamHandler(sys.stdout)
    ]
)

# Use logging in your application
logger = logging.getLogger(__name__)
logger.info("Processing data batch")
logger.error("Failed to connect to database", exc_info=True)

Kostenbeheer met Azure App Service

Data-applicaties verbruiken vaak veel resources, waardoor inzicht in en optimalisatie van kosten extra belangrijk is. In dit laatste deel bespreken we prijsmodellen van Azure App Service en strategieën om kosten effectief te beheren.

Inzicht in Azure App Service-prijzen

De prijs van Azure App Service is vooral gebaseerd op het gekozen App Service-plan. Laten we de kostenfactoren uiteenzetten waarmee je rekening moet houden:

App Service-plan tiers

Zoals eerder besproken, biedt Azure meerdere prijstiers met elk verschillende mogelijkheden en kosten:

Tier

Maandelijkse kosten (USD)

Functies

Beste keuze voor

Free

$0

1GB opslag, gedeelde infrastructuur, 60 minuten/dag compute

Ontwikkeling, leren

Shared (D1)

$10-15

1GB opslag, 240 minuten/dag compute

Sites met weinig verkeer, testen

Basic (B1-B3)

$55-220

Dedicated VM's, handmatig schalen, aangepaste domeinen

Productieworkloads, laag tot gemiddeld verkeer

Standard (S1-S3)

$70-400

Autoscaling, staging-slots, dagelijkse back-ups

Productie-apps met variabel verkeer

Premium (P1V2-P3V2)

$80-500

Verbeterde performance, meer schaalopties

Hoge prestatie-eisen, grote applicaties

Isolated

$300-1000+

Dedicated netwerk-/compute-isolatie

Applicaties met strikte compliance-eisen

Opmerking: Prijzen zijn bij benadering en kunnen per regio variëren of veranderen met Azure-prijswijzigingen. Voor de laatste information, bekijk de officiële prijspagina. 

Aanvullende kostenfactoren

Naast het basis App Service-plan, houd rekening met deze extra kosten:

  1. Uitgaand dataverkeer: Na de eerste 5GB per maand (gratis) worden kosten in rekening gebracht voor uitgaand dataverkeer. Voor data-applicaties die grote datasets aan gebruikers leveren kan dit aanzienlijk worden.
  2. SSL-certificaten: Hoewel Azure gratis certificaten levert, zijn er kosten verbonden aan aangepaste certificaten.
  3. Aangepaste domeinen: Het eerste aangepaste domein is gratis, maar extra domeinen kunnen kosten met zich meebrengen.
  4. Opslag: Extra opslag bovenop wat in je tier is inbegrepen kost extra.
  5. Add-ons en gekoppelde services: Databases, cachingservices en andere Azure-resources die aan je App Service zijn gekoppeld, hebben hun eigen kosten.

Kosten monitoren

Azure biedt tools om je uitgaven te monitoren en te voorspellen:

  1. Azure cost management: Open dit in de Azure Portal om kosten per resource te bekijken, budgetten in te stellen en alerts te maken.
  2. Pricing calculator: Gebruik de Azure Pricing Calculator om kosten vooraf in te schatten.
  3. Advisor-aanbevelingen: Azure Advisor biedt suggesties voor kostenoptimalisatie op basis van je gebruikspatronen.

> Om kosten, beveiliging en performance effectief te beheren over Azure-services heen, is deze cursus over Azure Management and Governance sterk aan te raden.

Kostenoptimalisatiestrategieën

Nu we het prijsmodel begrijpen, bekijken we strategieën om kosten te optimaliseren voor data-applicaties op Azure App Service.

Je App Service-plan juist dimensioneren

Een van de meest effectieve manieren om kosten te beheersen is zorgen dat je het juiste App Service-plan gebruikt:

  1. Begin met een passend startpunt: In plaats van standaard voor een hoog tier te kiezen, start je met een middelgroot plan en schaal je alleen op wanneer nodig.
  2. Monitor resourcegebruik: Gebruik Azure Monitor om CPU-, geheugen- en schijfgebruik te volgen. Zit je consequent onder 50% gebruik, overweeg dan te verkleinen.
  3. Koppel de tier aan je workload: Voor data-applicaties met voorspelbare, stabiele workloads kan een Basic- of Standard-tier volstaan. Reserveer Premium-tiers voor applicaties met veeleisende prestatie-eisen.

Voor data science-applicaties, overweeg deze specifieke aanbevelingen:

  • Model serving-API's met lage latency-eisen maar matig verkeer werken vaak goed op Standard-plannen met autoscaling.
  • Dataverwerkingspipelines die op schema draaien kunnen vaak Basic-plannen gebruiken als de verwerkingstijd niet kritisch is.
  • Interactieve dashboards met veel gelijktijdige gebruikers vereisen doorgaans Standard- of Premium-plannen om responsiviteit te behouden.

Autoscaling effectief gebruiken

Autoscaling is niet alleen voor verkeerspieken—het is ook een krachtig hulpmiddel voor kostenoptimalisatie:

  1. Schaal naar nul waar mogelijk: Voor niet-kritieke applicaties of ontwikkelomgevingen kun je overwegen om tijdens daluren terug te schalen naar nul instanties.
  2. Stel passende schaaldrempels in: Schaal niet te agressief uit. Begin met conservatieve drempels (zoals 70% CPU) en pas aan op basis van performance-observaties.
  3. Implementeer gepland schalen: Gebruik voor voorspelbare workloads geplande schaalregels in plaats van metric-based autoscaling. Schaal bijvoorbeeld op tijdens kantooruren en af tijdens avonden en weekenden.
# Example: Create a scheduled autoscale rule to scale down at night
az monitor autoscale rule create --resource-group MyResourceGroup --autoscale-name MyAutoScaleConfig --scale to 1 --condition "Current time is between 22:00 and 06:00 recurring"

Ontwikkel- en testomgevingen optimaliseren

Ontwikkel- en testomgevingen bieden grote mogelijkheden voor kostenbesparing:

  1. Gebruik de Free- of Shared-tier voor ontwikkelomgevingen wanneer mogelijk.
  2. Implementeer automatisch uitschakelen voor niet-productieomgevingen tijdens daluren. Hoewel App Service geen ingebouwde shutdown-functie heeft, kun je Azure Automation of Logic Apps gebruiken om apps volgens een schema te stoppen en te starten.
  3. Zet deployment-slots efficiënt in: In plaats van aparte omgevingen voor staging te onderhouden, gebruik je deployment-slots in één production App Service. Zo kun je omgevingen wisselen zonder kosten te verdubbelen.
# Create a staging slot
az webapp deployment slot create --name MyWebApp --resource-group MyResourceGroup --slot staging

# Swap staging to production
az webapp deployment slot swap --name MyWebApp --resource-group MyResourceGroup --slot staging --target-slot production

Data-specifieke kostenoptimalisaties

Voor data-applicaties kun je deze gespecialiseerde kostenbesparende aanpakken overwegen:

  1. Zware verwerking offloaden: In plaats van intensieve dataverwerking in je App Service uit te voeren, kun je dedicated services gebruiken zoals Azure Functions (voor serverless processing) of Azure Data Factory (voor ETL-workflows).
  2. Caching implementeren: Voor data die niet vaak verandert, implementeer caching om database-calls en rekenwerk te beperken. Azure Cache for Redis integreert goed met App Service.
  3. Databasekosten optimaliseren: Vaak kost de database die aan je App Service is gekoppeld meer dan de App Service zelf. Overweeg:
    • Elastic pools gebruiken voor SQL-databases
    • Passende indexering implementeren
    • Gelaagde opslag gebruiken voor minder vaak geraadpleegde data
  4. Responses comprimeren: Voor applicaties die grote datasets aan gebruikers leveren, schakel compressie in om kosten voor uitgaand dataverkeer te verlagen:
# Example for Flask applications
from flask import Flask
from flask_compress import Compress

app = Flask(__name__)
Compress(app)

Geavanceerde technieken voor data-applicaties

Naast kostenoptimalisatie zijn er meerdere geavanceerde technieken om de performance en mogelijkheden van je data-applicaties op Azure App Service te verbeteren.

Data-applicaties containerizen

Containers zorgen voor consistentie tussen omgevingen en kunnen afhankelijkheden eenvoudiger maken—een veelvoorkomende uitdaging bij data-applicaties met complexe vereisten:

  1. Maak in de Azure Portal een nieuwe Web App
  2. Selecteer "Docker Container" in plaats van "Code" voor de publicatieoptie
  3. Kies Single Container en geef je Docker-image op

Voor data science-applicaties kan het nuttig zijn een basiscontainerimage te onderhouden met veelgebruikte libraries zoals NumPy, pandas en scikit-learn om deployments te versnellen.

CI/CD implementeren voor dataworkflows

Ga verder dan basis CI/CD en implementeer geautomatiseerd testen specifiek voor data-applicaties:

  1. Datavalidatietests: Verifieer dat dataverwerking de verwachte resultaten oplevert
  2. Modelperformancetests: Zorg dat ML-modellen aan nauwkeurigheids- en prestatiedrempels voldoen
  3. Loadtesten: Valideer dat de applicatie de verwachte datavolumes aankan

Voorbeeld van een GitHub Actions-workflow voor een data-applicatie:

name: Data App CI/CD

on:
  push:
    branches: [ main ]

jobs:
  test:
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v2
    - name: Set up Python
      uses: actions/setup-python@v2
      with:
        python-version: '3.8'
    - name: Install dependencies
      run: |
        python -m pip install --upgrade pip
        pip install -r requirements.txt
        pip install pytest pytest-cov
    - name: Test with pytest
      run: |
        pytest tests/data_validation_tests.py
        pytest tests/model_performance_tests.py

  deploy:
    needs: test
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v2
    - name: Deploy to Azure
      uses: azure/webapps-deploy@v2
      with:
        app-name: 'my-data-app'
        publish-profile: ${{ secrets.AZURE_WEBAPP_PUBLISH_PROFILE }}

WebJobs gebruiken voor achtergrondverwerking

Voor data-applicaties die achtergrondverwerking nodig hebben, bieden Azure WebJobs een manier om scripts of programma's uit te voeren in dezelfde context als je App Service:

  1. Ga in je App Service naar "WebJobs" in de linkerzijbalk
  2. Klik op "Add"
  3. Upload je scriptbestand (bijv. een Python-script voor dataverwerking)
  4. Kies het triggertype (handmatig, gepland of continu)
  5. Klik op "OK"

WebJobs zijn vooral handig voor:

  • Geplande opschoning van data
  • Regelmatige rapportagegeneratie
  • Periodieke modelretraining
  • Datasynchronisatie tussen systemen

Hybride connectiviteit voor on-premises data

Veel organisaties hebben data die on-premises blijft. Azure App Service kan verbinding maken met deze data via:

  1. VNet-integratie: Verbind je App Service met een virtueel netwerk dat via ExpressRoute of VPN met je on-premises netwerk is verbonden.
  2. Hybrid connections: Een eenvoudiger alternatief zonder VPN, waarmee je App Service specifieke on-premises servers op hostnaam en poort kan bereiken.

Zo stel je Hybrid Connections in:

  1. Selecteer in je App Service "Networking" in de linkerzijbalk
  2. Ga naar "Hybrid Connections"
  3. Klik op "Add hybrid connection"
  4. Maak een nieuwe of gebruik een bestaande verbinding
  5. Geef de endpoint-hostnaam en -poort op
  6. Installeer de Hybrid Connection Manager op je on-premises server

Feature flags implementeren voor data-applicaties

Met feature flags kun je functionaliteit selectief inschakelen, wat waardevol is voor A/B-testen van datafeatures of het geleidelijk uitrollen van nieuwe modellen:

{
  "FeatureFlags": {
    "NewRecommendationModel": false,
    "AdvancedDataFiltering": true
  }
}

Lees deze flags in je code:

import os
import json

feature_flags = json.loads(os.environ.get('FeatureFlags', '{}'))
use_new_model = feature_flags.get('NewRecommendationModel', False)

if use_new_model:
    # Use new recommendation model
else:
    # Use existing model

Met deze aanpak kun je nieuwe features testen met een subset van gebruikers of snel problematische features uitschakelen zonder opnieuw te deployen.

> Wil je dieper duiken in het automatiseren van de uitrol van ML-modellen, bekijk dan deze cursus over CI/CD voor Machine Learning.

Conclusie

In deze tutorial hebben we behandeld hoe je Azure App Service voor data-applicaties instelt, deployt, configureert, schaalt en optimaliseert. Van je eerste App Service maken tot geavanceerde features zoals autoscaling en hybride connectiviteit implementeren: je hebt nu de kennis om het Azure-platform voor je dataworkloads te benutten.

Belangrijkste punten

  1. Azure App Service biedt een volledig beheerd platform waarmee dataprofessionals zich kunnen focussen op applicatielogica in plaats van infrastructuurbeheer.
  2. Meerdere deploymentopties maken naadloze integratie mogelijk met je bestaande ontwikkelworkflow, of je nu GitHub, Azure DevOps of lokale Git-repo's gebruikt.
  3. Schaalopties zorgen dat je applicatie uiteenlopende workloads aankan, van ontwikkeltesten tot productiepiekverkeer.
  4. Ingebouwde monitoring- en diagnosetools helpen betrouwbaarheid en performance te behouden, met specifieke metrics voor data-applicaties.
  5. Kostenoptimalisatiestrategieën stellen je in staat maximale waarde te halen met minimale uitgaven, vooral belangrijk voor resource-intensieve dataworkloads.

Volgende stappen

Wil je verder met Azure App Service, verken dan:

  1. Integratie met Azure ML: Deploy modellen die in Azure Machine Learning zijn getraind naar je App Service voor inference.
  2. Azure Functions: Voor event-driven, serverless compute die je App Service-applicaties aanvult.
  3. Azure API Management: Voor het beveiligen en beheren van API's die je dataservices ontsluiten.
  4. Azure Logic Apps: Voor workflow-automatisering tussen je App Service en andere databronnen.
  5. De Microsoft Azure Fundamentals-track is ook een geweldige bron als je je voorbereidt op certificering of gestructureerd wilt leren.

Onthoud dat het cloudlandschap snel evolueert, dus houd de Azure-updatespagina in de gaten voor nieuwe features en services die je data-applicaties kunnen verbeteren!

Kofi Glover

Auteur

Kofi Glover

Liefhebber van agentische AI met een passie om de kracht van AI in te zetten voor zakelijke waarde en om de Future of Work vorm te geven. Thought leader en vroege adopter van baanbrekende technieken en technologieën zoals multi-agent-systemen, generatieve AI, deep reinforcement learning, multimodale AI-systemen, flow-engineering en prompt engineering.

Brede technische achtergrond, waaronder machine learning, data science, kwantitatieve modellering, software engineering, DevOps en cloud computing.

Onderwerpen

Gerelateerd