The document discusses practical serverless use cases in Azure. It summarizes popular serverless technologies like Azure Functions, Azure API Management, and Azure Logic Apps. It then discusses common use cases like event-driven applications and durable functions. The document also covers best practices for serverless applications including keeping functions stateless and designing for failure. It highlights potential pitfalls like cold starts and scale limits. Finally, it discusses serverless across multiple clouds and frameworks to build cloud-agnostic serverless applications.
22. Best practices
01 | Keep function small and stateless.
02 | Control connection limits.
03 | Design for failure and use throttling.
04 | Avoid long runs and direct chaining.
05 | Use HttpClient via static.
06 | Use scalable storages.
07 | Build communications via queues and hubs.
23. Pitfalls
01 | Consumption compute slow
02 | Scale-out have limits.
03 | Bad fit with legacy.
04 | Cold start.
06 | Cloud vendor lock-in.
07 | Failure at scale.
24. Know your limits
01 | Functions connections limits.
02 | Processing time limit.
03 | External rate limits.
04 | Scale-out limit.
05 | ACU per instance limit.
06 | Storage limit.
25. SECURITY ● Function code auth.
● 5 App Service options.
● No custom OIDC option.
● CSP, CORS settings.
● Azure Managed Identity.
● VNet only in Premium
plan.
28. ● Consumption plan is cheap
● Billing estimation is
complicated.
● Cheapest possible ETL.
● Long running functions
with poor design will result
in excessive cost.
● Vulnerable for Denial-of-
wallet attacks.
30. Any platform, any cloud?
01 | Vendor lock-in problem.
02 | Multicloud is a tech debt.
03 | Consider local run option.
04 | Storage is the real problem.
05 | Think in terms of code.
06 | Estimate multi cloud.
Azure compute units
https://docs.microsoft.com/en-us/azure/azure-functions/functions-scale
Why we
https://github.com/Azure/azure-functions-durable-extension/issues/593
table.CreateIfNotExists() actually works (Azure Storage SDK), (it asks the Storage API for the table and makes the POST request to create it if 404).