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

Cloud-Native Microservices: On-Premises oder in der Cloud – mit Dapr

Cloud-Native Microservices: On-Premises oder in der Cloud – mit Dapr

Microservices-all-the-things – haben wir oft genug gehört. Lassen Sie uns in diesem Talk über pragmatische Wege zum Umsetzen servicebasierter Architekturen sprechen, die modernen Cloud-Native-Ansätzen genügen. Mit der beispielhaften Verwendung von Dapr als Open-Source-Laufzeitumgebung und -Framework zeigt Christian Weyer, wie Sie Ihre Zeit und Ihr Hauptaugenmerk auf das Schreiben von Funktionalität und Geschäftslogik konzentrieren können, nicht auf die Infrastruktur drumherum. Und das für so gut wie jede Programmiersprache. Zu guter Letzt erfahren Sie, wie Sie Ihre (Micro-)Services in einem Spektrum von Ausführungsumgebungen laufen lassen, von selbst gehosteten lokalen Umgebungen bis hin zur Public Cloud.

Christian Weyer

September 28, 2023
Tweet

More Decks by Christian Weyer

Other Decks in Programming

Transcript

  1. Cloud-Native Microservices:
    On-Premises oder in der Cloud – mit Dapr
    Christian Weyer
    @christianweyer
    CTO, Technology Catalyst

    View full-size slide

  2. § Technology catalyst
    § AI-powered solutions
    § Pragmatic end-to-end 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:
    On-Premises oder in der Cloud – mit Dapr
    Christian Weyer
    Co-Founder & CTO @ Thinktecture AG
    2

    View full-size slide

  3. 3
    On-Premises oder in der Cloud – mit Dapr
    Cloud-Native Microservices:

    View full-size slide

  4. Availability
    Scalability
    Resilience
    Configurability
    Observability
    Cloud-Native
    Microservices
    Cloud-Native
    Applications
    Cloud-Native Microservices:
    On-Premises oder in der Cloud – mit Dapr
    Attributes &
    Challenges
    4

    View full-size slide

  5. Infrastructure, FTW!
    Statelessness
    Interception
    Instrumentation
    Loose
    (runtime)
    coupling
    (many more)
    Cloud-Native
    Patterns
    5
    On-Premises oder in der Cloud – mit Dapr
    Cloud-Native Microservices:
    Patterns &
    Solutions

    View full-size slide

  6. Cloud-Native Microservices:
    On-Premises oder in der Cloud – mit Dapr
    Sample
    Application
    6

    View full-size slide

  7. Distributed Application Runtime
    7
    https://dapr.io/
    On-Premises oder in der Cloud – mit Dapr
    Cloud-Native Microservices:

    View full-size slide

  8. § 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
    § Different runtime configuration
    ➡ Dapr as a common lingua franca
    § Transparent distributed tracing end-to-end
    Cloud-Native Microservices:
    On-Premises oder in der Cloud – mit Dapr
    Dapr Value Proposition
    8

    View full-size slide

  9. Cloud-Native Microservices:
    On-Premises oder in der Cloud – mit Dapr
    9

    View full-size slide

  10. 10
    On-Premises oder in der Cloud – mit Dapr
    Cloud-Native Microservices:

    View full-size slide

  11. Cloud-Native Microservices:
    On-Premises oder in der Cloud – mit Dapr
    11

    View full-size slide

  12. 12
    On-Premises oder in der Cloud – mit Dapr
    Cloud-Native Microservices:

    View full-size slide

  13. Cloud-Native Microservices:
    On-Premises oder in der Cloud – mit Dapr
    13
    Specifications
    YAML
    Configuration
    YAML
    CLI Dashboard

    View full-size slide

  14. 14
    On-Premises oder in der Cloud – mit Dapr
    Cloud-Native Microservices:

    View full-size slide

  15. Cloud-Native Microservices:
    On-Premises oder in der Cloud – mit Dapr
    daprd
    15

    View full-size slide

  16. 16
    On-Premises oder in der Cloud – mit Dapr
    Cloud-Native Microservices:

    View full-size slide

  17. Cloud-Native Microservices:
    On-Premises oder in der Cloud – mit Dapr
    17
    Abstracting access to “things”

    View full-size slide

  18. Cloud-Native Microservices:
    On-Premises oder in der Cloud – mit Dapr
    18
    https://github.com/dapr/components-contrib/tree/master/pubsub

    View full-size slide

  19. 19
    On-Premises oder in der Cloud – mit Dapr
    Cloud-Native Microservices:

    View full-size slide

  20. Cloud-Native Microservices:
    Interception
    On-Premises oder in der Cloud – mit Dapr
    20

    View full-size slide

  21. 21
    On-Premises oder in der Cloud – mit Dapr
    Cloud-Native Microservices:

    View full-size slide

  22. Cloud-Native Microservices:
    Decoupling
    On-Premises oder in der Cloud – mit Dapr
    22

    View full-size slide

  23. § 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:
    On-Premises oder in der Cloud – mit Dapr
    Pub-Sub Main Features
    23

    View full-size slide

  24. 24
    On-Premises oder in der Cloud – mit Dapr
    Cloud-Native Microservices:

    View full-size slide

  25. § Resiliency for service invocation & publish-subscribe
    § Scoping to applications
    Cloud-Native Microservices:
    On-Premises oder in der Cloud – mit Dapr
    Policies & Targets
    25

    View full-size slide

  26. Cloud-Native Microservices:

    View full-size slide

  27. Cloud-Native Microservices:
    On-Premises oder in der Cloud – mit Dapr
    Input / Output Bindings & Triggers
    27

    View full-size slide

  28. 28
    On-Premises oder in der Cloud – mit Dapr
    Cloud-Native Microservices:

    View full-size slide

  29. Cloud-Native Microservices:
    On-Premises oder in der Cloud – mit Dapr
    Standardized instrumentation
    29

    View full-size slide

  30. 30
    On-Premises oder in der Cloud – mit Dapr
    Cloud-Native Microservices:

    View full-size slide

  31. Cloud-Native Microservices:
    On-Premises oder in der Cloud – mit Dapr
    31

    View full-size slide

  32. Cloud-Native Microservices:
    On-Premises oder in der Cloud – mit Dapr
    32

    View full-size slide

  33. On-prem & Cloud
    33
    On-Premises oder in der Cloud – mit Dapr
    Cloud-Native Microservices:

    View full-size slide

  34. Cloud-Native Microservices:
    On-Premises oder in der Cloud – mit Dapr
    Sample
    Application
    34

    View full-size slide

  35. Recap
    Cloud-Native Microservices:
    On-Premises oder in der Cloud – mit Dapr
    35

    View full-size slide

  36. Cloud-Native Microservices:
    On-Premises oder in der Cloud – mit Dapr
    An open-source runtime for distributed Cloud-Native applications
    Dapr…
    36
    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

    View full-size slide

  37. 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
    37

    View full-size slide

  38. § 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
    § https://unsplash.com/photos/5B0IXL2wAQ0
    Photo credits
    38
    On-Premises oder in der Cloud – mit Dapr
    Cloud-Native Microservices:

    View full-size slide