App Services
• Wat is App Service?
Azure App Service is an HTTP-based service for hosting web applications, REST APIs, and
mobile back ends.
• Welke operating systems worden ondersteund?
Windows / Linux
• Autoscale wordt out of the box ondersteund. Wat doet scale out/in?
Scaling out/in is the ability to increase, or decrease, the number of machine instances that are
running your web app.
• Wat doet scale up/down?
Depending on the usage of the web app, you can scale the resources of the underlying machine
• Welke resources kunnen bij scale up/down worden op-/afgeschaald?
Aantal cores en de hoeveelheid beschikbare RAM
• App Service ondersteund Continuous Integration en Continuous Deployment. Welke methodes
worden ondersteund?
Azure DevOps, GitHub, Bitbucket, FTP, or a local Git repository on your development machine
• Op welke wijze ondersteunt App Services meerdere omgevingen voor een app?
D.m.v. Deployment Slots
• Wat doet een Deployment slot?
Deployment slots are live apps with their own host names
• Voor welke pricing tier zijn Deployment slots beschikbaar?
Standard, Premium, of Isolated App Service plan tier. Dus niet voor de Free en Shared Tier!
• Wat zijn de beperkingen voor App Service op Linux?
• App Service on Linux is not supported on Shared pricing tier.
• You can't mix Windows and Linux apps in the same App Service plan.Historically, you could
not mix Windows and Linux apps in the same resource group. However, all resource groups
created on or after January 21, 2021 do support this scenario. Support for resource groups
created before January 21, 2021 will be rolled out across Azure regions (including National
cloud regions) soon.
• The Azure portal shows only features that currently work for Linux apps. As features are
enabled, they're activated on the portal.
App Service Plan
• Wat is een App Service Plan?
An App Service plan de nes a set of compute resources for a web app to run
• Welke Azure-resources draaien in een App Service plan?
• Een app (Web Apps, API Apps, or Mobile Apps) in App Service altijd
• Een Azure Function heeft de mogelijkheid om in een App Service Plan te draaien.
• Wat wordt in een App Service Plan ingeregeld?
Een set aan compute-resources o.b.v.:
• Region (West US, East US, etc.)
• Number of VM instances
• Size of VM instances (Small, Medium, Large)
fi
, • Pricing tier (Free, Shared, Basic, Standard, Premium, PremiumV2, PremiumV3, Isolated)
• Welke pricing-tiers heeft een App Service Plan en geef een korte omschrijving?
• Free, Shared: Onderliggende VM worden gedeeld, ook met andere klanten. Scale-out niet
mogelijk. Alleen bedoeld voor tijdens ontwikkeling en testen.
• Dedicated (Basic, Standard, Premium, PremiumV2 en PremiumV3): Apps in de App Service
Plan zijn toegewezen (niet gedeeld met andere klanten) en delen wel dezelfde onderliggende
VM’s. Hoe hoger het plan, hoe meer VM’s. Scale-out mogelijk.
• Isolated: Netwerk-isolatie mogelijk. Maximum aan mogelijkheden voor scala-out mogelijk.
• Consumption: Alleen mogelijk voor Function Apps. Deze schaalt dynamisch o.b.v. workload
van de function-apps.
• Hoe wordt schaling van apps in App Service Plan bepaald door Azure?
Als het aantal VM’s is ingeregeld in de App Service Plan, dan draaien alle apps in het service
plan in al deze instanties.
Als de App Service Plan is ingeregeld voor autoscaling, dan schalen alle apps in het service plan
op o.b.v. de autoscala-settings.
• Waar moet je rekening mee houden met de benodigde capaciteit voor je Service Plan?
• Elk Deployment-slot van je app draait in dezelfde VM
• If you enable diagnostic logs, perform backups, or run WebJobs, they also use CPU cycles
and memory on these VM instances.
• Kan je de pricing tier van je bestaande App Service Plan aanpassen?
Ja, dat kan op elk moment. Daarmee kan je op elk moment de performance van je app
verbeteren.
• Waarom zou je meerdere apps in dezelfde App Service Plan plaatsen?
Om kosten te besparen. Houdt wel rekening met de capaciteit van de VM.
• Wat zijn redenen om je app in een geïsoleerde App Service Plan te plaatsen?
• The app is resource-intensive.
• You want to scale the app independently from the other apps in the existing plan.
• The app needs resource in a di erent geographical region.
Deployment to App Service
• Welke geautomatiseerde methodes biedt Azure om te deployen naar een App Service?
Azure DevOps, GitHib en Bitbucket
• Welke handmatige methodes biedt Azure voor deployment naar een app Service?
Git, CLI, Zip deploy en FTP/S
Authenticatie en Autorisatie in App Service
• In welke mate wordt authenticatie en autorisatie in App Service afgedwongen?
Dit wordt niet afgedwongen.
Reden is dat veel web-frameworks eigen security implementeren die je kunt gebruiken.
• App Service gebruikt Federated Identity. Welke Identity Providers kunt je out of the box
gebruiken?
Microsoft Identity Platform, Facebook, Google, Twitter en elke OpenID Connect-provider.
• Wat doet de ingebouwde authentication- en autorisatie-module voor je?
• Authenticates users with the speci ed provider
• Validates, stores, and refreshes tokens
• Manages the authenticated session
ff fi
, • Injects identity information into request headers
• Beschrijf technisch de ow van authenticatie en autorisatie.
https://learn.microsoft.com/en-us/azure/active-directory/develop/media/v2-oauth2-client-creds-
grant- ow/convergence-scenarios-client-creds.svg
• Welke keuzes van inloggen voor een klant heb je bij een authenticatie-provider?
• Zonder Provider-SDK: De klant logt in op een login-pagina bij de provider. Dit wordt server
directed ow of server ow genoemd.
• Met Provider-SDK: De applicatie logt in bij de provider en submits een authentication token
ter validatie. Meestal wordt dit gebruikt bij browserless apps (bijv. REST API’s, Azure
Functions, Javascript browser clients en native mobile apps) die geen login-pagina kunnen
tonen. Dit wordt client directed ow of client ow genoemd
• Welke mogelijkheden heeft een App Service om een anonymous request af te handelen?
• Allow unauthenticated requests: Requests gaan naar je applicatie en kan deze dus
afhandelen
• Require authentication: Je wordt geredirect naar je providers login-pagina, of als dat niet
mogelijk is (native client bijvoorbeeld, zie antwoord bij vraag hiervoor) dan krijg je
(con gureerbaar) een http 401 (unauthorized) of http 403 (forbidden)
App Service Networking Features
• Wat is de standaard-toegang voor een App Service?
Standaard zijn apps in app service toegankelijk vanaf het internet.
• Welke twee deployment types biedt App Service?
• multitenant public service
hosts App Service Plan in de Free, Shared, Basic, Standard, Premium, PremiumV2, and
PremiumV3 pricing SKUs
• Single-tenant App Service Environment (ASE)
hosts Isolated SKU App Service plans directly in your Azure virtual network.
fi fl fl fl fl fl
, • Wat zijn front ends en workers?
Front ends zijn de rollen in een App Service die de binnenkomende HTTP(S) requests
afhandelen. Workers zijn de rollen die de workload afhandelen.
Deze rollen bestaan allemaal binnen het App Service distributed system waarvan meer klanten
gebruik maken. Dit netwerk kan je niet aan je eigen netwerk koppelen.
• Omdat App Service een distributed system is waar meer klanten gebruik van maken en je deze
niet aan je eigen netwerk kunt koppelen, biedt Azure features aan om aan events binnen dit
netwerk naar (inbond) en vanuit (outbound) je app te koppelen. Welke features biedt Azure?
Inbound Outbound
• App-assigned address • Hybrid Connections
Voorbeelden om te gebruiken bij: • Gateway-required virtual network integration
• Support IP-based SSL needs for your app • Virtual network integration
• Support unshared dedicated inbound address
for your app
• Access restrictions
Voorbeelden om te gebruiken bij:
• Restrict access to your app from a set of well-
de ned addresses
• Service endpoints
• Private endpoints
• Wat is een consequentie op het gebied van netwerk als je je pricing-tier aanpast tussen Free,
Shared, Basic, Standard, and Premium plan?
Het outbound ip-adres van je app wijzigt. Als je wilt weten welke publieke ip-adressen voor je
service-plan gebruikt worden, dan is dat terug te vinden in de properties van je service-plan in
Azure: possibleOutboundAddresses,
Of via (bash):
az webapp show \
--resource-group <group_name> \
--name <app_name> \
--query outboundIpAddresses \
--output tsv
Con gure App Service
Dit gaat over con guratie die je bij je web-app instelt onder Settings -> Con guration
fi
fi fi fi