Cursus Microservices Design Patterns

In de cursus Microservices Design Patterns leren de deelnemers welke design patterns kunnen worden toegepast in een Microservices Architectuur. De structuur en toepasselijkheid van de verschillende design patterns wordt diepgaand behandeld.

Regio:
  • Inhoud
  • Training
  • Modules
  • Algemeen
    Algemeen
  • Reviews
  • Certificaat
  • Cursus Microservices Design Patterns : Inhoud

    Intro Microservices

    Deze module introduceert microservices als architecturaal paradigma. Er wordt een vergelijking gemaakt met monolithische architecturen, en voordelen zoals schaalbaarheid, cohesie, en onafhankelijkheid worden besproken. Tegelijkertijd worden de uitdagingen zoals complexiteit en afhankelijkheden belicht. Belangrijke concepten zijn single responsibility, minimale koppeling, en maximale cohesie.

    Architectuurpatronen

    In deze module worden architectuurpatronen voor microservices behandeld. Dit omvat gelaagde architecturen, het scheiden van verantwoordelijkheden, en communicatiepatronen zoals REST en HTTP. Specifieke patronen zoals Backend for Frontend en Micro Frontends worden ook besproken.

    API Gateway Patroon

    De module behandelt het gebruik van een API Gateway als façade en reverse proxy. Het dient als een enkel toegangspunt voor externe clients en ondersteunt functies zoals aggregatie van verzoeken, routering naar interne services, en het gebruik van service registry en discovery.

    Database per Service

    Hier leren deelnemers hoe elke microservice zijn eigen database kan beheren. Onderwerpen zoals polyglot persistence, onafhankelijke schaalbaarheid, data-encapsulatie en het vermijden van het shared database anti-pattern staan centraal.

    Saga Patroon

    Deze module gaat over het beheren van gedistribueerde transacties met behulp van het Saga-patroon. Thema’s zijn onder andere compensatietransacties, choreografie en orkestratie, en consistentie tussen services zonder het gebruik van two-phase commit.

    Aggregator Patroon

    Het aggregator patroon helpt bij het combineren van gegevens uit meerdere microservices. Varianten zoals scatter-gather, chained aggregatie, branch variaties en het comparison proxy patroon worden besproken. Service discovery speelt hierin ook een rol.

    Circuit Breaker Patroon

    Deelnemers leren hier hoe het circuit breaker patroon helpt om uitval van microservices te voorkomen. Onderwerpen zijn beschikbaarheid, cascaderende uitval vermijden, en de verschillende toestanden van een circuit breaker: open, gesloten, half-open.

    Command Query Segregation

    Deze module introduceert het CQRS-patroon waarbij lees- en schrijfbewerkingen worden gescheiden. Dit voorkomt inefficiënte joins en maakt gebruik van verschillende opslagmethodes voor lees- en schrijfoperaties. Command- en queryverantwoordelijkheden worden losgekoppeld.

    Asynchrone Messaging

    De focus ligt op communicatie tussen microservices via messaging. Onderwerpen zijn pub-sub patronen, message brokers zoals RabbitMQ en Kafka, AMQP, en hoe deze patronen bijdragen aan losgekoppelde en schaalbare systemen.

    Event Sourcing

    In deze module leren deelnemers hoe event sourcing werkt als alternatief voor traditionele database-opslag. Gebeurtenissen worden opgeslagen als enige waarheid, en kunnen worden afgespeeld voor auditing of het opnieuw opbouwen van de toestand.

    Strangler Patroon

    Deze module introduceert het strangler patroon voor het geleidelijk vervangen van legacy systemen. Strategieën zoals API gateway als proxy en het vermijden van big bang migraties worden uitgelegd. Focus ligt op risicobeperking en stapsgewijze transformatie.

    Decompositiepatronen

    De laatste module bespreekt hoe microservices opgesplitst kunnen worden op basis van business capabilities, subdomeinen en bounded contexts. Domain Driven Design, zowel strategisch als tactisch, vormt de kern van deze decompositieaanpak.

  • Cursus Microservices Design Patterns : Training

    Doelgroep Cursus Microservices Design Patterns

    De cursus Microservices Design Patterns is bestemd voor senior developers en software architecten die design patterns in een microservices architectuur willen toepassen.

    Voorkennis Cursus Microservices Design Patterns

    Goed begrip van software development concepten en gedistribueerde systemen. Ervaring met cloud platforms en containers is bevorderlijk voor de begripsvorming.

    Uitvoering Training Microservices Design Patterns

    Demos onder leiding van de trainer afgewisseld met presentaties, besprekingen van case studies en praktische oefeningen.

    Certificaat Microservices Design Patterns

    De deelnemers krijgen na het goed doorlopen van de cursus een certificaat van deelname aan Microservices Design Patterns.

    Cursus Microservices Design Patterns
  • Cursus Microservices Design Patterns : Modules

    Module 1: Intro Microservices

    Module 2: Architecture Patterns

    Module 3: API Gateway Pattern

    What are Microservices?
    Monolith versus Microservices
    Benefits of Microservices
    Challenges of Microservices
    Single Responsibility
    Minimize Coupling
    Maximize Cohesion
    Scalability
    System Design Patterns
    Layered Architectures
    Separation of Concern
    Microservices Patterns
    Synchronous Communication
    Using REST and HTTP
    Backend for Frontend
    Micro Frontends
    What is an API Gateway?
    Facade Functionality
    Reverse Proxy
    Single Entry Point
    Requests Aggregation
    Request Routing
    Service Registry
    Service Discovery

    Module 4: Database per Service

    Module 5: Saga Pattern

    Module 6: Aggregator Pattern

    Dedicated Databases
    Separation of Concerns
    Independent Data Management
    Polyglot Persistence
    Independent Scaling
    Data Encapsulation
    Reducing Coupling
    Shared Database Anti-Pattern
    Transaction Handling
    Distributed Transactions
    Two Phase Commit
    Maintaining Data Consistency
    Compensating Transactions
    Saga Coordination
    Saga Choreography
    Saga Orchestration
    Distributing Requests
    Aggregating Results
    Scatter Gather Variation
    Chained Variation
    Multiple Chains
    Branch Variation
    Comparison Proxy Pattern
    Using Service Discovery

    Module 7: Circuit Breaker Pattern

    Module 8: Command Query Segregation

    Module 9: Asynchronous Messaging

    Need for Circuit Breaking
    Failing Microservices
    High Availability
    Preventing Downtime
    Circuit Barrier
    Preventing Cascade Failure
    Circuit Breaker States
    Open, Closed, Half Open
    CQRS Pattern
    Separate Operations
    Avoid Complex Queries
    Prevent Inefficient Joins
    Read versus Update
    Commands for Update
    Queries for Read
    Different Databases
    Interprocess Communication
    Asynchronous Communication
    Backend Internal Microservices
    DIP Principle
    Publish and Subscribe
    Using Message Brokers
    async AMQP protocol
    Rabbit MQ and Kafka

    Module 10: Event Sourcing

    Module 11: Strangler Pattern

    Module 12: Decomposition Patterns

    Storing Events
    Single Source of Truth
    Sequential Event List
    Materialized Views
    Denormalized Views
    Splitting Databases
    Replaying Events
    Increase Query Performance
    Legacy System Modernization
    Application Migration
    Evolve Gradually
    Avoid Bing Bang Rewrites
    Resource Utilization
    Risk Management
    Implementing Strangulation
    API Gateway as Proxy
    Decomposing Microservices
    By Business Capability
    By Subdomain
    Domain Driven Design
    Bounded Context Pattern
    Propagating Cohesiveness
    Strategic DDD
    Tactical DDD
  • Cursus Microservices Design Patterns : Algemeen

    Lees de algemene cursus informatie
  • Cursus Microservices Design Patterns : Reviews

  • Cursus Microservices Design Patterns : Certificaat