AZ-DEV-110: Serverless Development with Azure Functions (.NET 10)
.NET 10 isolated worker Functions v4 end-to-end — triggers, bindings, Durable, hosting plans, MI security, App Insights.
About This Course
Master Azure Functions v4 on the .NET 10 isolated worker model. Cover every trigger and binding type, Durable Functions orchestration patterns, hosting plans (Consumption, Premium, Flex Consumption, App Service Plan, Container Apps), scaling behavior, cost optimization, and modern observability with Application Insights.
Course Curriculum
20 Lessons
Azure Functions v4 fundamentals - isolated worker, triggers, bindings, and local dev
Learn how Azure Functions v4 actually runs on the .NET 10 isolated worker model — the host process, the worker process, the extensions bundle, and the boundary between them. You will be able to explain the isolated worker model, distinguish triggers from bindings from extensions, bootstrap a Function app with Program.cs, and set up a local dev loop with Core Tools + Azurite.
AZ-DEV-110 M1L2 - Scaffold, run locally, and deploy your first HTTP-triggered Function to Flex Consumption - Lab Exercises
Note: This lab pre-provisions an empty resource group at start — allow up to 3 minutes for it to become ready before beginning the exercises.
Anchorline Outdoors' first Azure Function, built end-to-end by you. Create the Flex Consumption Function App + Storage (MI-authenticated, no shared keys) + Log Analytics + workspace-based App Insights yourself with the Azure CLI. Run the starter locally with Azurite + func start, deploy it to Azure with az functionapp deployment source config-zip, and confirm the HTTP endpoint responds from the cloud.
Design HTTP-triggered Azure Functions as REST APIs with OpenAPI
Learn how to build a real REST API on Azure Functions HTTP triggers — route templates, HTTP methods, authorization levels, model binding, and OpenAPI specification generation. You will be able to design a Functions-as-API surface, protect endpoints with function keys or Entra ID, and publish a self-serve Swagger UI at /api/swagger/ui.
Build a 5-endpoint Todos REST API with OpenAPI on Azure Functions - Lab Exercises
Note: This lab pre-provisions Azure resources at start — allow up to 10 minutes for the environment to become ready before beginning the exercises.
Add the three missing CRUD endpoints to the Anchorline Todos API (POST/PUT/DELETE), decorate them with OpenAPI attributes, then deploy and explore the auto-generated Swagger UI. You will also rotate a function key and observe the impact.
Storage triggers - blob, queue, and table bindings for Azure Functions
Learn how Azure Functions integrates with Storage: blob triggers (polling vs Event Grid), queue triggers, table bindings, poison-message handling, and concurrency knobs. You will be able to pick the right trigger for each workload shape, design for poison-message resilience, and tune throughput.
Build a blob-triggered thumbnail pipeline and measure concurrency - Lab Exercises
Note: This lab pre-provisions Azure resources at start — allow up to 10 minutes for the environment to become ready before beginning the exercises.
Deploy the Anchorline thumbnail generator. You will run it locally, deploy to Azure, upload a single test image and confirm a thumbnail lands in the output container, then bulk-upload 100 images and measure how the concurrency knobs in host.json affect throughput.
Timer triggers, NCRONTAB, and the singleton pattern for scheduled work
Learn how to schedule Azure Functions with the TimerTrigger — NCRONTAB syntax, the singleton pattern for jobs that must NOT run twice, RunOnStartup for testability, and monitor persistence for catching up on missed executions. You will be able to write correct NCRONTAB, guarantee a job runs on exactly one instance even when scaled out, and reason about time-zone behavior.
Build a timer-triggered nightly report with a singleton blob-lease lock - Lab Exercises
Note: This lab pre-provisions Azure resources at start — allow up to 10 minutes for the environment to become ready before beginning the exercises.
Ship the Anchorline nightly inventory report. You will deploy the timer function with a per-minute cadence for observability, add a manual blob-lease singleton around the work so scale-out doesn't produce duplicate reports, verify the lock behavior, and swap the schedule from per-minute test cadence to the production 02:00 UTC value.
Service Bus, Event Hub, and Event Grid triggers
Learn when to use each messaging trigger — Service Bus (business workflow), Event Hub (high-volume telemetry), Event Grid (reactive integration). You will be able to distinguish queue vs topic subscription, reason about at-least-once vs exactly-once, and design for CloudEvents schema.
Wire an Event Grid to Function to Cosmos DB pipeline with idempotent duplicate detection - Lab Exercises
Note: This lab pre-provisions Azure resources at start — allow up to 12 minutes for the environment to become ready before beginning the exercises.
Deploy the Anchorline Event Grid pipeline. You will inspect the pre-provisioned Function App + Cosmos + Storage, deploy the starter Function with EventGridTrigger + CosmosDBOutput, wire an Event Grid subscription on the storage account's Blob.Created events, upload a blob and confirm a Cosmos document lands, then RE-SEND the same event to verify idempotency.
Durable Functions - orchestration, activities, and workflow patterns
Learn Azure Durable Functions — the stateful orchestration extension for building long-running workflows. You will be able to write orchestrator + activity functions, use fan-out/fan-in, function chaining, human interaction (approval), monitor, and entity patterns, and reason about replay-safe orchestrator code.
Build a Durable Functions order-approval workflow with fan-out and human interaction - Lab Exercises
Note: This lab pre-provisions Azure resources at start — allow up to 10 minutes for the environment to become ready before beginning the exercises.
Deploy Anchorline's order-approval Durable workflow. You will submit a small order and watch the orchestrator confirm it; submit a high-value order and observe it pauses for human approval; send the approval external event and watch the fan-out finish; then inspect the orchestration history via the DurableTaskClient status endpoint.
Input and output bindings for Azure Functions
Learn the full input/output binding surface — Cosmos, SQL, Blob, Table, Service Bus, Queue — plus IEnumerable vs single-item shapes, custom bindings, and DI patterns. You will be able to fan data out via three simultaneous output bindings with zero SDK code.
Fan a webhook out to Cosmos, Blob, and Service Bus via multi-output bindings - Lab Exercises
Note: This lab pre-provisions Azure resources at start — allow up to 12 minutes for the environment to become ready before beginning the exercises.
Deploy the Anchorline order webhook. You will send a POST, verify one invocation wrote to THREE destinations (Cosmos, Blob, Service Bus) via multi-output bindings, add idempotency (using order id as the Cosmos doc id), and observe what happens on retry.
AZ-DEV-110 M8L15 - Hosting plans and scaling - Flex Consumption, Premium, Dedicated, Container Apps
Learn which Azure Functions hosting plan fits which workload — Consumption (cold-start heavy, cheap), Premium (always-warm, VNet), Flex Consumption (per-instance memory, GA), App Service Plan (dedicated), Container Apps (KEDA). You will be able to reason about cold-start latency, cost per 1M executions, and pick the right plan.
AZ-DEV-110 M8L16 - Deploy the same Function to Flex Consumption and Premium and measure cold start - Lab Exercises
Note: This lab pre-provisions Azure resources at start — allow up to 12 minutes for the environment to become ready before beginning the exercises.
Deploy the same Function code to a Flex Consumption plan (FC1) and a Premium plan (EP1 with alwaysReady=1). Fire probe requests with idle windows between them so cold starts are visible. Compare P50 / P95 / P99 latency across the two plans and make a plan choice.
Security, identity, and networking for Azure Functions
Learn how Managed Identity, Key Vault references, VNet integration, private endpoints, and Entra ID auth compose for a secure Azure Functions app. You will be able to switch from connection strings to MI, protect an HTTP endpoint with Entra ID, and design VNet + private-endpoint topology.
Wire a Function App to Storage and Key Vault with managed identity - Lab Exercises
Note: This lab pre-provisions Azure resources at start — allow up to 10 minutes for the environment to become ready before beginning the exercises.
Deploy the Anchorline MI-based Function App. You will inspect the pre-provisioned MI + role assignments, deploy the code, verify /whoami shows the Function's identity, confirm /blobs and /secret work without any connection string, then remove the Storage role and observe the failure.
Production readiness for Azure Functions - monitoring, cost, and the checklist
Wrap up the course with a production readiness checklist for Azure Functions — App Insights instrumentation, cost analysis, SLOs, alerts, and the operational muscle needed to ship a serverless workload. You will be able to walk any Function App and identify the top three production gaps.
Ship an end-to-end serverless pipeline - Anchorline order intake capstone - Lab Exercises
Note: This lab pre-provisions Azure resources at start — allow up to 12 minutes for the environment to become ready before beginning the exercises.
Ship the Anchorline order-processing pipeline end to end. You will deploy an HTTP intake → Durable orchestrator → Cosmos writer stack with OpenTelemetry custom metrics, drive load against it, query KQL for latency + throughput dashboards, and wire a P95 latency alert with an Action Group.