- Minimize cold starts by keeping function dependencies lightweight (especially in Consumption plans).
- Use input and output bindings rather than SDKs to interact with Azure storage services securely.
- Use native Azure input and output bindings wherever possible instead of instantiating the SDK manually to manage state.
- Keep dependencies lightweight. Severe bloat will exponentially increase cold start times on Consumption plans.
- Segregate functions into separate Function Apps if they have drastically different scaling profiles or memory requirements.
- Use Durable Functions for stateful orchestration instead of manually chaining functions via queues.