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

Azure Serverless 101: Running the Cocktail Bar in Azure

Azure Serverless 101: Running the Cocktail Bar in Azure

A brief walkthru on how I select Azure Services, especially for a Serverless Backend, based on a hypothetical Cocktail Bar. The talk was designed for other Cloud Platform user groups to have a glimpse of the process, architecture patterns, and Azure Services available for those requirements.

Kosala (Nuwan) Perera

February 10, 2020
Tweet

More Decks by Kosala (Nuwan) Perera

Other Decks in Technology

Transcript

  1. Questions to Ask Running the Cocktail Bar in Azure •

    How much control do I need? • Where do I need my apps to run? • What usage model do I need? • Which functionality do I need?
  2. How much control do I need? Control and Responsibility Working

    on business value IaaS PaaS Serverless SaaS • App con fi guration • Application • Server con fi guration • Operating system • Anti-virus • Network • App con fi guration • Application • Server con fi guration • App con fi guration • Application • App con fi guration
  3. Where do I need my apps to run? In Azure

    • Azure Public Cloud Somewhere else • On-prem • Local development computer • Other clouds
  4. What usage model do I need? Consumer Classic model •

    Always On • Pay per month All the time Occasionally Serverless model • Runs when needed • Pay per execution
  5. Azure Services Expectations from Azure • I trust Azure to

    scale for me • I needs to run in Azure • I needs to run as and when needed
  6. Azure Services Running the Cocktail Bar in Azure Control and

    Responsibility Working on business value • VM • Container Instances • Container Services (AKS) • Web App for Containers • Batch • Service Fabric • Cloud Services • Mobile App • Web App • Service Fabric • Functions • Logic Apps IaaS PaaS Serverless
  7. Azure Services Run anywhere or stay vendor agnostic Control and

    Responsibility Working on business value • VM • Container Instances • Container Services (AKS) • Web App for Containers • Batch • Service Fabric • Cloud Services • Mobile App • Web App • Service Fabric • Functions • Logic Apps IaaS PaaS Serverless
  8. Azure Services Run as and when needed Control and Responsibility

    Working on business value • VM • Container Instances • Container Services (AKS) • Web App for Containers • Batch • Service Fabric • Cloud Services • Mobile App • Web App • Service Fabric • Functions • Logic Apps IaaS PaaS Serverless
  9. Serverless Backend Typical serverless azure architecture External or Internal Client

    Apps Mobile and Web Enterprise Backend Http Endpoint External Webhooks Http Endpoint Backend API Route API Manager 1 2 Request 4 3 Data
  10. External or Internal Securing the Backend Enterprise Backend Http Endpoint

    External Webhooks Http Endpoint Backend API Secrets Route API Manager 1 4 5 3 2 AD Request: Bearer ... Data Client Apps Mobile and Web
  11. External or Internal Caching for faster response Enterprise Backend Http

    Endpoint External Webhooks Http Endpoint Backend API Secrets Route Redis Cache API Manager Edge Cache Data 1 2 3 4 5 AD Request: Bearer ... 6 Client Apps Mobile and Web
  12. External or Internal Broadcasting state changes Enterprise Backend Http Endpoint

    External Webhooks Http Endpoint Backend API Secrets Route Redis Cache API Manager Edge Cache Data 1 2 3 4 5 AD Request: Bearer ... 6 Broadcast Client Apps Mobile and Web
  13. External or Internal Mobile Backend Http Endpoint Enterprise Backend Http

    Endpoint App Service Http Endpoint 3 4 Serverless Webhooks Observer to broadcast 1 2 Broadcast Publisher API Manager Secrets Monitor Topic Push Message Broker Subscriptions
  14. External or Internal Mobile Backend Http Endpoint Enterprise Backend Http

    Endpoint App Service Http Endpoint 3 4 Pull Serverless Webhooks Message broker to broadcast 1 2 Broadcast Message Broker Publisher API Manager Secrets Monitor Topic Subscriptions
  15. External or Internal Orchestrating the broadcast Mobile Backend Http Endpoint

    Enterprise Backend Http Endpoint App Service Http Endpoint 1 Push Dispatch Publisher Orchestrate API Manager Secrets Monitor Topic Message Broker 2 3 Subscriptions
  16. External or Internal Decoupling the subscribers Subscriptions Mobile Backend Http

    Endpoint Enterprise Backend Http Endpoint App Service Http Endpoint Push Dispatch Publisher Orchestrate API Manager Secrets Monitor Topic Message Broker 3 2 Subscriptions 1
  17. External or Internal Separating and grouping Webhooks Topics • Bar

    • Cocktails • Orders Events • Order.Received • Order.Completed • Order.Cancelled • Cocktail.Introduced • Cocktail.Discontinued • Cocktail.Refreshed • Bar.Opened • Bar.HappyHourStarting • Bar.HappyHourStarted • Bar.HappyHourEnding • Bar.HappyHourEnded • Bar.Closed Mobile Backend Http Endpoint Enterprise Backend Http Endpoint App Service Http Endpoint 1 2 Broadcast Secrets Subscriptions
  18. External or Internal Subscribing to a Topic Mobile Backend Http

    Endpoint Enterprise Backend Http Endpoint App Service Http Endpoint 1 2 Broadcast Secrets Subscriptions Subscriptions • Application Key • Access Token • Event • Http Endpoint • Expiration
  19. Running the Cocktail Bar in Azure It's actually me
 @kosalanuwan

    Ask me anything about .NET, Javascript, GitHub, and all things OSS, Clean Code and Clean Architecture, BUT NOT Java or Machine Learning. Azure Serverless 101