Azure Developer Associate (YT) - Functions Flashcards
Wat is serverless?
Fully managed cloud service, billed on execution. Can be scale-to-zero
* Highly elastic-scalable
* highly available (heeft wel een warmup nodig)
* Highly durable
* Secure by default
Pay-for-value
Wat is Function as a Service (FAAS) zoals Azure function
Stuk code met event-driven integration trigger in een container.
Voor een serverless app ken je meerdere functions gebruiken.
Functions runnen alleen wanneer ze nodig zijn
FAAS is alleen serverless als je het volledig kunt beheren en scale-to-zero
Wat zijn de Azure function onderdelen?
- Trigger > gekozen event wat een function start. Maar 1 mogelijk
- Input Binding > 1:* datasources die de eerste functie krijgt
- Function App > Collectie of functies met hosting, Runtime en andere instellingen
- Output bindings > 1:* Data consumer dat de output krijg
Welke Storage options heeft een Azure Functions?
- Blob > binding by state & function keys
- Azure Files > File share in Consumption&Premium plan > Set by default
- Queue storage > gebruikt door task hubs en Durable functions
- Table storage > gebruikt door task hubs en Durable functions
Azure function: Welke Authorization levels zijn er?
- anonymous > geen key nodig
- function > functions specific API key nodig (default)
- admin > master key
is later aan te passen
Azure function: Debuggen gaat met Enable stream. Welke opties heb je daarvoor?
Enable streaming log geeft je twee opties
* Built-in log streaming (In Portal en vaak ook lokaal) > App Service laat je de stream of log files zien
* Live Metric Stream > Als je function met Application Insights is verbonden, zie je logdata en andere metric in near realtime
Azure function: Wat is een Application Runtime?
Een docker container met de juiste config. om jou code te runnen. Ondersteund standaard C#, Java, Node.js, PS Core, Python.
Je kunt ook een Custom Handler maken voor bijv. Rust, GO, Ruby ermee kunnen werken
Een Virtual machine dus
Windows vs Linux hosting
Probeer default Windows te gebruiken omdat niet alles voor Linux beschikbaar is. Voor Windows heb je een hogere serviceplan nog.
Connecten met Windows kan van SSH, RDP en Bastion
Connection met Linux kan met SSH en Bastion
Welke Function templates zijn er om als trigger in te stellen?
- http > ontvangt en returns HTTP
- timer
- Blob storage > by uploaded/updated van een blob
- Cosmos DB
- Quees storage
- Event Grid > Serverless even bus in Azure services
- Event Hub (streaming)
- Service Bus Queue (messaging)
- Service Bus Topics (pub/sub)
- SendGrid (email)
Waar slaan we de Azure function conf. op?
in de function.json definieer je triggers, bindings en andere configs settings
Wat doet de host.json binnen de Azure function sln?
De host.json is voor de Function App. Hierin staan conf options voor alle functions binnen de function App. Bijv:
* aggregator
* applicationsinsights
* cosmosdb
* extensions
* functions
* logging
* retry
* etc
Azure functions: Service plans
- Consumption (serverless) > Cold starts > Pay as you use based on CPU/Memory. Auto scale is mogelijk
- Premium > Pre-warmed > Je betaald voor de instance > Scale-out obv instances is mogelijk
- Dedicated (App Service Plan) > VM sharing > Je gebruikt bestaande VM’s tijdelijk om de functions te runnen. Dit is handing wanneer je VM’s hebt die je weinig gebruikt
Functions: Voordeel van Triggers&Bindings?
Voordeel: Je hebt geen hardcoded access nodig voor een externe service. De functions blijven daardoor cleaner
Wat doet een Trigger?
Specific event met payload wat de function invoked. Function kan maar 1 trigger hebben
Wat doet een binding?
Is de connection met een externe service
Er zijn 1:* input en output bindings
Supported: Blob, Cosmo, SQL, Dapr, EventGrid, Kafka, RabbitMQ, ServiceBus, SignalR etc etc.
ze hebben niet allemaal de triggers/input/output en de API versie is van belang