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

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!

Christian Weyer

October 12, 2018
Tweet

More Decks by Christian Weyer

Other Decks in Programming

Transcript

  1. 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 § [email protected] § ! @christianweyer Christian Weyer Data, Compute, Realtime - in Action! eXtreme Serverless Azure
  2. 3 § Microservices, Nanoservices § Serverless in Azure § Azure

    Functions § Azure Cosmos DB § Azure SignalR Service eXtreme Serverless Azure Data, Compute, Realtime - in Action! Topics
  3. 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 !
  4. 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
  5. 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
  6. 10 eXtreme Serverless Azure Data, Compute, Realtime - in Action!

    There are NO servers! https://twitter.com/jeffhollan/status/1030244102082682880
  7. 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
  8. 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
  9. 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
  10. 17 Data, Compute, Realtime - in Action! eXtreme Serverless Azure

    https://docs.microsoft.com/en-us/azure/azure-functions/functions-triggers-bindings Triggers & Bindings
  11. 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
  12. 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
  13. 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
  14. 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
  15. 26 Christian Weyer, Thinktecture AG @christianweyer [email protected] Data, Compute, Realtime

    - in Action! eXtreme Serverless Azure https://github.com/thinktecture/extreme-serverless-demo
  16. 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
  17. 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