Portable Serverless Functions ​
The Pipeline Framework (TPF) lets teams keep the same typed Java functions while targeting either a standard Quarkus service runtime (`COMPUTE`) or a portable serverless function runtime (`FUNCTION`).
At a Glance ​
Use This When ​
- You want a serverless deployment target without rewriting the business flow.
- You need the same pipeline logic to stay portable across cloud function providers.
- You need platform choices and call mechanisms to stay explicit instead of getting mixed together.
TPF keeps the business functions stable while changing the generated runtime around them. That means you can keep one typed Java flow and choose whether TPF generates a standard service runtime or serverless function entry points.
Platform mode vs transport mode ​
These are different decisions:
- Platform mode chooses the generated runtime shape.
COMPUTE: standard Quarkus service/runtimeFUNCTION: serverless function entry points and handlers
- Transport mode chooses how generated components call each other.
- REST
- gRPC
- local in-process calls
In TPF, an adapter is generated code that lets another component call your business function. Platform mode decides what kind of runtime TPF generates around that function. Transport mode decides how the generated components talk.
What FUNCTION mode gives you ​
With FUNCTION mode, TPF can generate serverless function entry points while preserving the same typed Java functions and build-time validation rules.
This is the current portable function-platform story:
- AWS Lambda
- Azure Functions
- Google's Cloud Run functions
The provider-specific handler shape changes, but the flow logic, operator reuse, and generated validation model stay aligned.
Current constraints ​
Keep the current platform limits explicit:
FUNCTIONcurrently requiresRESTtransport;gRPCis not a supportedFUNCTIONtransport today.- Checkpoint handoff is not available in
FUNCTIONmode. - Queue-backed HA and crash recovery belong to the orchestrator
COMPUTE+QUEUE_ASYNCpath.FUNCTIONmode is limited to generated serverless entry points and provider portability; it does not implement the queue-async recovery model.