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
My Journey from CAD to BIM: A True Underdog Story
Safe Software
 
PDF
''Taming Explosive Growth: Building Resilience in a Hyper-Scaled Financial Pl...
Fwdays
 
PDF
How to Comply With Saudi Arabia’s National Cybersecurity Regulations.pdf
Bluechip Advanced Technologies
 
PDF
FME as an Orchestration Tool with Principles From Data Gravity
Safe Software
 
PDF
Proactive Server and System Monitoring with FME: Using HTTP and System Caller...
Safe Software
 
PPTX
2025 HackRedCon Cyber Career Paths.pptx Scott Stanton
Scott Stanton
 
PDF
99 Bottles of Trust on the Wall — Operational Principles for Trust in Cyber C...
treyka
 
PDF
Darley - FIRST Copenhagen Lightning Talk (2025-06-26) Epochalypse 2038 - Time...
treyka
 
PPTX
Smarter Governance with AI: What Every Board Needs to Know
OnBoard
 
PPSX
Usergroup - OutSystems Architecture.ppsx
Kurt Vandevelde
 
PDF
The Future of Product Management in AI ERA.pdf
Alyona Owens
 
PDF
Hyderabad MuleSoft In-Person Meetup (June 21, 2025) Slides
Ravi Tamada
 
PDF
Java 25 and Beyond - A Roadmap of Innovations
Ana-Maria Mihalceanu
 
PDF
ArcGIS Utility Network Migration - The Hunter Water Story
Safe Software
 
PDF
DoS Attack vs DDoS Attack_ The Silent Wars of the Internet.pdf
CyberPro Magazine
 
PDF
LLM Search Readiness Audit - Dentsu x SEO Square - June 2025.pdf
Nick Samuel
 
DOCX
Daily Lesson Log MATATAG ICT TEchnology 8
LOIDAALMAZAN3
 
PDF
Understanding AI Optimization AIO, LLMO, and GEO
CoDigital
 
PDF
Plugging AI into everything: Model Context Protocol Simplified.pdf
Abati Adewale
 
PPTX
Enabling the Digital Artisan – keynote at ICOCI 2025
Alan Dix
 
My Journey from CAD to BIM: A True Underdog Story
Safe Software
 
''Taming Explosive Growth: Building Resilience in a Hyper-Scaled Financial Pl...
Fwdays
 
How to Comply With Saudi Arabia’s National Cybersecurity Regulations.pdf
Bluechip Advanced Technologies
 
FME as an Orchestration Tool with Principles From Data Gravity
Safe Software
 
Proactive Server and System Monitoring with FME: Using HTTP and System Caller...
Safe Software
 
2025 HackRedCon Cyber Career Paths.pptx Scott Stanton
Scott Stanton
 
99 Bottles of Trust on the Wall — Operational Principles for Trust in Cyber C...
treyka
 
Darley - FIRST Copenhagen Lightning Talk (2025-06-26) Epochalypse 2038 - Time...
treyka
 
Smarter Governance with AI: What Every Board Needs to Know
OnBoard
 
Usergroup - OutSystems Architecture.ppsx
Kurt Vandevelde
 
The Future of Product Management in AI ERA.pdf
Alyona Owens
 
Hyderabad MuleSoft In-Person Meetup (June 21, 2025) Slides
Ravi Tamada
 
Java 25 and Beyond - A Roadmap of Innovations
Ana-Maria Mihalceanu
 
ArcGIS Utility Network Migration - The Hunter Water Story
Safe Software
 
DoS Attack vs DDoS Attack_ The Silent Wars of the Internet.pdf
CyberPro Magazine
 
LLM Search Readiness Audit - Dentsu x SEO Square - June 2025.pdf
Nick Samuel
 
Daily Lesson Log MATATAG ICT TEchnology 8
LOIDAALMAZAN3
 
Understanding AI Optimization AIO, LLMO, and GEO
CoDigital
 
Plugging AI into everything: Model Context Protocol Simplified.pdf
Abati Adewale
 
Enabling the Digital Artisan – keynote at ICOCI 2025
Alan Dix
 

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