Slide 1

Slide 1 text

Serverless in Action: Event-gesteuerte Microservices - am Beispiel Azure Christian Weyer @christianweyer CTO

Slide 2

Slide 2 text

2 § Co-Founder & CTO at Thinktecture AG § Personal focus on § Mobile & web-based application architectures § Pragmatic end-to-end solutions § Cloud-native & serverless architectures § Independent Microsoft Regional Director § Microsoft MVP for Visual Studio Tools & Development ASPInsider, AzureInsider § Google GDE for Web Technologies § [email protected] § @christianweyer Christian Weyer Serverless in Action Event-gesteuerte Microservices - am Beispiel Azure

Slide 3

Slide 3 text

3 § Microservices, Nanoservices § Serverless in Azure § Azure Functions § Azure Service Bus Event-gesteuerte Microservices - am Beispiel Azure Serverless in Action Topics

Slide 4

Slide 4 text

How large is small? Microservices Serverless in Action Event-gesteuerte Microservices - am Beispiel Azure 4

Slide 5

Slide 5 text

Single Responsibility § Focused around business domain § ‘Small’ Isolation § Choice of technology § Well-defined technology-agnostic API § Mobility Autonomy § Exclusive state (data storage) Decoupling § Asynchronous communication § Really, always? Event-gesteuerte Microservices - am Beispiel Azure Serverless in Action (Some) Principles of Microservices 5

Slide 6

Slide 6 text

6 End-to-End Sample – Architecture Overview Serverless in Action Event-gesteuerte Microservices - am Beispiel Azure

Slide 7

Slide 7 text

7 Event-gesteuerte Microservices - am Beispiel Azure Serverless in Action End-to-End Sample – Architecture Overview

Slide 8

Slide 8 text

8 § 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 earlier Event-gesteuerte Microservices - am Beispiel Azure Serverless in Action Microservices – or rather: Nanoservices

Slide 9

Slide 9 text

9 Event-gesteuerte Microservices - am Beispiel Azure Serverless in Action https://twitter.com/serialseb/status/1085235076986781696

Slide 10

Slide 10 text

A different approach Serverless Serverless in Action Event-gesteuerte Microservices - am Beispiel Azure 10

Slide 11

Slide 11 text

11 § We can choose from a continuum § VM ➔ § Containers ➔ § Orchestrators ➔ § PaaS ➔ § Serverless Event-gesteuerte Microservices - am Beispiel Azure Serverless in Action Evolution to Cloud Compute Continuum PaaS IaaS On-Premises Serverless

Slide 12

Slide 12 text

12 Serverless Sweet Spot Programming Model § Event-driven § Stateless § Service-full Operational Model § Fully managed § Automatically scaling § Usage priced Serverless in Action Event-gesteuerte Microservices - am Beispiel Azure

Slide 13

Slide 13 text

13 § 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 Event-gesteuerte Microservices - am Beispiel Azure Serverless in Action Serverless in Azure

Slide 14

Slide 14 text

Azure Functions Serverless Compute Serverless in Action Event-gesteuerte Microservices - am Beispiel Azure 14

Slide 15

Slide 15 text

15 § Azure Functions is code being triggered by an event § 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 § Local tooling & runtime § Multiple language bindings supported Event-gesteuerte Microservices - am Beispiel Azure Serverless in Action Azure Functions: Functions-as-a-Service

Slide 16

Slide 16 text

16 § Incoming event triggers function § Input bindings enable easy access to data from various data sources § Output bindings offer easy access to outbound data sinks Event-gesteuerte Microservices - am Beispiel Azure Serverless in Action Functions Triggers & Bindings Your code logic Runtime Azure Function HTTP Trigge r Storage Input Binding Push Notification Output Binding Database Output Binding Email Output Binding Example

Slide 17

Slide 17 text

17 Functions Triggers & Bindings in Code Serverless in Action Event-gesteuerte Microservices - am Beispiel Azure

Slide 18

Slide 18 text

Azure Service Bus Serverless Messaging Serverless in Action Event-gesteuerte Microservices - am Beispiel Azure 18

Slide 19

Slide 19 text

19 § Asynchronous communication for decoupling Microservices § Different messaging services in Azure § Events, data points, messages § Event Grid § Reactive programming § Event Hubs § Big data streams § Service Bus § Enterprise-grade messaging Event-gesteuerte Microservices - am Beispiel Azure Serverless in Action Communication is Key to Cloud Architectures

Slide 20

Slide 20 text

20 § Queues & Topics § Reliable asynchronous communication § Rich features for temporal control § Routing and filtering § Transactions § Convoys & Sessions (related messages with state) § Bindings for Azure Functions available Event-gesteuerte Microservices - am Beispiel Azure Serverless in Action Service Bus: Messaging-as-a-Service

Slide 21

Slide 21 text

21 Sender § Sender sends message to queue § Queue ACKs receipt § Receiver connects to queue & retrieves message § Receiver ACKs complete (or other action) Event-gesteuerte Microservices - am Beispiel Azure Serverless in Action Service Bus Queues Receiver

Slide 22

Slide 22 text

22 § Sender only knows about Topic § Receivers only know about Subscriptions § Filters and Actions exist on Subscriptions Event-gesteuerte Microservices - am Beispiel Azure Serverless in Action Service Bus Topics & Subscriptions Type == ‘order‘ Sender type=quote type=order Topic Type == ‘quote‘ Filter Filter Subscrip- tion 1 Subscrip- tion 2

Slide 23

Slide 23 text

Summary Serverless in Action Event-gesteuerte Microservices - am Beispiel Azure 23

Slide 24

Slide 24 text

Event-gesteuerte Microservices - am Beispiel Azure Serverless in Action 24 https://twitter.com/swardley/status/1024764547436085249

Slide 25

Slide 25 text

Single Responsibility § Focused around business domain § ‘Small’ Isolation § Choice of technology § Well-defined technology-agnostic API § Mobility Autonomy § Exclusive state (data storage) Decoupling § Asynchronous communication § Really, always? Event-gesteuerte Microservices - am Beispiel Azure Serverless in Action Principles of Microservices 25

Slide 26

Slide 26 text

26 § 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 for many use cases § Serverless Azure tries to offer solutions in the Serverless space § Storage § Functions § Service Bus § SignalR Service & more § Azure Functions is way more than just a Web API framework Event-gesteuerte Microservices - am Beispiel Azure Serverless in Action Summary – Serverless-all-the-things?

Slide 27

Slide 27 text

27 Remember: there are NO servers! https://twitter.com/jeffhollan/status/1030244102082682880 Serverless in Action Event-gesteuerte Microservices - am Beispiel Azure

Slide 28

Slide 28 text

Chris&an Weyer, Thinktecture AG @chris&anweyer chris&[email protected] h:ps://github.com/thinktecture/serverless-microservices