SlideShare a Scribd company logo
M I C R O S E R V I C E S
D E C O U P L I N G A P I S T H R O U G H
M I C R O S E R V I C E S
D E C O U P L I N G A P I S T H R O U G H
W H O A M I ?
• David Simons
(@SwamWithTurtles)
• Technical Lead for
Softwire
• Hacker specialising in
Node and Java
M Y E X P E R I E N C E
W I T H A P I S
• Focused on web
development
• Utilise data from our own,
or third party APIs to affect
rendered data
W H AT I WA N T T O
TA L K A B O U T…
• What problems do
microservices solve?
• What is a microservice?
• How can I start
implementing
microservices?
W H AT P R O B L E M S D O
M I C R O S E R V I C E S S O LV E ?
Q U E S T I O N 1 :
W H AT D O W E
A S P I R E F O R I N
A G O O D A P I ?
W H AT M A K E S A G O O D A P I ?
HATEOS-y
Sensibly named
Ignorant of Consumers
Well Maintained
Tested
Appropriate
Extensible
Hard to Misuse
Secure Useful
High Quality Data
RESTful
Easy to Adopt
Resilient
Performant
Versioned
Declarative
Flexible output formats
Stable
Well Documented
D E C O U P L E D
A G O O D A P I I S …
R E U S A B L E
A G O O D A P I I S …
S C A L A B L E
A G O O D A P I I S …
A M I C R O S E R V I C E
A R C H I T E C T U R E M A K E S
Y O U R A P I S M O R E :
D E C O U P L E D , R E U S A B L E
A N D S C A L A B L E
M Y C L A I M …
W H AT I S A
M I C R O S E R V I C E ?
Q U E S T I O N 2 :
Independently deployable services
focused around business concerns,
which contain all your logic.
F O C U S E D
A R O U N D
B U S I N E S S
C O N C E R N S
M I C R O S E R V I C E S A R E …
M I C R O S E R V I C E S
A R E N O T L AY E R E D
A R C H I T E C T U R E S
B AT C H D ATA P R O C E S S
D ATA A C C E S S L AY E R
P R E S E N TAT I O N T I E R
M E S S A G E Q U E U E
B U S I N E S S
C O N C E R N S
B AT C H D ATA P R O C E S S
D ATA A C C E S S L AY E R
P R E S E N TAT I O N T I E R
TaxPricing
I N D E P E N D E N T LY
D E P L O YA B L E
M I C R O S E R V I C E S A R E …
B U S I N E S S
C O N C E R N S
B AT C H D ATA P R O C E S S
D ATA A C C E S S L AY E R
P R E S E N TAT I O N T I E R
TaxPricing
B U S I N E S S
C O N C E R N S
B AT C H D ATA P R O C E S S
D ATA A C C E S S L AY E R
P R E S E N TAT I O N T I E R
Tax v2Pricing
T H E
F R A C T U R E D
M O N O L I T H
B E WA R E …
C O N TA I N I N G
A L L Y O U R
L O G I C
A M I C R O S E R V I C E H A S …
- M A R T I N F O W L E R
“Smart Endpoints, Dumb Pipes”
S M A R T P I P E S
H O W D O E S T H I S M AT C H
O U R “ I D E A L A P I ” ?
D E C O U P L E D
• Implementation can’t be
leaked due to separate
deployments
• All the intelligence is in the
system
R E U S A B L E
• Services contain “just
enough” information to be
useful in multiple places
• No danger of long strands
of dependencies
S C A L A B L E
• Separate systems can each
be deployed
independently of the other
• Smaller systems have less
requirements in terms of
hardware
M I C R O S E R V I C E S A R E N O T
R I G H T F O R E V E RY O N E
WA R N I N G
T H E B A D
B I T S …
• Increased latency through
message passing
• Added work and
complexity
• Issues are less
discoverable
• Increased licensing costs
on some stacks
T H E B A D
B I T S …
• Similar issues exist with
any “encapsulation”
methodology:
• OOP
• Web Components
H O W C A N I S TA R T T O
I M P L E M E N T T H E M ?
Q U E S T I O N 3 :
T H E R E ’ S T O O M U C H T O
TA L K A B O U T I N O N E TA L K .
WA R N I N G
C R E AT I O N
S T E P # 1 :
C R E AT I O N
• Do it yourself!
• Lightweight languages
such as NodeJS make
API creation easy
• App creation
frameworks like Spring
Boot (Java) and
Yeomen (JS)
C R E AT I O N
• DropWizard
P O P U L AT I O N
S T E P # 2 :
J U S T C O D E I T !
P O P U L A T I O N
M E S S A G E
PA S S I N G
S T E P # 3 :
M E S S A G E
PA S S I N G
• “Smart Endpoints, Dumb
Pipes” - Martin Fowler
• All the standard ways of
consuming APIs - e.g.
HTTP, Message Queues
D E P L O Y M E N T
S T E P # 4 :
D E P L O Y M E N T
• Five years ago:
• Work hard
D E P L O Y M E N T
• Automate it as much as
possible
• Old favourites: Continuous
Integration/Source Control
• Puppet/Chef for config
management
• Docker can automate
microservice containers
T O C O N C L U D E
S O …
T O
C O N C L U D E …
• APIs work best when they
allow separate parts of
your system to behave
independently
• Using microservices can
enforce this pattern
• The Ecosystem is big - and
growing!
T H A N K S
@swamwithturtles
swamwithturtles.com

More Related Content

What's hot (19)

PPTX
Location-Based Mobile Ordering
Nicholas Kent
 
PPTX
Comunicacion
COELHOMIG
 
PDF
Facilities for Agile
Pierre E. NEIS
 
PDF
23 Things to know before starting an agile organisational transformation
Pierre E. NEIS
 
PDF
Blockchain. The silent revolution.
AURACHAIN
 
PPTX
Roman Zykov of Retail Rocket, “Big Data can be transformed into big money.”
East-West Digital News
 
PPT
Business Executive Suites Northpoint
JohannaRaeder
 
PPT
Business Executive Suites Northpoint
ElizabethS
 
PDF
Openbar 4 - Leuven - AI for Public Services - Stewie - Arinti
Openbar
 
PDF
Openbar 1 - Leuven - Oswald chatbot platform - powering your next conversatio...
Openbar
 
PPTX
Building Successful Communities: Michael Howard, urbanbubble
Place North West
 
PDF
Trends, organisatie impact en social media presentatie
Mirror Wise
 
PDF
Chatbots in HR
Vedang Vatsa
 
PDF
CV Nasir Abbas
Nasir Abbas
 
PDF
CREDAI MCHI - Property Expo - Case Study - AGENCY09
AGENCY09
 
PPTX
Managing Technical Debt - WordCamp Orlando 2017
Chad Windnagle
 
PDF
Marketing Digital - Customer Engagement SAP Forum | Digital Boost
Digital Boost
 
PDF
StoreMotion Company Profile
StoreMotion | Retail Solutions
 
PPT
Location Based and Proximity Marketing_Michael Hanley
Sara Quinn
 
Location-Based Mobile Ordering
Nicholas Kent
 
Comunicacion
COELHOMIG
 
Facilities for Agile
Pierre E. NEIS
 
23 Things to know before starting an agile organisational transformation
Pierre E. NEIS
 
Blockchain. The silent revolution.
AURACHAIN
 
Roman Zykov of Retail Rocket, “Big Data can be transformed into big money.”
East-West Digital News
 
Business Executive Suites Northpoint
JohannaRaeder
 
Business Executive Suites Northpoint
ElizabethS
 
Openbar 4 - Leuven - AI for Public Services - Stewie - Arinti
Openbar
 
Openbar 1 - Leuven - Oswald chatbot platform - powering your next conversatio...
Openbar
 
Building Successful Communities: Michael Howard, urbanbubble
Place North West
 
Trends, organisatie impact en social media presentatie
Mirror Wise
 
Chatbots in HR
Vedang Vatsa
 
CV Nasir Abbas
Nasir Abbas
 
CREDAI MCHI - Property Expo - Case Study - AGENCY09
AGENCY09
 
Managing Technical Debt - WordCamp Orlando 2017
Chad Windnagle
 
Marketing Digital - Customer Engagement SAP Forum | Digital Boost
Digital Boost
 
StoreMotion Company Profile
StoreMotion | Retail Solutions
 
Location Based and Proximity Marketing_Michael Hanley
Sara Quinn
 

Similar to Decoupled APIs through microservices (20)

PDF
Decoupled APIs through Microservices
David Simons
 
PPTX
SharePoint Saturday Redmond - Building solutions with the future in mind
Chris Johnson
 
PPTX
Cloud Identity Deployed
Pablo Valarezo
 
PDF
Designing for IoT and Cyber-Physical System
Maurizio Caporali
 
PPTX
2425-GE-10-M1-G6-IT-CULTURE-AND-THE-SOCIETY-1-1_085926.pptx
vanessalumbis4
 
PDF
Web Development for Managers
Randy Connolly
 
PDF
Elevated.com's 2018 General Capabilities Deck-We are growing!!
Chris Snook
 
PDF
100% Visibility - Jason Yee - Codemotion Amsterdam 2018
Codemotion
 
PDF
Nuno Job - what's next for software - ANDdigital tech summit
Greta Strolyte
 
PPTX
Architecting your IT career
John Mark Troyer
 
PDF
Switching horses midstream - From Waterfall to Agile
Doc Norton
 
PDF
BS portfolio
Md. Niazur Rahman
 
PPTX
Vb & asp
sanjay joshi
 
PDF
From Content Strategy to Drupal Site Building - Connecting the Dots
Ronald Ashri
 
PDF
From Content Strategy to Drupal Site Building - Connecting the dots
Ronald Ashri
 
PDF
Touch Drive - A touch-based multi-function controller for autonomous driving
Juntima Nawilaijaroen
 
PDF
Offline-first: Making your app resilient to network failures
Pedro Teixeira
 
PPTX
Introduction to Information Technology 2
dmeekis
 
PPTX
Introducing the Unified Cloud - Sean Bruton
Hostway|HOSTING
 
PDF
Semantic BDD with ShouldIT?
Richard McIntyre
 
Decoupled APIs through Microservices
David Simons
 
SharePoint Saturday Redmond - Building solutions with the future in mind
Chris Johnson
 
Cloud Identity Deployed
Pablo Valarezo
 
Designing for IoT and Cyber-Physical System
Maurizio Caporali
 
2425-GE-10-M1-G6-IT-CULTURE-AND-THE-SOCIETY-1-1_085926.pptx
vanessalumbis4
 
Web Development for Managers
Randy Connolly
 
Elevated.com's 2018 General Capabilities Deck-We are growing!!
Chris Snook
 
100% Visibility - Jason Yee - Codemotion Amsterdam 2018
Codemotion
 
Nuno Job - what's next for software - ANDdigital tech summit
Greta Strolyte
 
Architecting your IT career
John Mark Troyer
 
Switching horses midstream - From Waterfall to Agile
Doc Norton
 
BS portfolio
Md. Niazur Rahman
 
Vb & asp
sanjay joshi
 
From Content Strategy to Drupal Site Building - Connecting the Dots
Ronald Ashri
 
From Content Strategy to Drupal Site Building - Connecting the dots
Ronald Ashri
 
Touch Drive - A touch-based multi-function controller for autonomous driving
Juntima Nawilaijaroen
 
Offline-first: Making your app resilient to network failures
Pedro Teixeira
 
Introduction to Information Technology 2
dmeekis
 
Introducing the Unified Cloud - Sean Bruton
Hostway|HOSTING
 
Semantic BDD with ShouldIT?
Richard McIntyre
 
Ad

More from David Simons (16)

PDF
Four Architectural Patterns
David Simons
 
PDF
Data Modelling at Scale
David Simons
 
PDF
Statistical Programming with JavaScript
David Simons
 
PDF
Non-Functional Requirements
David Simons
 
PDF
High quality Front-End
David Simons
 
PDF
Bristol Uni - Use Cases of NoSQL
David Simons
 
PDF
Choosing the Right Database
David Simons
 
PPTX
Build Tools & Maven
David Simons
 
PDF
Choosing the right database
David Simons
 
PDF
Graph Modelling
David Simons
 
PDF
Graph theory in Practise
David Simons
 
PDF
TDD: What is it good for?
David Simons
 
PDF
Domain Driven Design: A Precis
David Simons
 
PDF
10 d bs in 30 minutes
David Simons
 
PPTX
Using Clojure to Marry Neo4j and Open Democracy
David Simons
 
PDF
Exploring Election Results with Neo4J
David Simons
 
Four Architectural Patterns
David Simons
 
Data Modelling at Scale
David Simons
 
Statistical Programming with JavaScript
David Simons
 
Non-Functional Requirements
David Simons
 
High quality Front-End
David Simons
 
Bristol Uni - Use Cases of NoSQL
David Simons
 
Choosing the Right Database
David Simons
 
Build Tools & Maven
David Simons
 
Choosing the right database
David Simons
 
Graph Modelling
David Simons
 
Graph theory in Practise
David Simons
 
TDD: What is it good for?
David Simons
 
Domain Driven Design: A Precis
David Simons
 
10 d bs in 30 minutes
David Simons
 
Using Clojure to Marry Neo4j and Open Democracy
David Simons
 
Exploring Election Results with Neo4J
David Simons
 
Ad

Recently uploaded (20)

PDF
CIFDAQ Weekly Market Wrap for 11th July 2025
CIFDAQ
 
PDF
Newgen 2022-Forrester Newgen TEI_13 05 2022-The-Total-Economic-Impact-Newgen-...
darshakparmar
 
PDF
From Code to Challenge: Crafting Skill-Based Games That Engage and Reward
aiyshauae
 
PPTX
WooCommerce Workshop: Bring Your Laptop
Laura Hartwig
 
PDF
LLMs.txt: Easily Control How AI Crawls Your Site
Keploy
 
PDF
Empower Inclusion Through Accessible Java Applications
Ana-Maria Mihalceanu
 
PPTX
AI Penetration Testing Essentials: A Cybersecurity Guide for 2025
defencerabbit Team
 
PDF
Bitcoin for Millennials podcast with Bram, Power Laws of Bitcoin
Stephen Perrenod
 
PDF
July Patch Tuesday
Ivanti
 
PDF
New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 
PDF
Using FME to Develop Self-Service CAD Applications for a Major UK Police Force
Safe Software
 
PDF
How Startups Are Growing Faster with App Developers in Australia.pdf
India App Developer
 
PPTX
UiPath Academic Alliance Educator Panels: Session 2 - Business Analyst Content
DianaGray10
 
PDF
CIFDAQ Market Insights for July 7th 2025
CIFDAQ
 
PDF
SWEBOK Guide and Software Services Engineering Education
Hironori Washizaki
 
PDF
[Newgen] NewgenONE Marvin Brochure 1.pdf
darshakparmar
 
PDF
DevBcn - Building 10x Organizations Using Modern Productivity Metrics
Justin Reock
 
PDF
CIFDAQ Token Spotlight for 9th July 2025
CIFDAQ
 
PDF
Presentation - Vibe Coding The Future of Tech
yanuarsinggih1
 
PDF
Fl Studio 24.2.2 Build 4597 Crack for Windows Free Download 2025
faizk77g
 
CIFDAQ Weekly Market Wrap for 11th July 2025
CIFDAQ
 
Newgen 2022-Forrester Newgen TEI_13 05 2022-The-Total-Economic-Impact-Newgen-...
darshakparmar
 
From Code to Challenge: Crafting Skill-Based Games That Engage and Reward
aiyshauae
 
WooCommerce Workshop: Bring Your Laptop
Laura Hartwig
 
LLMs.txt: Easily Control How AI Crawls Your Site
Keploy
 
Empower Inclusion Through Accessible Java Applications
Ana-Maria Mihalceanu
 
AI Penetration Testing Essentials: A Cybersecurity Guide for 2025
defencerabbit Team
 
Bitcoin for Millennials podcast with Bram, Power Laws of Bitcoin
Stephen Perrenod
 
July Patch Tuesday
Ivanti
 
New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 
Using FME to Develop Self-Service CAD Applications for a Major UK Police Force
Safe Software
 
How Startups Are Growing Faster with App Developers in Australia.pdf
India App Developer
 
UiPath Academic Alliance Educator Panels: Session 2 - Business Analyst Content
DianaGray10
 
CIFDAQ Market Insights for July 7th 2025
CIFDAQ
 
SWEBOK Guide and Software Services Engineering Education
Hironori Washizaki
 
[Newgen] NewgenONE Marvin Brochure 1.pdf
darshakparmar
 
DevBcn - Building 10x Organizations Using Modern Productivity Metrics
Justin Reock
 
CIFDAQ Token Spotlight for 9th July 2025
CIFDAQ
 
Presentation - Vibe Coding The Future of Tech
yanuarsinggih1
 
Fl Studio 24.2.2 Build 4597 Crack for Windows Free Download 2025
faizk77g
 

Decoupled APIs through microservices

  • 1. M I C R O S E R V I C E S D E C O U P L I N G A P I S T H R O U G H
  • 2. M I C R O S E R V I C E S D E C O U P L I N G A P I S T H R O U G H
  • 3. W H O A M I ? • David Simons (@SwamWithTurtles) • Technical Lead for Softwire • Hacker specialising in Node and Java
  • 4. M Y E X P E R I E N C E W I T H A P I S • Focused on web development • Utilise data from our own, or third party APIs to affect rendered data
  • 5. W H AT I WA N T T O TA L K A B O U T… • What problems do microservices solve? • What is a microservice? • How can I start implementing microservices?
  • 6. W H AT P R O B L E M S D O M I C R O S E R V I C E S S O LV E ? Q U E S T I O N 1 :
  • 7. W H AT D O W E A S P I R E F O R I N A G O O D A P I ?
  • 8. W H AT M A K E S A G O O D A P I ? HATEOS-y Sensibly named Ignorant of Consumers Well Maintained Tested Appropriate Extensible Hard to Misuse Secure Useful High Quality Data RESTful Easy to Adopt Resilient Performant Versioned Declarative Flexible output formats Stable Well Documented
  • 9. D E C O U P L E D A G O O D A P I I S …
  • 10. R E U S A B L E A G O O D A P I I S …
  • 11. S C A L A B L E A G O O D A P I I S …
  • 12. A M I C R O S E R V I C E A R C H I T E C T U R E M A K E S Y O U R A P I S M O R E : D E C O U P L E D , R E U S A B L E A N D S C A L A B L E M Y C L A I M …
  • 13. W H AT I S A M I C R O S E R V I C E ? Q U E S T I O N 2 :
  • 14. Independently deployable services focused around business concerns, which contain all your logic.
  • 15. F O C U S E D A R O U N D B U S I N E S S C O N C E R N S M I C R O S E R V I C E S A R E …
  • 16. M I C R O S E R V I C E S A R E N O T L AY E R E D A R C H I T E C T U R E S B AT C H D ATA P R O C E S S D ATA A C C E S S L AY E R P R E S E N TAT I O N T I E R M E S S A G E Q U E U E
  • 17. B U S I N E S S C O N C E R N S B AT C H D ATA P R O C E S S D ATA A C C E S S L AY E R P R E S E N TAT I O N T I E R TaxPricing
  • 18. I N D E P E N D E N T LY D E P L O YA B L E M I C R O S E R V I C E S A R E …
  • 19. B U S I N E S S C O N C E R N S B AT C H D ATA P R O C E S S D ATA A C C E S S L AY E R P R E S E N TAT I O N T I E R TaxPricing
  • 20. B U S I N E S S C O N C E R N S B AT C H D ATA P R O C E S S D ATA A C C E S S L AY E R P R E S E N TAT I O N T I E R Tax v2Pricing
  • 21. T H E F R A C T U R E D M O N O L I T H B E WA R E …
  • 22. C O N TA I N I N G A L L Y O U R L O G I C A M I C R O S E R V I C E H A S …
  • 23. - M A R T I N F O W L E R “Smart Endpoints, Dumb Pipes”
  • 24. S M A R T P I P E S
  • 25. H O W D O E S T H I S M AT C H O U R “ I D E A L A P I ” ?
  • 26. D E C O U P L E D • Implementation can’t be leaked due to separate deployments • All the intelligence is in the system
  • 27. R E U S A B L E • Services contain “just enough” information to be useful in multiple places • No danger of long strands of dependencies
  • 28. S C A L A B L E • Separate systems can each be deployed independently of the other • Smaller systems have less requirements in terms of hardware
  • 29. M I C R O S E R V I C E S A R E N O T R I G H T F O R E V E RY O N E WA R N I N G
  • 30. T H E B A D B I T S … • Increased latency through message passing • Added work and complexity • Issues are less discoverable • Increased licensing costs on some stacks
  • 31. T H E B A D B I T S … • Similar issues exist with any “encapsulation” methodology: • OOP • Web Components
  • 32. H O W C A N I S TA R T T O I M P L E M E N T T H E M ? Q U E S T I O N 3 :
  • 33. T H E R E ’ S T O O M U C H T O TA L K A B O U T I N O N E TA L K . WA R N I N G
  • 34. C R E AT I O N S T E P # 1 :
  • 35. C R E AT I O N • Do it yourself! • Lightweight languages such as NodeJS make API creation easy • App creation frameworks like Spring Boot (Java) and Yeomen (JS)
  • 36. C R E AT I O N • DropWizard
  • 37. P O P U L AT I O N S T E P # 2 :
  • 38. J U S T C O D E I T ! P O P U L A T I O N
  • 39. M E S S A G E PA S S I N G S T E P # 3 :
  • 40. M E S S A G E PA S S I N G • “Smart Endpoints, Dumb Pipes” - Martin Fowler • All the standard ways of consuming APIs - e.g. HTTP, Message Queues
  • 41. D E P L O Y M E N T S T E P # 4 :
  • 42. D E P L O Y M E N T • Five years ago: • Work hard
  • 43. D E P L O Y M E N T • Automate it as much as possible • Old favourites: Continuous Integration/Source Control • Puppet/Chef for config management • Docker can automate microservice containers
  • 44. T O C O N C L U D E S O …
  • 45. T O C O N C L U D E … • APIs work best when they allow separate parts of your system to behave independently • Using microservices can enforce this pattern • The Ecosystem is big - and growing!
  • 46. T H A N K S @swamwithturtles swamwithturtles.com