O slideshow foi denunciado.
Seu SlideShare está sendo baixado. ×

.NET Fest 2019. Stas Lebedenko. Practical serverless use cases in Azure with a trick or two

Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Carregando em…3
×

Confira estes a seguir

1 de 37 Anúncio

.NET Fest 2019. Stas Lebedenko. Practical serverless use cases in Azure with a trick or two

Serverless technology is trending, but in-depth details are missing. How does it fit with non-serverless components? What are the practical use cases? Should you fight vendor lock-in? And what about limits and pitfalls with Azure? I will answer those questions, share a few tricks and short demo.
I'll cover serverless usage scenarios with Azure, what problems can be solved, and what is a viable adoption strategy. Then I'm going to talk about technology shortcomings, when to omit it and how to rip all benefits. There are circumstances when a cloud-agnostic approach is beneficial, so I discuss serverless frameworks too and why vendor lock is not that bad. Finally, we'll look at a short demo that illustrates why you have to use specific serverless patterns.

Serverless technology is trending, but in-depth details are missing. How does it fit with non-serverless components? What are the practical use cases? Should you fight vendor lock-in? And what about limits and pitfalls with Azure? I will answer those questions, share a few tricks and short demo.
I'll cover serverless usage scenarios with Azure, what problems can be solved, and what is a viable adoption strategy. Then I'm going to talk about technology shortcomings, when to omit it and how to rip all benefits. There are circumstances when a cloud-agnostic approach is beneficial, so I discuss serverless frameworks too and why vendor lock is not that bad. Finally, we'll look at a short demo that illustrates why you have to use specific serverless patterns.

Anúncio
Anúncio

Mais Conteúdo rRelacionado

Diapositivos para si (20)

Semelhante a .NET Fest 2019. Stas Lebedenko. Practical serverless use cases in Azure with a trick or two (20)

Anúncio

Mais de NETFest (20)

Mais recentes (20)

Anúncio

.NET Fest 2019. Stas Lebedenko. Practical serverless use cases in Azure with a trick or two

  1. 1. Тема доклада Тема доклада Тема доклада KYIV 2019 Stas Lebedenko Practical serverless use cases in Azure. .NET CONFERENCE #1 IN UKRAINE
  2. 2. The ultimate goal is to minimize the lifetime cost of the system and to maximize programmer productivity. @martinfowler
  3. 3. ● Azure Functions ● Azure API Management ● Azure Logic Apps ● Azure SQL Serverless ● Azure Event Grid ● KEDA - Kubernetes-based event-driven autoscale
  4. 4. Most popular use cases.
  5. 5. Functions cold start
  6. 6. Usage with classic applications
  7. 7. The catch with legacy 01 | Cannot handle spike loads. 02 | Caching is a must. 03 | Rate limit via API Facades. 04 | Adjust outgoing throughput. 05 | Limit scalability. 06 | Tune connection pool of SQL Server.
  8. 8. Client applications ● Implement retry. ● Track connection issues. ● Handle 50x and 40x. ● Use additional responses 429 - Too many requests 420 - Enhance your calm
  9. 9. Serverless API facades Azure Functions Proxy Azure API Management VS
  10. 10. Serverless Web App
  11. 11. Serverless API
  12. 12. Stateless actors
  13. 13. Event-driven applications
  14. 14. Durable functions 01 | Based on Durable Task Framework. 02 | Stateful coordination. 03 | Partially in preview. 04 | Orchestrator function. 05 | Entity function. 06 | Ideal for complex Coordinated pipelines.
  15. 15. IoT Hub message pipelines
  16. 16. Event processing pipelines
  17. 17. ETL via Fan-in => Fan-out
  18. 18. Big Data pipelines
  19. 19. Durable orchestration
  20. 20. Serverless best practices and pitfalls
  21. 21. 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.
  22. 22. 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.
  23. 23. 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.
  24. 24. SECURITY ● Function code auth. ● 5 App Service options. ● No custom OIDC option. ● CSP, CORS settings. ● Azure Managed Identity. ● VNet only in Premium plan.
  25. 25. Just a few tricks Premium scaler
  26. 26. Massive scale increase probability of the massive failure.
  27. 27. ● 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.
  28. 28. Cloud-agnostic serverless
  29. 29. 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.
  30. 30. Pulumi framework
  31. 31. Serverless framework
  32. 32. Wrap-up
  33. 33. Demo. Your rate prediction.
  34. 34. Ask Zoltar
  35. 35. Keep up with technology
  36. 36. Questions? Linked IN Twitter

Notas do Editor

  • Azure compute units
  • 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).

×