DDD Microservices

Scalable Architecture using Microservices and DDD

Varighed

2 dage

Sprog

Dansk/Engelsk

Kursusnummer

LB3214

Lokation

Lund&Bendsen

Pris

11.800 kr.

Book nu

Vi tilbyder også dette kursus som lukket firmahold.
Kontakt os og hør nærmere

Kort om: Scalable Architecture using Microservices and DDD

Microservices har de seneste år gået sin sejrsgang, fordi man med microservices, kan lave store og komplekse backend systemer som forbliver agile. Når microservices anvendes godt, opnås fordele både for den enkelte udvikler, som opnår et effektivt og gnidningsfrit udviklingsmiljø; for systemet, som per design er robust og skalerbart; og for forretningen, som får mulighed for at opnå stor agilitet gennem continuous delivery af microservices.

Indhold

  • What are microservices?
  • Microservice vs monolith
    • Characteristics, advantages and disadvantages of monoliths
    • Why did monoliths get a bad reputation
    • Coupling and scalability issues
    • Splitting a monolith into microservices
    • Services != decoupled design
  • The 11 fallacies of distributed computing
  • Challenges with Remote calls
    • Essential vs accidental complexity when performing request/response style service orchestration
    • Distributed Transactions
  • 1st exercise
    • Hotel frontend “search for room availability”
  • Life beyond distributed transactions
    • Service autonomy
    • DDD: Aggregate/Entity/Value-Object introduction
  • Introduction to Events
    • The coupling matrix
    • How to discover events (event storming / event modeling)
  • Business Processes and eventual consistency
    • Event Driven Architecture (EDA)
    • Choreography & Process Managers
    • CAP theorem
    • ACID vs BASE
  • Event integration approaches (push vs pull)
    • Internal vs External events
  • We need to fight complexity
    • Cost of software development
    • Alignment trap, maintenance zone, Well oiled IT, IT enabled growth (Bain Analysis)
    • Neil Nickolaisen Purpose Alignment Model
    • Wardley maps
  • Service and domain boundaries
    • Bounded Contexts and Business Capabilities
    • Use cases and task based UI’s
    • Focus on nouns and not on entities
    • The color game
    • Align with business capabilities
    • Conway’s law
  • Service design principles
    • A service a logical boundary
    • Where does microservices fit in?
    • Service deployment (applications vs layers vs tiers)
    • What about security?
    • Autonomous Components
    • Ports & Adapters / Hexagonal architecture / Onion architecture
  • Application vs Services
  • UI (Micro frontends / Composite UI’s)
    • Backend for a Frontend (BFF)
    • Backend vs Frontend Composition
    • Query across services
  • 2nd exercise
    • Hotel frontend “search for room availability”
    • Hotel frontend “book a room” (if time permits)
  • CQRS + Event Sourcing
    • Principles
    • Projections
    • Examples
    • Event replay
  • Microservice/EDA architecture building blocks (if time permits)
    • Broker based vs Federated
    • Publish/Subscribe (Topics)
    • Client Handled Subscriptions
    • Durable Queue
    • Error Handling (Error Queues, Redelivery strategy)
    • Notifications
    • Event Monitoring

Forudsætninger

Der er ingen forudsætninger. Det er en fordel, hvis du har erfaring med at udvikle software i et par år.

Målgruppe

Arkitekter som arbejder med distribueret arkitektur eller udviklere der arbejder eller ønsker at arbejder med microservices.

Efter kurset kan deltageren

Efter kurset kan deltageren opnå en dybere forståelse, for hvordan distribueret arkitektur er markant anderledes og giver dig værktøjer og designprincipper, der kan hjælpe dig til at designe ægte løstkoblede løsninger.

Videre forløb

Efter kurset kan deltagerne fordybe sig i udvalgte Microservices kurser, blandt andet:

Varighed

2 dage

Sprog

Dansk/Engelsk

Kursusnummer

LB3214

Lokation

Lund&Bendsen

Dato

Se næste

Pris

11.800 kr.

Book nu

Vi tilbyder også dette kursus som lukket firmahold.
Kontakt os og hør nærmere

Kursusansvarlig
Jeppe Cramon
Jeppe Cramon
Seniorkonsulent
[email protected]

Jeppe har mere end 25 års erfaring som softwareudvikler og har arbejdet intensivt med distribuerede arkitekturer de sidste 16 år. Hans kompetencer dækker bla. Domain Driven Design, Event Modeling, Event Driven Architecture, Event Sourcing, Microservices og Autonomous Components.

Læs mere