@reginatb38 & @DuchessFounder
Splitting up your problem into microservices
Régina ten Bruggencate
Linda van der Pal
Finalist
@reginatb38 & @DuchessFounder
Inspired by
Erik Talboom & Koen Metsu
Splitting up a problem into microservices
A nice cocktail of hardcore OO design mixed with some
microservices, flavoured with single responsibility
@reginatb38 & @DuchessFounder
Possible splitting criteria
• Implementation technology
– Computationally heavy
– I/O heavy
• Geography
– location of team
• Domain Driven Design
@reginatb38 & @DuchessFounder
DDD terms explained
• domain
• model
• ubiquitous language
• context
• bounded context
@reginatb38 & @DuchessFounder
Building blocks
• layered architecture
• entities
• value objects
• domain events
• services
@reginatb38 & @DuchessFounder
Large-scale structure
• system metaphor
• responsibility layers
• knowledge level
@reginatb38 & @DuchessFounder
References
• Building Microservices
– Sam Newman
• Domain Driven Design
– Eric Evans
• Microservice Architecture
– Irakli Nadareishvili, Ronnie Mitra, Matt McLarty & Mike Amundsen
• Microservices for Java Developers
– Christian Posta
@reginatb38 & @DuchessFounder
Set Rules
• Each card has four properties
– Quantity: 1, 2 or 3
– Colour: red, blue or green
– Shape: heart, ellipse or square
– Filling: open, shaded, full
• 12 card form a board
• 3 cards form a set, if any given property
– Is equal for all three cards (3x red)
– Is unequal for all three cards (red, blue and green)
• If no set can be found, 3 extra cards are added
• The game is over when all cards are drawn and no more sets
can be found

Splitting up your problem into microservices

  • 1.
    @reginatb38 & @DuchessFounder Splittingup your problem into microservices Régina ten Bruggencate Linda van der Pal Finalist
  • 2.
    @reginatb38 & @DuchessFounder Inspiredby Erik Talboom & Koen Metsu Splitting up a problem into microservices A nice cocktail of hardcore OO design mixed with some microservices, flavoured with single responsibility
  • 3.
    @reginatb38 & @DuchessFounder Possiblesplitting criteria • Implementation technology – Computationally heavy – I/O heavy • Geography – location of team • Domain Driven Design
  • 4.
    @reginatb38 & @DuchessFounder DDDterms explained • domain • model • ubiquitous language • context • bounded context
  • 5.
    @reginatb38 & @DuchessFounder Buildingblocks • layered architecture • entities • value objects • domain events • services
  • 6.
    @reginatb38 & @DuchessFounder Large-scalestructure • system metaphor • responsibility layers • knowledge level
  • 7.
    @reginatb38 & @DuchessFounder References •Building Microservices – Sam Newman • Domain Driven Design – Eric Evans • Microservice Architecture – Irakli Nadareishvili, Ronnie Mitra, Matt McLarty & Mike Amundsen • Microservices for Java Developers – Christian Posta
  • 8.
    @reginatb38 & @DuchessFounder SetRules • Each card has four properties – Quantity: 1, 2 or 3 – Colour: red, blue or green – Shape: heart, ellipse or square – Filling: open, shaded, full • 12 card form a board • 3 cards form a set, if any given property – Is equal for all three cards (3x red) – Is unequal for all three cards (red, blue and green) • If no set can be found, 3 extra cards are added • The game is over when all cards are drawn and no more sets can be found