Slide 1

Slide 1 text

Cloud-Native Microservices für alle: On-Premises oder Cloud – mit Dapr Christian Weyer https://thinktecture.com/christian-weyer @christianweyer Co-Founder & CTO @ Thinktecture AG

Slide 2

Slide 2 text

§ Cloud-native & serverless architectures § Pragmatic end-to-end solutions § Mobile & web-based application architectures § Microsoft Regional Director § Microsoft MVP for Developer Technologies & Azure ASPInsider, AzureInsider § Google GDE for Web Technologies [email protected] @christianweyer https://www.thinktecture.com Cloud-Native Microservices für alle: On-Premises oder Cloud – mit Dapr Christian Weyer Co-Founder & CTO @ Thinktecture AG 2

Slide 3

Slide 3 text

3

Slide 4

Slide 4 text

"Cloud is about where we're computing. Cloud-Native is about how.” Cornelia Davis, Author of Cloud Native Patterns: Designing change-tolerant software Cloud-Native Microservices für alle: On-Premises oder Cloud – mit Dapr Cloud-Native & Cloud

Slide 5

Slide 5 text

Availability Scalability Resilience Configurability Observability Cloud-Native Microservices Cloud-Native Applications Cloud-Native Microservices für alle: On-Premises oder Cloud – mit Dapr Attributes & Challenges 5

Slide 6

Slide 6 text

Infrastructure, FTW! Statelessness Interception Instrumentation Loose (runtime) coupling (many more) Cloud-Native Patterns 6 On-Premises oder Cloud – mit Dapr Cloud-Native Microservices für alle: Patterns & Solutions

Slide 7

Slide 7 text

Cloud-Native Microservices für alle: On-Premises oder Cloud – mit Dapr Sample Application 7

Slide 8

Slide 8 text

Distributed Application Runtime (not a Service Mesh) 8 https://dapr.io/

Slide 9

Slide 9 text

§ Prevents developers reinventing the wheel, esp. complex wheels § Making developers lives easier with consistent approach § Productivity tool, when having different § Generations of software types (greenfield and brownfield) § Languages & frameworks § Team formations ➡ Dapr as a common lingua franca § Transparent distributed tracing end-to-end Cloud-Native Microservices für alle: On-Premises oder Cloud – mit Dapr Dapr Value Proposition 9

Slide 10

Slide 10 text

Cloud-Native Microservices für alle: On-Premises oder Cloud – mit Dapr 10

Slide 11

Slide 11 text

11

Slide 12

Slide 12 text

Cloud-Native Microservices für alle: On-Premises oder Cloud – mit Dapr 12

Slide 13

Slide 13 text

13

Slide 14

Slide 14 text

Cloud-Native Microservices für alle: On-Premises oder Cloud – mit Dapr 14 Specifications YAML Configuration YAML CLI Dashboard

Slide 15

Slide 15 text

15

Slide 16

Slide 16 text

Cloud-Native Microservices für alle: On-Premises oder Cloud – mit Dapr daprd 16

Slide 17

Slide 17 text

17

Slide 18

Slide 18 text

Cloud-Native Microservices für alle: On-Premises oder Cloud – mit Dapr 18

Slide 19

Slide 19 text

Cloud-Native Microservices für alle: On-Premises oder Cloud – mit Dapr 19 https://github.com/dapr/components-contrib/tree/master/pubsub

Slide 20

Slide 20 text

20

Slide 21

Slide 21 text

Cloud-Native Microservices für alle: On-Premises oder Cloud – mit Dapr 21

Slide 22

Slide 22 text

22

Slide 23

Slide 23 text

Cloud-Native Microservices für alle: On-Premises oder Cloud – mit Dapr 23

Slide 24

Slide 24 text

§ CloudEvents 1.0 standard § Topic scoping § Which topics an application is allowed to publish to § Which topics an application is allowed to subscribe to § Message subscription § Applications can subscribe to published topics § Subscribe to topics by either declarative or programmatic method § Dapr POSTs to HTTP endpoint § Message delivery § Successfully delivered when subscriber responds with non- error response § Guarantees “at-least-once” semantics § Message time-to-live (TTL) § Message in queue for longer than the configured TTL is said to be dead Cloud-Native Microservices für alle: On-Premises oder Cloud – mit Dapr Pub-Sub Main Features 24

Slide 25

Slide 25 text

25

Slide 26

Slide 26 text

§ Resiliency for service invocation & publish-subscribe § Scoping to applications Cloud-Native Microservices für alle: On-Premises oder Cloud – mit Dapr Policies & Targets 26

Slide 27

Slide 27 text

27

Slide 28

Slide 28 text

Cloud-Native Microservices für alle: On-Premises oder Cloud – mit Dapr 28

Slide 29

Slide 29 text

29

Slide 30

Slide 30 text

Cloud-Native Microservices für alle: On-Premises oder Cloud – mit Dapr 30

Slide 31

Slide 31 text

Cloud-Native Microservices für alle: On-Premises oder Cloud – mit Dapr 31

Slide 32

Slide 32 text

On-prem & Cloud 32

Slide 33

Slide 33 text

Cloud-Native Microservices für alle: On-Premises oder Cloud – mit Dapr Sample Application 33

Slide 34

Slide 34 text

Recap Cloud-Native Microservices für alle: On-Premises oder Cloud – mit Dapr 34

Slide 35

Slide 35 text

Cloud-Native Microservices für alle: On-Premises oder Cloud – mit Dapr An open-source runtime for distributed Cloud-Native applications Dapr… 35 Encapsulates proven patterns & their implementations as building blocks Enforces practices & policies through configuration May be overkill if you only have one language or few services Can be be used together with a service mesh Allows to pick & chose to gradually Dapr-ize applications Can be run anywhere: locally, on-prem & in the Cloud

Slide 36

Slide 36 text

https://www.thinktecture.com/ueber-uns/karriere/ Dankeschön! Christian Weyer https://thinktecture.com/christian-weyer Demos aus der Session: https://github.com/thinktecture/ dapr-basics-demos https://github.com/thinktecture-labs/ cloud-native-sample 36

Slide 37

Slide 37 text

§ https://unsplash.com/photos/84PTCoyzRBA § https://unsplash.com/photos/keB3OjGmkHY § https://unsplash.com/photos/SQ2tFzFGDac § https://unsplash.com/photos/_WcjaNV6cFY § https://unsplash.com/photos/s8OO2-t-HmQ § https://unsplash.com/photos/d_8hWxfEPlY § https://unsplash.com/photos/TVe0IEdsVc8 § https://unsplash.com/photos/Eeee5H-yuoc § https://unsplash.com/photos/jPpHpgWNCKs § https://unsplash.com/photos/Hae69R2xnAc § https://unsplash.com/photos/IKzufa-cjfo § https://unsplash.com/photos/m6XG1g3kU2A Photo credits 37 On-Premises oder Cloud – mit Dapr Cloud-Native Microservices für alle: