Microservices

Pieter Joost van de Sande
Pieter Joost van de SandeSoftware Developer at Happy Pancake
μServices
Microservices
Microservices
28 000 000 
page views per week 
*Google Analytics v.17 2014 
18 MINUTER 
time spend per visit* 
55% 45%
Microservices
Microservices
A monolithic design is characterised by such a tight coupling 
among modules that they have no independent existence.
challenges 
• If one things fails, everything fails 
• Can’t scale the database any further 
• Expensive hardware 
• Maintenance is scary 
• Platinum support contract costs
Goals 
• Scaling individual parts of the system 
• Lower hardware costs 
• No platinum support 
• Environment to quickly evaluate ideas
Microservices
Top inspirations 
• Larry Constantine - Structured Design (1960) 
• Douglas McIlroy - Programs (1965) 
• Ken Thompson - Unix (1973) 
• Antony Williams - COM (1987) 
• Udi Dahan - Autonomous Components (2004) 
• Greg young - CQRS (2008) 
• Fred George - Micro Services (2013)
“Write simple parts connected by clean 
interfaces.” 
! 
“Design programs to be connected to other 
programs. “ 
–Ken Thompson, Unix Philosophy
“Make each program do one thing well. To do a 
new job, build afresh rather than complicate old 
programs by adding new features.” 
! 
“Expect the output of every program to become 
the input to another, as yet unknown, program.” 
–Mc Mcllroy, Unix Time-Sharing System Forward”. 1978
“A model can either be optimised for reading or 
for writing” 
–Greg Young
“Depend on others and fail together” 
–Rob Pike
simple: easily understood or done
autonomous: acting independently
coupling is the degree to which each module relies on each one 
of the other modules.
“μServices should be made as small as 
possible, but not smaller”
Event Storming is a workshop format for quickly exploring 
complex business domains.
Microservices
where does online status come from?
Microservices
“No μService should ever depend on another 
being available”
“every view should be served by a single to one 
μService”
GET /profile 
{!!name: bob ross,! 
! text: …! 
! portrait: {! 
! ! url: /m/f.jpg,! 
! ! isLiked: true,! 
! }! 
! isOnline: true! 
! publicPhotos: … 
! privatePhotos: [{! 
! ! url: /m/f.jpg! 
! ! hasAccess: true! 
! }]! 
}
Microservices
where does t he member live?
Microservices
“No μService represents an business entity, but 
rather serves an expect of one”
μServices architecture 
subscribe to events 
service 
publish events 
GET /profile 
accept http requests 
event bus 
storage 
reads and write to own storage
“An μService is the smallest consistency 
boundary”
“μServices depends more on how the service fit into the 
environment than on how they are designed internally.”
Microservices
“Polyglot developers still hate context 
switching”
“Clarity is better than cleverness”
Microservices
Microservices
Microservices
“An μService is the smallest part of the system 
that can scale independently”
Microservices
Microservices
Microservices
Microservices
Microservices
Microservices
Microservices
Microservices
Microservices
Microservices
Microservices
Microservices
Shipping
Microservices
“An μService doesn’t provide any value on its 
own”
“a μService is to μ to treat as a single product”
Microservices
Microservices
7000 
5250 
3500 
1750 
0 
v13.like.count v14.like.count 
13:00 13:15 13:30 13:45
ETCD 
• Simple, curl-able API (HTTP + 
JSON) 
• Benchmarked 1000s of writes/ 
s per instance 
• Properly distributed using Raft 
protocol 
• Atomic test and set 
• Easily listen for changes to a 
prefix via HTTP long-polling
Summary
You've been a great audience! 
already knew that when creating this slide
1 of 62

Recommended

Microservices in the real world by
Microservices in the real worldMicroservices in the real world
Microservices in the real worldnextbuild
229 views60 slides
Sustaining Your Career by
Sustaining Your CareerSustaining Your Career
Sustaining Your CareerScott Lowe
1.1K views38 slides
CKAN for RDM workshop by
CKAN for RDM workshopCKAN for RDM workshop
CKAN for RDM workshopJoss Winn
1.1K views7 slides
The Hardest Part of Microservices: Your Data - Christian Posta, Red Hat by
The Hardest Part of Microservices: Your Data - Christian Posta, Red HatThe Hardest Part of Microservices: Your Data - Christian Posta, Red Hat
The Hardest Part of Microservices: Your Data - Christian Posta, Red HatAmbassador Labs
3.4K views37 slides
Azure and DevOps: ARM & ARM by
Azure and DevOps: ARM & ARMAzure and DevOps: ARM & ARM
Azure and DevOps: ARM & ARMJim O'Neil
291 views14 slides
Common Sense Driven Development by
Common Sense Driven DevelopmentCommon Sense Driven Development
Common Sense Driven DevelopmentBozhidar Bozhanov
7.9K views32 slides

More Related Content

What's hot

AngularJS vs Backbone.js Smackdown by
AngularJS vs Backbone.js SmackdownAngularJS vs Backbone.js Smackdown
AngularJS vs Backbone.js SmackdownJohn Moore
1.5K views17 slides
Concocting an MVC, Data Services and Entity Framework solution for Azure by
Concocting an MVC, Data Services and Entity Framework solution for AzureConcocting an MVC, Data Services and Entity Framework solution for Azure
Concocting an MVC, Data Services and Entity Framework solution for AzureSaltmarch Media
814 views7 slides
Microservices with JBoss EAP & OpenShift by
Microservices with JBoss EAP & OpenShiftMicroservices with JBoss EAP & OpenShift
Microservices with JBoss EAP & OpenShiftbobmcwhirter
800 views56 slides
Tools for OnlineCommunities.pptx by
Tools for OnlineCommunities.pptxTools for OnlineCommunities.pptx
Tools for OnlineCommunities.pptxAnn Walker Smalley
301 views50 slides
Dynamic web by
Dynamic webDynamic web
Dynamic webrolandlluka
382 views12 slides
Lightning talk dexterity behaviors and mosaic by
Lightning talk dexterity behaviors and mosaicLightning talk dexterity behaviors and mosaic
Lightning talk dexterity behaviors and mosaicRobert Niederreiter
977 views7 slides

What's hot(15)

AngularJS vs Backbone.js Smackdown by John Moore
AngularJS vs Backbone.js SmackdownAngularJS vs Backbone.js Smackdown
AngularJS vs Backbone.js Smackdown
John Moore1.5K views
Concocting an MVC, Data Services and Entity Framework solution for Azure by Saltmarch Media
Concocting an MVC, Data Services and Entity Framework solution for AzureConcocting an MVC, Data Services and Entity Framework solution for Azure
Concocting an MVC, Data Services and Entity Framework solution for Azure
Saltmarch Media814 views
Microservices with JBoss EAP & OpenShift by bobmcwhirter
Microservices with JBoss EAP & OpenShiftMicroservices with JBoss EAP & OpenShift
Microservices with JBoss EAP & OpenShift
bobmcwhirter800 views
iOS Architectures by Hung Hoang
iOS ArchitecturesiOS Architectures
iOS Architectures
Hung Hoang1.1K views
2018 03-08 moving from legacy to event driven with kafka - confoo by Jeroen van der Gulik
2018 03-08 moving from legacy to event driven with kafka - confoo2018 03-08 moving from legacy to event driven with kafka - confoo
2018 03-08 moving from legacy to event driven with kafka - confoo
Conway's Law in Practice: Agile Teams & Microservices by Bogoi Bogdanov) by Bosnia Agile
Conway's Law in Practice: Agile Teams & Microservices by Bogoi Bogdanov)Conway's Law in Practice: Agile Teams & Microservices by Bogoi Bogdanov)
Conway's Law in Practice: Agile Teams & Microservices by Bogoi Bogdanov)
Bosnia Agile717 views
Promoter – A Python Project for Replicating a JSS via the API by macbrained
Promoter – A Python Project for Replicating a JSS via the APIPromoter – A Python Project for Replicating a JSS via the API
Promoter – A Python Project for Replicating a JSS via the API
macbrained945 views
Nextcloud als On-Premises Lösung für hochsicheren Datenaustausch (Frank Karli... by data://disrupted®
Nextcloud als On-Premises Lösung für hochsicheren Datenaustausch (Frank Karli...Nextcloud als On-Premises Lösung für hochsicheren Datenaustausch (Frank Karli...
Nextcloud als On-Premises Lösung für hochsicheren Datenaustausch (Frank Karli...
data://disrupted®233 views
Migration from 5 to Connections 6 - been there, done that by Sharon James
Migration from 5 to Connections 6 - been there, done thatMigration from 5 to Connections 6 - been there, done that
Migration from 5 to Connections 6 - been there, done that
Sharon James308 views

Similar to Microservices

Microservices by
MicroservicesMicroservices
MicroservicesPieter Joost van de Sande
8.7K views65 slides
Smaller is Better - Exploiting Microservice Architectures on AWS - Technical 201 by
Smaller is Better - Exploiting Microservice Architectures on AWS - Technical 201Smaller is Better - Exploiting Microservice Architectures on AWS - Technical 201
Smaller is Better - Exploiting Microservice Architectures on AWS - Technical 201Amazon Web Services
2.7K views68 slides
Microservices - stress-free and without increased heart-attack risk - Uwe Fri... by
Microservices - stress-free and without increased heart-attack risk - Uwe Fri...Microservices - stress-free and without increased heart-attack risk - Uwe Fri...
Microservices - stress-free and without increased heart-attack risk - Uwe Fri...distributed matters
2K views45 slides
Citizen Developer Tools are not just for Citizen Developers (session at Share... by
Citizen Developer Tools are not just for Citizen Developers (session at Share...Citizen Developer Tools are not just for Citizen Developers (session at Share...
Citizen Developer Tools are not just for Citizen Developers (session at Share...Antti Koskela
305 views63 slides
Using patterns and pattern languages to make better architectural decisions by
Using patterns and pattern languages to make better architectural decisions Using patterns and pattern languages to make better architectural decisions
Using patterns and pattern languages to make better architectural decisions Chris Richardson
5.7K views48 slides
Are Microservices our future? by
Are Microservices our future?Are Microservices our future?
Are Microservices our future?Angelo Simone Scotto
376 views30 slides

Similar to Microservices(20)

Smaller is Better - Exploiting Microservice Architectures on AWS - Technical 201 by Amazon Web Services
Smaller is Better - Exploiting Microservice Architectures on AWS - Technical 201Smaller is Better - Exploiting Microservice Architectures on AWS - Technical 201
Smaller is Better - Exploiting Microservice Architectures on AWS - Technical 201
Amazon Web Services2.7K views
Microservices - stress-free and without increased heart-attack risk - Uwe Fri... by distributed matters
Microservices - stress-free and without increased heart-attack risk - Uwe Fri...Microservices - stress-free and without increased heart-attack risk - Uwe Fri...
Microservices - stress-free and without increased heart-attack risk - Uwe Fri...
Citizen Developer Tools are not just for Citizen Developers (session at Share... by Antti Koskela
Citizen Developer Tools are not just for Citizen Developers (session at Share...Citizen Developer Tools are not just for Citizen Developers (session at Share...
Citizen Developer Tools are not just for Citizen Developers (session at Share...
Antti Koskela305 views
Using patterns and pattern languages to make better architectural decisions by Chris Richardson
Using patterns and pattern languages to make better architectural decisions Using patterns and pattern languages to make better architectural decisions
Using patterns and pattern languages to make better architectural decisions
Chris Richardson5.7K views
Software engineering the genesis by Pawel Szulc
Software engineering  the genesisSoftware engineering  the genesis
Software engineering the genesis
Pawel Szulc377 views
Microservices - when, why and how incontrodevops.it by Giuseppe Lavagetto
Microservices  - when, why and how incontrodevops.itMicroservices  - when, why and how incontrodevops.it
Microservices - when, why and how incontrodevops.it
Microservices - stress-free and without increased heart attack risk by Uwe Friedrichsen
Microservices - stress-free and without increased heart attack riskMicroservices - stress-free and without increased heart attack risk
Microservices - stress-free and without increased heart attack risk
Uwe Friedrichsen4.9K views
Citizen Developer Tools - session at SPS New England 10/20/2018 by Antti Koskela
Citizen Developer Tools - session at SPS New England 10/20/2018Citizen Developer Tools - session at SPS New England 10/20/2018
Citizen Developer Tools - session at SPS New England 10/20/2018
Antti Koskela309 views
Things will Change - Usenix Keynote UCMS'14 by Erica Windisch
Things will Change - Usenix Keynote UCMS'14Things will Change - Usenix Keynote UCMS'14
Things will Change - Usenix Keynote UCMS'14
Erica Windisch3.7K views
Monoliths, Myths, and Microservices - CfgMgmtCamp by Michael Ducy
Monoliths, Myths, and Microservices - CfgMgmtCampMonoliths, Myths, and Microservices - CfgMgmtCamp
Monoliths, Myths, and Microservices - CfgMgmtCamp
Michael Ducy2.3K views
Timeless design in a cloud-native world by Uwe Friedrichsen
Timeless design in a cloud-native worldTimeless design in a cloud-native world
Timeless design in a cloud-native world
Uwe Friedrichsen8.7K views
Exploring microservices in a Microsoft landscape by Alex Thissen
Exploring microservices in a Microsoft landscapeExploring microservices in a Microsoft landscape
Exploring microservices in a Microsoft landscape
Alex Thissen1.2K views
CQRS: Command/Query Responsibility Segregation by Brian Ritchie
CQRS: Command/Query Responsibility SegregationCQRS: Command/Query Responsibility Segregation
CQRS: Command/Query Responsibility Segregation
Brian Ritchie15K views
From Monoliths to Services: Paying Your Technical Debt by TechWell
From Monoliths to Services: Paying Your Technical DebtFrom Monoliths to Services: Paying Your Technical Debt
From Monoliths to Services: Paying Your Technical Debt
TechWell327 views
Deconstructing Monoliths with Domain Driven Design by VMware Tanzu
Deconstructing Monoliths with Domain Driven DesignDeconstructing Monoliths with Domain Driven Design
Deconstructing Monoliths with Domain Driven Design
VMware Tanzu4.4K views

More from Pieter Joost van de Sande

Actor Model by
Actor ModelActor Model
Actor ModelPieter Joost van de Sande
750 views104 slides
Werckers path to Go by
Werckers path to GoWerckers path to Go
Werckers path to GoPieter Joost van de Sande
595 views41 slides
Lessons for developers - long edition by
Lessons for developers  - long editionLessons for developers  - long edition
Lessons for developers - long editionPieter Joost van de Sande
728 views38 slides
Introduction to CQRS by
Introduction to CQRSIntroduction to CQRS
Introduction to CQRSPieter Joost van de Sande
1.7K views63 slides
Introduction to (n)CQRS by
Introduction to (n)CQRSIntroduction to (n)CQRS
Introduction to (n)CQRSPieter Joost van de Sande
314 views1 slide
Lessons for developers by
Lessons for developersLessons for developers
Lessons for developersPieter Joost van de Sande
346 views27 slides

Recently uploaded

Tridens DevOps by
Tridens DevOpsTridens DevOps
Tridens DevOpsTridens
9 views28 slides
DSD-INT 2023 Delft3D FM Suite 2024.01 1D2D - Beta testing programme - Geertsema by
DSD-INT 2023 Delft3D FM Suite 2024.01 1D2D - Beta testing programme - GeertsemaDSD-INT 2023 Delft3D FM Suite 2024.01 1D2D - Beta testing programme - Geertsema
DSD-INT 2023 Delft3D FM Suite 2024.01 1D2D - Beta testing programme - GeertsemaDeltares
12 views13 slides
Citi TechTalk Session 2: Kafka Deep Dive by
Citi TechTalk Session 2: Kafka Deep DiveCiti TechTalk Session 2: Kafka Deep Dive
Citi TechTalk Session 2: Kafka Deep Diveconfluent
17 views60 slides
Dev-Cloud Conference 2023 - Continuous Deployment Showdown: Traditionelles CI... by
Dev-Cloud Conference 2023 - Continuous Deployment Showdown: Traditionelles CI...Dev-Cloud Conference 2023 - Continuous Deployment Showdown: Traditionelles CI...
Dev-Cloud Conference 2023 - Continuous Deployment Showdown: Traditionelles CI...Marc Müller
31 views83 slides
Unmasking the Dark Art of Vectored Exception Handling: Bypassing XDR and EDR ... by
Unmasking the Dark Art of Vectored Exception Handling: Bypassing XDR and EDR ...Unmasking the Dark Art of Vectored Exception Handling: Bypassing XDR and EDR ...
Unmasking the Dark Art of Vectored Exception Handling: Bypassing XDR and EDR ...Donato Onofri
643 views34 slides
DSD-INT 2023 Modelling litter in the Yarra and Maribyrnong Rivers (Australia)... by
DSD-INT 2023 Modelling litter in the Yarra and Maribyrnong Rivers (Australia)...DSD-INT 2023 Modelling litter in the Yarra and Maribyrnong Rivers (Australia)...
DSD-INT 2023 Modelling litter in the Yarra and Maribyrnong Rivers (Australia)...Deltares
9 views34 slides

Recently uploaded(20)

Tridens DevOps by Tridens
Tridens DevOpsTridens DevOps
Tridens DevOps
Tridens9 views
DSD-INT 2023 Delft3D FM Suite 2024.01 1D2D - Beta testing programme - Geertsema by Deltares
DSD-INT 2023 Delft3D FM Suite 2024.01 1D2D - Beta testing programme - GeertsemaDSD-INT 2023 Delft3D FM Suite 2024.01 1D2D - Beta testing programme - Geertsema
DSD-INT 2023 Delft3D FM Suite 2024.01 1D2D - Beta testing programme - Geertsema
Deltares12 views
Citi TechTalk Session 2: Kafka Deep Dive by confluent
Citi TechTalk Session 2: Kafka Deep DiveCiti TechTalk Session 2: Kafka Deep Dive
Citi TechTalk Session 2: Kafka Deep Dive
confluent17 views
Dev-Cloud Conference 2023 - Continuous Deployment Showdown: Traditionelles CI... by Marc Müller
Dev-Cloud Conference 2023 - Continuous Deployment Showdown: Traditionelles CI...Dev-Cloud Conference 2023 - Continuous Deployment Showdown: Traditionelles CI...
Dev-Cloud Conference 2023 - Continuous Deployment Showdown: Traditionelles CI...
Marc Müller31 views
Unmasking the Dark Art of Vectored Exception Handling: Bypassing XDR and EDR ... by Donato Onofri
Unmasking the Dark Art of Vectored Exception Handling: Bypassing XDR and EDR ...Unmasking the Dark Art of Vectored Exception Handling: Bypassing XDR and EDR ...
Unmasking the Dark Art of Vectored Exception Handling: Bypassing XDR and EDR ...
Donato Onofri643 views
DSD-INT 2023 Modelling litter in the Yarra and Maribyrnong Rivers (Australia)... by Deltares
DSD-INT 2023 Modelling litter in the Yarra and Maribyrnong Rivers (Australia)...DSD-INT 2023 Modelling litter in the Yarra and Maribyrnong Rivers (Australia)...
DSD-INT 2023 Modelling litter in the Yarra and Maribyrnong Rivers (Australia)...
Deltares9 views
Roadmap y Novedades de producto by Neo4j
Roadmap y Novedades de productoRoadmap y Novedades de producto
Roadmap y Novedades de producto
Neo4j43 views
DSD-INT 2023 Next-Generation Flood Inundation Mapping for Taiwan - Delft3D FM... by Deltares
DSD-INT 2023 Next-Generation Flood Inundation Mapping for Taiwan - Delft3D FM...DSD-INT 2023 Next-Generation Flood Inundation Mapping for Taiwan - Delft3D FM...
DSD-INT 2023 Next-Generation Flood Inundation Mapping for Taiwan - Delft3D FM...
Deltares7 views
DSD-INT 2023 Simulating a falling apron in Delft3D 4 - Engineering Practice -... by Deltares
DSD-INT 2023 Simulating a falling apron in Delft3D 4 - Engineering Practice -...DSD-INT 2023 Simulating a falling apron in Delft3D 4 - Engineering Practice -...
DSD-INT 2023 Simulating a falling apron in Delft3D 4 - Engineering Practice -...
Deltares6 views
DSD-INT 2023 - Delft3D User Days - Welcome - Day 3 - Afternoon by Deltares
DSD-INT 2023 - Delft3D User Days - Welcome - Day 3 - AfternoonDSD-INT 2023 - Delft3D User Days - Welcome - Day 3 - Afternoon
DSD-INT 2023 - Delft3D User Days - Welcome - Day 3 - Afternoon
Deltares11 views
DSD-INT 2023 Baseline studies for Strategic Coastal protection for Long Islan... by Deltares
DSD-INT 2023 Baseline studies for Strategic Coastal protection for Long Islan...DSD-INT 2023 Baseline studies for Strategic Coastal protection for Long Islan...
DSD-INT 2023 Baseline studies for Strategic Coastal protection for Long Islan...
Deltares10 views
DSD-INT 2023 Wave-Current Interaction at Montrose Tidal Inlet System and Its ... by Deltares
DSD-INT 2023 Wave-Current Interaction at Montrose Tidal Inlet System and Its ...DSD-INT 2023 Wave-Current Interaction at Montrose Tidal Inlet System and Its ...
DSD-INT 2023 Wave-Current Interaction at Montrose Tidal Inlet System and Its ...
Deltares9 views
Mark Simpson - UKOUG23 - Refactoring Monolithic Oracle Database Applications ... by marksimpsongw
Mark Simpson - UKOUG23 - Refactoring Monolithic Oracle Database Applications ...Mark Simpson - UKOUG23 - Refactoring Monolithic Oracle Database Applications ...
Mark Simpson - UKOUG23 - Refactoring Monolithic Oracle Database Applications ...
marksimpsongw74 views
.NET Developer Conference 2023 - .NET Microservices mit Dapr – zu viel Abstra... by Marc Müller
.NET Developer Conference 2023 - .NET Microservices mit Dapr – zu viel Abstra....NET Developer Conference 2023 - .NET Microservices mit Dapr – zu viel Abstra...
.NET Developer Conference 2023 - .NET Microservices mit Dapr – zu viel Abstra...
Marc Müller35 views
Les nouveautés produit Neo4j by Neo4j
 Les nouveautés produit Neo4j Les nouveautés produit Neo4j
Les nouveautés produit Neo4j
Neo4j27 views
DSD-INT 2023 Thermobaricity in 3D DCSM-FM - taking pressure into account in t... by Deltares
DSD-INT 2023 Thermobaricity in 3D DCSM-FM - taking pressure into account in t...DSD-INT 2023 Thermobaricity in 3D DCSM-FM - taking pressure into account in t...
DSD-INT 2023 Thermobaricity in 3D DCSM-FM - taking pressure into account in t...
Deltares9 views
DSD-INT 2023 Delft3D FM Suite 2024.01 2D3D - New features + Improvements - Ge... by Deltares
DSD-INT 2023 Delft3D FM Suite 2024.01 2D3D - New features + Improvements - Ge...DSD-INT 2023 Delft3D FM Suite 2024.01 2D3D - New features + Improvements - Ge...
DSD-INT 2023 Delft3D FM Suite 2024.01 2D3D - New features + Improvements - Ge...
Deltares16 views

Microservices