Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Going Serverless with Microsoft Azure

Going Serverless with Microsoft Azure

There's an industry buzz around Serverless architectures and for good reason! Serverless computing allows us to build apps faster without worrying about infrastructure.

In this talk, we look at:

* The benefits of serverless for companies and developers
* When to choose serverless over other options
* How to build serverless apps in Azure (it's not just Functions!)

Caf3bdbfb485fde4b7377f671af3bff1?s=128

Matt Burrell

May 04, 2018
Tweet

Transcript

  1. Going Serverless with Microsoft Azure Matt Burrell SOLUTION ARCHITECT @mattburrellnet

    www.mattburrell.net
  2. What you’ll learn • Meaning • Benefits • Azure serverless

    components • Use cases
  3. Matt Burrell • Developer / Solution Architect • www.mattburrell.net •

    matt@mattburrell.net • Working towards MCSE: Cloud Platform and Infrastructure • Spencer: www.spencer.education App Service Cosmos DB Azure SQL Traffic Manager Function
  4. What does serverless mean?

  5. “Running code on-demand without having to explicitly provision or manage

    infrastructure.”
  6. On- premises IaaS PaaS FaaS Evolution of Cloud Computing CaaS

  7. Core Principles of Serverless Fully Managed Instant Scale Micro Billing

  8. Benefits Faster Time to Market Reduced Costs Focus on Business

    Logic Developer Productivity Serverless
  9. Drawbacks • Cold starts • Less control • Resource limits

    • Vendor lock-in • Multi-tenancy But… Can architect around most of these!
  10. ‘Less Ops’ not ‘No Ops’

  11. Traditional stack Web Server Services Database Server Serverless stack API

    Gateway Functions-as-a- Service Database-as-a- Service
  12. Serverless Components in Azure Functions Serverless Compute Logic Apps Serverless

    Workflow Event Grid Serverless Events
  13. Demo Azure Functions - Portal

  14. Azure Functions Tips • Write single-purpose, stateless functions • Use

    within push-based, event-driven architecture • Use SaaS connectors where possible • Prefer NoSQL databases to persist state • Don’t use if you need WebSockets (e.g. SignalR, bots)
  15. Azure Functions Tips • Delegate long-running tasks (durable functions/queues) •

    Document APIs using OpenAPI (Swagger Specification) • Secure http communications between functions • Identify performance bottlenecks
  16. What about state and workflow?

  17. Pattern #1: Function Chaining

  18. Pattern #2: Fan-out/Fan-in

  19. Pattern #3: Async HTTP APIs

  20. Pattern #4: Human interaction

  21. Durable Functions • Lets you write stateful, reliable functions •

    Extension – manages state, checkpoints, restarts • Assists with orchestrated workflows
  22. Use Cases Single Page Applications SaaS Integration Scheduled Tasks CQRS

    IoT Mobile backends Gaming Blockchain Prototyping MVPs N anoservices Batch processing Event streaming Analytics Image manipulation Video processing AI Hybrid cloud CI/CD
  23. Use Case 1: Single Page Applications Azure Functions Proxy Cosmos

    DB Function App Blob Storage
  24. Azure Function Proxies • Light API gateway (without throttling, transforms,

    developer portal) • Unified end-point – break large APIs into multiple function apps (c.f. microservices) • Mocking APIs –unblock mobile dev teams
  25. Demo Azure Functions Proxies

  26. What about ‘serverless MVC’?

  27. Function App Service Redis Cache Cosmos DB Queue Use Case

    2: CQRS reads writes
  28. Use Case 3: SaaS Integration

  29. Logic Apps Automating workflows Connecting cloud- based systems Bridging on-

    premises and cloud Enterprise messaging
  30. Durable Functions Logic Apps Development Code-first (imperative) Designer-first (declarative) Connectivity

    About a dozen built-in binding types, write code for custom bindings Large collection of connectors, Enterprise Integration Pack for B2B scenarios, build custom connectors Actions Each activity is an Azure function; write code for activity functions Large collection of ready-made actions Monitoring Azure Application Insights Azure portal, Operations Management Suite, Log Analytics Management REST API, Visual Studio Azure portal, REST API, PowerShell, Visual Studio Execution context Can run locally or in the cloud. Runs only in the cloud.
  31. Demo Logic Apps

  32. Questions?

  33. Thank you matt@mattburrell.net