Azure Functions Platform (Development) ​
This page is the canonical The Pipeline Framework (TPF) guide for FUNCTION platform builds that target Azure Functions. For the broader provider matrix, pair it with the Multi-Cloud Function Providers Guide.
What TPF Supports Today ​
- Platform mode:
FUNCTION(default platform remainsCOMPUTE) - Transport mode:
REST(required in Function mode) - Azure-specific handlers: generated HTTP-trigger handlers using Azure Functions bindings
- Local verification: Azure Functions Core Tools and the Search example in
examples/search
FUNCTION does not currently support gRPC transport. If you select FUNCTION, the generated runtime must use REST.
Durability Scope ​
FUNCTION is a serverless invocation and packaging path. It is not the TPF durable orchestration path.
| Path | Current support |
|---|---|
COMPUTE + QUEUE_ASYNC | TPF-owned execution records, leases, await units, retry/DLQ, re-drive, release pinning, and worker lifecycle. |
FUNCTION | Generated Azure Functions handlers and REST adapters. Azure may retry invocations depending on trigger configuration, but TPF does not own durable coordinator state inside the function runtime. |
Use Azure Functions mode for stateless or caller-retried function invocations. Use the durable coordinator path when the application requires TPF-owned recovery, await resume, DLQ/re-drive, or checkpoint handoff.
What this path covers ​
TPF keeps the typed Java business flow unchanged while generating Azure-specific entry points around it.
This path is for:
- generated Azure Functions handlers,
- local/provider verification of the function runtime,
- deploying the same flow through Azure’s function platform.
This path is not:
- a replacement for
COMPUTE+QUEUE_ASYNC, - a checkpoint-handoff runtime,
- a separate TPF runtime model just because Azure also offers Durable Functions.
Azure Durable Functions do not change TPF runtime semantics. If you need queue-backed HA, checkpoint handoff, or orchestrator-managed crash recovery, use the COMPUTE + QUEUE_ASYNC path.
For the future all-serverless durable coordinator design track, see All-Serverless Durable Coordinator. That design is not current Azure Functions support.
Example verification surface ​
The current repo verification surface for Azure is located in examples/search.
Build:
./examples/search/build-azure.sh -DskipTestsBootstrap smoke:
./scripts/ci/bootstrap-local-repo-prereqs.sh framework
./mvnw -f examples/search/orchestrator-svc/pom.xml \
-Dtpf.build.platform=FUNCTION \
-Dtpf.build.transport=REST \
-Dtpf.build.rest.naming.strategy=RESOURCEFUL \
-Dtpf.build.azure.scope=compile \
-Dquarkus.profile=azure-functions \
-Dsurefire.failIfNoSpecifiedTests=false \
-Dtest=AzureFunctionsBootstrapSmokeTest \
testFor deeper Azure-specific setup and local runtime testing with Core Tools, use the dedicated Search guide.