Slide 1

Slide 1 text

Christian Weyer @christianweyer CTO Serverless Azure Event-based Microservices - beyond just Functions Azure Saturday 2018

Slide 2

Slide 2 text

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 Event-based Microservices - beyond just Functions Serverless Azure

Slide 3

Slide 3 text

3 Let’s start with a demo ! Event-based Microservices - beyond just Functions Serverless Azure

Slide 4

Slide 4 text

4 § Serverless ? § Serverless Compute § Serverless Database § Serverless Eventing Serverless Azure Event-based Microservices - beyond just Functions The Journey

Slide 5

Slide 5 text

5 Building & integrating software Microservices architectures (virtual introduction !) Event-based Microservices - beyond just Functions Serverless Azure

Slide 6

Slide 6 text

6 A different approach Serverless Event-based Microservices - beyond just Functions Serverless Azure

Slide 7

Slide 7 text

7 § We can choose from a continuum § VM ➔ § Containers ➔ § Orchestrators ➔ § PaaS ➔ § Serverless Event-based Microservices - beyond just Functions Evolution to Cloud Compute Continuum PaaS IaaS On-Premises Serverless Serverless Azure

Slide 8

Slide 8 text

8 What is Serverless, anyway? Event-based Microservices - beyond just Functions Serverless Azure

Slide 9

Slide 9 text

9 § Serverless Compute → Azure Functions § Serverless Database → Azure Cosmos DB § Serverless Events → Azure Event Grid § Serverless Realtime → Azure SignalR Service § Serverless Workflows → Azure Durable Functions & Azure Logic Apps § Serverless IoT → Azure IoT Hub § Serverless Analytics → Application Insights ... and more: https://azure.microsoft.com/en-us/overview/serverless-computing/ Event-based Microservices - beyond just Functions Serverless in Azure (Serverless != FaaS-only) Serverless Azure

Slide 10

Slide 10 text

10 Serverless Home Automation Demo Scenario Event-based Microservices - beyond just Functions Serverless Azure

Slide 11

Slide 11 text

Demo Scenario: Serverless Home Automation Event-based Microservices - beyond just Functions Serverless Azure Event Hub IoT Hub Cosmos DB App Service

Slide 12

Slide 12 text

12 Azure Functions Serverless Code / Compute Event-based Microservices - beyond just Functions Serverless Azure

Slide 13

Slide 13 text

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 § Always-on, via Azure App Service § V2 runtime built on .NET Core § Available for self-hosting Event-based Microservices - beyond just Functions Azure Functions: Functions-as-a-Service Serverless Azure

Slide 14

Slide 14 text

14 § 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) § Bash, Batch, PowerShell § … more planned Event-based Microservices - beyond just Functions Developing Functions Serverless Azure

Slide 15

Slide 15 text

15 § Incoming event triggers function § Input bindings enable easy access to data from various data sources § Output bindings offer easy access to outbound data sinks § Custom triggers and bindings can be implemented Event-based Microservices - beyond just Functions Triggers & Bindings Serverless Azure Your code logic Runtime Azure Function HTTP Trigger Storage Input Binding Push Notification Output Binding Database Output Binding Email Output Binding

Slide 16

Slide 16 text

16 Event-based Microservices - beyond just Functions Triggers & Bindings in Code Serverless Azure

Slide 17

Slide 17 text

17 Event-based Microservices - beyond just Functions Serverless Azure https://docs.microsoft.com/en-us/azure/azure-functions/functions-triggers-bindings Triggers & Bindings

Slide 18

Slide 18 text

18 Azure Cosmos DB Serverless Database Event-based Microservices - beyond just Functions Serverless Azure

Slide 19

Slide 19 text

19 § Globally distributed, elastically scalable § Fully managed by Azure § Multi-model database § Key-value, document, graph § Multiple APIs § DocumentDB, with SQL & JS APIs § MongoDB API § Cassandra API § Table Storage API § Graph Database with Gremlin API § No database schema management Event-based Microservices - beyond just Functions Cosmos DB: A Database with Many Faces Serverless Azure

Slide 20

Slide 20 text

20 § Building event-driven architectures with Cosmos DB § Use as input binding in Functions § Subscribe to collection changes § Can be used as a trigger for Functions Event-based Microservices - beyond just Functions Cosmos DB Change Feed Serverless Azure

Slide 21

Slide 21 text

21 Azure Event Grid Serverless Eventing Event-based Microservices - beyond just Functions Serverless Azure

Slide 22

Slide 22 text

22 § Fully-managed centralized event routing service § Simplifies development of event-based applications § Simplifies creation of serverless workflows § Manages all routing of events § From any source, to any destination, for any application § Eventing, not enterprise messaging § Supports direct event filtering using event type, prefix or suffix § Your application will only need to receive the events you care about § Same underlying model for different use-cases § System-provided events § Custom application-specific events Event-based Microservices - beyond just Functions Event Grid Serverless Azure

Slide 23

Slide 23 text

23 Event Grid Reliability & Performance Event-based Microservices - beyond just Functions Serverless Azure

Slide 24

Slide 24 text

24 Summary Event-based Microservices - beyond just Functions Serverless Azure

Slide 25

Slide 25 text

25 § Serverless is just one option in the Cloud Continuum § Always think about the use cases and requirements § Think in events & triggers! § Serverless Azure tries to offer solutions in the Continuum – mixture of PaaS & FaaS § Functions § Cosmos DB § Event Grid § SignalR Service § … & more § It is not about Windows & .NET - it is about any OS, any platform, any language – any solution J Summary Event-based Microservices - beyond just Functions Serverless Azure

Slide 26

Slide 26 text

26 § 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/ Serverless Azure Event-based Microservices - beyond just Functions Interesting reading

Slide 27

Slide 27 text

Serverless Azure Event-based Microservices - beyond just Functions Christian Weyer @christianweyer [email protected] Thank you! https://github.com/thinktecture/azuresaturday-2018-serverless