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

Arquitectura de servicios con DAPR

Arquitectura de servicios con DAPR

En esta ocasión os dejo la presentación del meetup:

https://www.meetup.com/mic-up/events/286130802/

Del dia 09/06/2022 en Barcelona.

Jose María Flores Zazo

June 10, 2022
Tweet

More Decks by Jose María Flores Zazo

Other Decks in Technology

Transcript

  1. Comunidad #MicUP

    View Slide

  2. Comunidad #MicUP
    Speakers
    Ismael Sánchez Chaves
    Solution Architect at atmira
    https://www.linkedin.com/in/ismael-sanchez-chaves/
    [email protected]
    @rebeldecuantico
    Jose María Flores Zazo
    Solution Architect at TOKIOTA
    https://www.linkedin.com/in/jmfloreszazo/
    [email protected]
    @jmfloreszazo

    View Slide

  3. Comunidad #MicUP
    Y todo gracias
    al sponsor

    View Slide

  4. ¿Por qué usar Dapr?

    View Slide

  5. Comunidad #MicUP
    Microservicios
    frontend basket
    payment
    message bus

    View Slide

  6. Comunidad #MicUP
    Dapr
    • Distributed application runtime
    • https://dapr.io
    • APIs para construir microservicios
    portables y confiables.
    • Funciona junto a otros marcos de
    trabajo.
    • No es específico del lenguaje.

    View Slide

  7. Building Block de Dapr

    View Slide

  8. Comunidad #MicUP
    Building Blocks
    • Service-to-Sercice: Llamadas directas y seguras a métodos de servicio a
    servicio.
    • Administración de estado: crea servicios con estado de ejecución
    prolongada.
    • Pub/Sub: mensajería segura y escalable entre servicios.
    • Binding: activadores desde sistemas externos.
    • Actores: encapsula codigo y objetos de actor con un patrón muy común.
    • Observabilidad: ver y medir llamadas de mensajes a componentes y
    entre servicios de red.
    • Secretos: acceso seguro a los secretos de tu aplicación.
    • Configuración: administra y notifica de cambios de configuración en la
    aplicación.

    View Slide

  9. Comunidad #MicUP
    Sidercard

    View Slide

  10. Comunidad #MicUP
    Ejemplo
    DAPR
    SIDECAR
    DAPR
    COMPONENTS
    SERVICE A
    SERVICE B
    SERVICE C
    Get Object
    Created
    Updated
    Deleted
    SUBCRIBE
    SUBSCRIBE
    Push new Object
    Push new Object

    View Slide

  11. Comunidad #MicUP
    DEMO
    La herramienta
    • https://docs.dapr.io/getting-started/install-dapr-cli/
    • dapr run --app-id myapp --app-port 5000 --dapr-http-port 3500 -- dotnet run
    In the Beginning... Was the
    Command Line
    Neal Stephenson (1999)

    View Slide

  12. Comunidad #MicUP
    DEMO
    Service 2 Service
    https://jmfloreszazo.com/net-6-dapr-microservices-con-invocacion-http/

    View Slide

  13. Comunidad #MicUP
    DEMO
    Pub/Sub & Secrets
    https://jmfloreszazo.com/net-6-dapr-microservices-con-patron-pub-sub/
    Formato del componente:
    https://docs.dapr.io/reference/components-reference/supported-
    pubsub/setup-azure-eventhubs/

    View Slide

  14. Comunidad #MicUP
    DEMO
    Bindings
    https://jmfloreszazo.com/net_dapr_microservices_bindings/
    Y un apunte sobre los metadatos:
    https://jmfloreszazo.com/net-6-dapr-microservices-metadata/

    View Slide

  15. Comunidad #MicUP
    DEMO
    Tye
    Service Discovery
    Persistencia
    https://github.com/atmiraio/meetupCordoba20220428
    Y de paso Tye… si quieres ampliar más:
    https://speakerdeck.com/jmfloreszazo/introduccion-al-proyecto-tye
    https://youtu.be/wDGuHQfavSY

    View Slide

  16. Comunidad #MicUP
    Otros
    Actors
    https://docs.dapr.io/developing-applications/building-
    blocks/actors/actors-overview/
    Este building block, es una implementación del Virtual Action Pattern.
    En modo muy resumido lo que pretende es que tu código sea una unidad
    autónoma (llamada actor) que recibe mensajes y procesa uno cada vez,
    sin ningún tipo de concurrencia o subprocesamiento.
    Middleware
    Ser capaz de cambiar el comportamiento o ampliar la funcionalidad de
    una pieza de software, sin cambiarlo desde el interior, es bastante limpio.
    https://docs.dapr.io/reference/components-reference/supported-
    middleware/
    Por ejemplo, tenemos: rate limit, OAuth2, Bearer, …

    View Slide

  17. Muchas
    Gracias!!!
    ¿Preguntas?

    View Slide

  18. Comunidad #MicUP
    Enlaces • https://dapr.io/
    • https://github.com/jmfloreszazo
    • https://github.com/orgs/atmiraio/repositories

    View Slide