eXtreme Serverless Azure: Data, Compute, Realtime - in Action!

eXtreme Serverless Azure: Data, Compute, Realtime - in Action!

Whaaat? No servers? Well, yes. Serverless is all the hype these days. Let's try to sort out some of the real strenghts of Serverless and see where Serverless & PaaS build a set of highly productive weapons in your Cloud arsenal. Join Christian Weyer from Thinktecture while he discusses Azure Functions, Storage, CosmosDB and SignalR Service in a holistic scenario - all by building an end-to-end solution that should 'just work' by the end of this session: creating a scalable real-time application in almost no time - really? Aaand action!

7e0087a19318ded4ba2203187694740f?s=128

Christian Weyer

October 12, 2018
Tweet

Transcript

  1. eXtreme Serverless Azure Data, Compute, Realtime - in Action! Christian

    Weyer @christianweyer CTO
  2. 2 § Founder & CTO at Thinktecture AG § Personal

    focus on § Mobile & web-based application architectures § Interoperability, cross-device § Pragmatic end-to-end solutions § Cloud-native & serverless architectures § Independent Microsoft Regional Director § Microsoft MVP for ASP.NET (Architecture) ASPInsider, AzureInsider § Google GDE for Web Technologies § christian.weyer@thinktecture.com § ! @christianweyer Christian Weyer Data, Compute, Realtime - in Action! eXtreme Serverless Azure
  3. 3 § Microservices, Nanoservices § Serverless in Azure § Azure

    Functions § Azure Cosmos DB § Azure SignalR Service eXtreme Serverless Azure Data, Compute, Realtime - in Action! Topics
  4. 4 How ‘large’ is ‘small’? Microservices Data, Compute, Realtime -

    in Action! eXtreme Serverless Azure
  5. 5 § Modern business applications architectures: we strive for isolating

    functional services § Choice of technology, use best communication means § Microservice: unit of independent deployment for a business domain-specific service § Nanoservice: like Microservice, but more focused & lightweight; can be replaced easier § Functions as the mental model § Make things easier, get productive eXtreme Serverless Azure Data, Compute, Realtime - in Action! Microservices – or rather: Nanoservices !
  6. 6 A different approach Serverless Data, Compute, Realtime - in

    Action! eXtreme Serverless Azure
  7. 7 § We can choose from a continuum § VM

    ➔ § Containers ➔ § Orchestrators ➔ § PaaS ➔ § Serverless eXtreme Serverless Azure Data, Compute, Realtime - in Action! Evolution to Cloud Compute Continuum PaaS IaaS On-Premises Serverless
  8. 8 What is Serverless, anyway? Data, Compute, Realtime - in

    Action! eXtreme Serverless Azure
  9. 9 § Serverless Compute → Azure Functions § Serverless Database

    → Azure Cosmos DB § Serverless Storage → Azure Storage § Serverless Realtime → Azure SignalR Service § Serverless Events → Azure Event Grid § Serverless Messaging → Azure Service Bus § Serverless Workflows → Azure Logic Apps Azure Durable Functions § Serverless IoT → Azure IoT Hub § Serverless Analytics → Azure Application Insights § Serverless Containers → Azure Container Instances Data, Compute, Realtime - in Action! Serverless in Azure eXtreme Serverless Azure
  10. 10 eXtreme Serverless Azure Data, Compute, Realtime - in Action!

    There are NO servers! https://twitter.com/jeffhollan/status/1030244102082682880
  11. 11 eXtreme Serverless Azure Data, Compute, Realtime - in Action!

    Sample Architecture
  12. 12 Azure Functions Serverless Code / Compute Data, Compute, Realtime

    - in Action! eXtreme Serverless Azure
  13. 13 § Azure Functions is code being triggered by an

    event § Focused code + events § Basic principles enable powerful use cases § Events § Triggers § Bindings § Two ways of operation § Cost-optimized, automatic scale (aka Consumption Plan) § Always-on § V2 Runtime built on .NET Core § Available for e.g. self-hosting Data, Compute, Realtime - in Action! Azure Functions: Functions-as-a-Service eXtreme Serverless Azure
  14. 14 § Incoming event triggers function § Input bindings enable

    easy access to data from various data sources § Output bindings offer easy access to outbound data sinks Data, Compute, Realtime - in Action! Triggers & Bindings eXtreme Serverless Azure Your code logic Runtime Azure Function HTTP Trigger Storage Input Binding Push Notification Output Binding Database Output Binding Email Output Binding Example
  15. 15 Data, Compute, Realtime - in Action! Triggers & Bindings

    in Code eXtreme Serverless Azure
  16. 16 § In portal, via CLI, or in IDE §

    Visual Studio wizards for pre-compiled Functions § Local tooling & runtime available § Debugging locally or remote § Multiple language bindings supported § C# & C# Script (CSX) § F# § JavaScript, TypeScript (node.js) § Java (preview) Data, Compute, Realtime - in Action! Developing Functions eXtreme Serverless Azure
  17. 17 Data, Compute, Realtime - in Action! eXtreme Serverless Azure

    https://docs.microsoft.com/en-us/azure/azure-functions/functions-triggers-bindings Triggers & Bindings
  18. 18 Azure Cosmos DB Serverless Database Data, Compute, Realtime -

    in Action! eXtreme Serverless Azure
  19. 19 § Globally distributed, elastically scalable § Fully managed by

    Azure § But not yet fully automatically scaling § Pricing not (yet?) suitable for low-entry projects § Multi-model database § Key-value, document, graph ➔ NoSQL § Multiple APIs § DocumentDB, with SQL & JS APIs § MongoDB API § Cassandra API § Table Storage API § Graph Database with Gremlin API Data, Compute, Realtime - in Action! Cosmos DB: A Database with Many Faces eXtreme Serverless Azure
  20. 20 § Building event-driven architectures with Cosmos DB § Listening

    to Azure Cosmos DB collection for any changes § Inserts, updates, soft-deletes § Subscribe to collection changes § Can be used as a trigger for Azure Functions Data, Compute, Realtime - in Action! Cosmos DB Change Feed eXtreme Serverless Azure
  21. 21 Serverless Realtime Azure SignalR Service Data, Compute, Realtime -

    in Action! eXtreme Serverless Azure
  22. 22 § Realtime is a wanted feature nowadays § Dashboards

    and monitoring apps § Collaborative apps § Apps that require notifications § ASP.NET Core SignalR provides programming model for bi-directional ‘method invocation’ – via WebSockets, SSE or Long Polling § Wanted: “SignalR messaging & scale-out”-as-a-Service ➔ Azure SignalR Service § Azure Functions bindings available (in preview) eXtreme Serverless Azure Data, Compute, Realtime - in Action! Azure SignalR Service
  23. 23 eXtreme Serverless Azure Data, Compute, Realtime - in Action!

    Azure SignalR Service & Azure Functions
  24. 24 Summary Data, Compute, Realtime - in Action! eXtreme Serverless

    Azure
  25. 25 § Serverless is just one option in the Cloud

    Continuum § Always think about the use cases and requirements § Serverless will be pre-dominant on the ‘server’ in a couple of years § Event-driven thinking & modeling of services & interfaces feels like a natural approach to systems design § Serverless Azure tries to offer solutions in the Cloud Continuum § Functions § Cosmos DB § SignalR Service § Event Grid … & more § Azure Functions is way more than just a Web API framework Summary Data, Compute, Realtime - in Action! eXtreme Serverless Azure
  26. 26 Christian Weyer, Thinktecture AG @christianweyer christian.weyer@thinktecture.com Data, Compute, Realtime

    - in Action! eXtreme Serverless Azure https://github.com/thinktecture/extreme-serverless-demo
  27. 27 § Processing 100,000 Events Per Second on Azure Functions

    § https://blogs.msdn.microsoft.com/appserviceteam/2017/09/19/processing- 100000-events-per-second-on-azure-functions/ § Azure Functions – Significant Improvements in HTTP Trigger Scaling § https://www.azurefromthetrenches.com/azure-functions-significant- improvements-in-http-trigger-scaling/ § Azure Functions: Cold Starts in Numbers § https://mikhail.io/2018/04/azure-functions-cold-starts-in-numbers/ eXtreme Serverless Azure Data, Compute, Realtime - in Action! Interesting reading
  28. 28 § Azure Functions Dependency Injection (with AutoFac) § https://github.com/introtocomputerscience/azure-function-autofac-

    dependency-injection eXtreme Serverless Azure Data, Compute, Realtime - in Action! Resources