SlideShare una empresa de Scribd logo
1 de 46
Descargar para leer sin conexión
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

Más contenido relacionado

La actualidad más candente

Location-Based Mobile Ordering
Location-Based Mobile OrderingLocation-Based Mobile Ordering
Location-Based Mobile OrderingNicholas Kent
 
Comunicacion
ComunicacionComunicacion
ComunicacionCOELHOMIG
 
23 Things to know before starting an agile organisational transformation
23 Things to know before starting an agile organisational transformation 23 Things to know before starting an agile organisational transformation
23 Things to know before starting an agile organisational transformation Pierre E. NEIS
 
Blockchain. The silent revolution.
Blockchain. The silent revolution.Blockchain. The silent revolution.
Blockchain. The silent revolution.AURACHAIN
 
Roman Zykov of Retail Rocket, “Big Data can be transformed into big money.”
Roman Zykov of Retail Rocket, “Big Data can be transformed into big money.”Roman Zykov of Retail Rocket, “Big Data can be transformed into big money.”
Roman Zykov of Retail Rocket, “Big Data can be transformed into big money.”East-West Digital News
 
Business Executive Suites Northpoint
Business Executive Suites NorthpointBusiness Executive Suites Northpoint
Business Executive Suites NorthpointJohannaRaeder
 
Business Executive Suites Northpoint
Business Executive Suites NorthpointBusiness Executive Suites Northpoint
Business Executive Suites NorthpointElizabethS
 
Openbar 4 - Leuven - AI for Public Services - Stewie - Arinti
 Openbar 4 - Leuven - AI for Public Services - Stewie - Arinti Openbar 4 - Leuven - AI for Public Services - Stewie - Arinti
Openbar 4 - Leuven - AI for Public Services - Stewie - ArintiOpenbar
 
Openbar 1 - Leuven - Oswald chatbot platform - powering your next conversatio...
Openbar 1 - Leuven - Oswald chatbot platform - powering your next conversatio...Openbar 1 - Leuven - Oswald chatbot platform - powering your next conversatio...
Openbar 1 - Leuven - Oswald chatbot platform - powering your next conversatio...Openbar
 
Building Successful Communities: Michael Howard, urbanbubble
Building Successful Communities: Michael Howard, urbanbubbleBuilding Successful Communities: Michael Howard, urbanbubble
Building Successful Communities: Michael Howard, urbanbubblePlace North West
 
Trends, organisatie impact en social media presentatie
Trends, organisatie impact en social media presentatieTrends, organisatie impact en social media presentatie
Trends, organisatie impact en social media presentatieMirror Wise
 
CREDAI MCHI - Property Expo - Case Study - AGENCY09
CREDAI MCHI - Property Expo - Case Study - AGENCY09CREDAI MCHI - Property Expo - Case Study - AGENCY09
CREDAI MCHI - Property Expo - Case Study - AGENCY09AGENCY09
 
Managing Technical Debt - WordCamp Orlando 2017
Managing Technical Debt - WordCamp Orlando 2017Managing Technical Debt - WordCamp Orlando 2017
Managing Technical Debt - WordCamp Orlando 2017Chad Windnagle
 
Marketing Digital - Customer Engagement SAP Forum | Digital Boost
Marketing Digital - Customer Engagement SAP Forum | Digital BoostMarketing Digital - Customer Engagement SAP Forum | Digital Boost
Marketing Digital - Customer Engagement SAP Forum | Digital BoostDigital Boost
 
Location Based and Proximity Marketing_Michael Hanley
Location Based and Proximity Marketing_Michael HanleyLocation Based and Proximity Marketing_Michael Hanley
Location Based and Proximity Marketing_Michael HanleySara Quinn
 

La actualidad más candente (19)

Location-Based Mobile Ordering
Location-Based Mobile OrderingLocation-Based Mobile Ordering
Location-Based Mobile Ordering
 
Comunicacion
ComunicacionComunicacion
Comunicacion
 
Facilities for Agile
Facilities for AgileFacilities for Agile
Facilities for Agile
 
23 Things to know before starting an agile organisational transformation
23 Things to know before starting an agile organisational transformation 23 Things to know before starting an agile organisational transformation
23 Things to know before starting an agile organisational transformation
 
Blockchain. The silent revolution.
Blockchain. The silent revolution.Blockchain. The silent revolution.
Blockchain. The silent revolution.
 
Roman Zykov of Retail Rocket, “Big Data can be transformed into big money.”
Roman Zykov of Retail Rocket, “Big Data can be transformed into big money.”Roman Zykov of Retail Rocket, “Big Data can be transformed into big money.”
Roman Zykov of Retail Rocket, “Big Data can be transformed into big money.”
 
Business Executive Suites Northpoint
Business Executive Suites NorthpointBusiness Executive Suites Northpoint
Business Executive Suites Northpoint
 
Business Executive Suites Northpoint
Business Executive Suites NorthpointBusiness Executive Suites Northpoint
Business Executive Suites Northpoint
 
Openbar 4 - Leuven - AI for Public Services - Stewie - Arinti
 Openbar 4 - Leuven - AI for Public Services - Stewie - Arinti Openbar 4 - Leuven - AI for Public Services - Stewie - Arinti
Openbar 4 - Leuven - AI for Public Services - Stewie - Arinti
 
Openbar 1 - Leuven - Oswald chatbot platform - powering your next conversatio...
Openbar 1 - Leuven - Oswald chatbot platform - powering your next conversatio...Openbar 1 - Leuven - Oswald chatbot platform - powering your next conversatio...
Openbar 1 - Leuven - Oswald chatbot platform - powering your next conversatio...
 
Building Successful Communities: Michael Howard, urbanbubble
Building Successful Communities: Michael Howard, urbanbubbleBuilding Successful Communities: Michael Howard, urbanbubble
Building Successful Communities: Michael Howard, urbanbubble
 
Trends, organisatie impact en social media presentatie
Trends, organisatie impact en social media presentatieTrends, organisatie impact en social media presentatie
Trends, organisatie impact en social media presentatie
 
Chatbots in HR
Chatbots in HRChatbots in HR
Chatbots in HR
 
CV Nasir Abbas
CV Nasir AbbasCV Nasir Abbas
CV Nasir Abbas
 
CREDAI MCHI - Property Expo - Case Study - AGENCY09
CREDAI MCHI - Property Expo - Case Study - AGENCY09CREDAI MCHI - Property Expo - Case Study - AGENCY09
CREDAI MCHI - Property Expo - Case Study - AGENCY09
 
Managing Technical Debt - WordCamp Orlando 2017
Managing Technical Debt - WordCamp Orlando 2017Managing Technical Debt - WordCamp Orlando 2017
Managing Technical Debt - WordCamp Orlando 2017
 
Marketing Digital - Customer Engagement SAP Forum | Digital Boost
Marketing Digital - Customer Engagement SAP Forum | Digital BoostMarketing Digital - Customer Engagement SAP Forum | Digital Boost
Marketing Digital - Customer Engagement SAP Forum | Digital Boost
 
StoreMotion Company Profile
StoreMotion Company ProfileStoreMotion Company Profile
StoreMotion Company Profile
 
Location Based and Proximity Marketing_Michael Hanley
Location Based and Proximity Marketing_Michael HanleyLocation Based and Proximity Marketing_Michael Hanley
Location Based and Proximity Marketing_Michael Hanley
 

Similar a Decoupled APIs through microservices

Decoupled APIs through Microservices
Decoupled APIs through MicroservicesDecoupled APIs through Microservices
Decoupled APIs through MicroservicesDavid Simons
 
SharePoint Saturday Redmond - Building solutions with the future in mind
SharePoint Saturday Redmond - Building solutions with the future in mindSharePoint Saturday Redmond - Building solutions with the future in mind
SharePoint Saturday Redmond - Building solutions with the future in mindChris Johnson
 
Cloud Identity Deployed
Cloud Identity DeployedCloud Identity Deployed
Cloud Identity DeployedPablo Valarezo
 
Designing for IoT and Cyber-Physical System
Designing for IoT and Cyber-Physical SystemDesigning for IoT and Cyber-Physical System
Designing for IoT and Cyber-Physical SystemMaurizio Caporali
 
Web Development for Managers
Web Development for ManagersWeb Development for Managers
Web Development for ManagersRandy Connolly
 
Elevated.com's 2018 General Capabilities Deck-We are growing!!
Elevated.com's 2018 General Capabilities Deck-We are growing!!Elevated.com's 2018 General Capabilities Deck-We are growing!!
Elevated.com's 2018 General Capabilities Deck-We are growing!!Chris Snook
 
100% Visibility - Jason Yee - Codemotion Amsterdam 2018
100% Visibility - Jason Yee - Codemotion Amsterdam 2018100% Visibility - Jason Yee - Codemotion Amsterdam 2018
100% Visibility - Jason Yee - Codemotion Amsterdam 2018Codemotion
 
Nuno Job - what's next for software - ANDdigital tech summit
Nuno Job - what's next for software - ANDdigital tech summitNuno Job - what's next for software - ANDdigital tech summit
Nuno Job - what's next for software - ANDdigital tech summitGreta Strolyte
 
Architecting your IT career
Architecting your IT careerArchitecting your IT career
Architecting your IT careerJohn Mark Troyer
 
Gain Maximum Visibility - DEM06 - Anaheim AWS Summit
Gain Maximum Visibility - DEM06 - Anaheim AWS SummitGain Maximum Visibility - DEM06 - Anaheim AWS Summit
Gain Maximum Visibility - DEM06 - Anaheim AWS SummitAmazon Web Services
 
Switching horses midstream - From Waterfall to Agile
Switching horses midstream - From Waterfall to AgileSwitching horses midstream - From Waterfall to Agile
Switching horses midstream - From Waterfall to AgileDoc Norton
 
From Content Strategy to Drupal Site Building - Connecting the dots
From Content Strategy to Drupal Site Building - Connecting the dotsFrom Content Strategy to Drupal Site Building - Connecting the dots
From Content Strategy to Drupal Site Building - Connecting the dotsRonald Ashri
 
From Content Strategy to Drupal Site Building - Connecting the Dots
From Content Strategy to Drupal Site Building - Connecting the DotsFrom Content Strategy to Drupal Site Building - Connecting the Dots
From Content Strategy to Drupal Site Building - Connecting the DotsRonald Ashri
 
Gain Maximum Visibility into Your Applications - DEM03 - Chicago AWS Summit
Gain Maximum Visibility into Your Applications - DEM03 - Chicago AWS SummitGain Maximum Visibility into Your Applications - DEM03 - Chicago AWS Summit
Gain Maximum Visibility into Your Applications - DEM03 - Chicago AWS SummitAmazon Web Services
 
Gain Maximum Visibility into Your Applications
Gain Maximum Visibility into Your Applications Gain Maximum Visibility into Your Applications
Gain Maximum Visibility into Your Applications Amazon Web Services
 
Touch Drive - A touch-based multi-function controller for autonomous driving
Touch Drive - A touch-based multi-function controller for autonomous drivingTouch Drive - A touch-based multi-function controller for autonomous driving
Touch Drive - A touch-based multi-function controller for autonomous drivingJuntima Nawilaijaroen
 
Offline-first: Making your app resilient to network failures
Offline-first: Making your app resilient to network failuresOffline-first: Making your app resilient to network failures
Offline-first: Making your app resilient to network failuresPedro Teixeira
 
Introduction to Information Technology 2
Introduction to Information Technology 2Introduction to Information Technology 2
Introduction to Information Technology 2dmeekis
 

Similar a Decoupled APIs through microservices (20)

Decoupled APIs through Microservices
Decoupled APIs through MicroservicesDecoupled APIs through Microservices
Decoupled APIs through Microservices
 
SharePoint Saturday Redmond - Building solutions with the future in mind
SharePoint Saturday Redmond - Building solutions with the future in mindSharePoint Saturday Redmond - Building solutions with the future in mind
SharePoint Saturday Redmond - Building solutions with the future in mind
 
Cloud Identity Deployed
Cloud Identity DeployedCloud Identity Deployed
Cloud Identity Deployed
 
Designing for IoT and Cyber-Physical System
Designing for IoT and Cyber-Physical SystemDesigning for IoT and Cyber-Physical System
Designing for IoT and Cyber-Physical System
 
Web Development for Managers
Web Development for ManagersWeb Development for Managers
Web Development for Managers
 
Elevated.com's 2018 General Capabilities Deck-We are growing!!
Elevated.com's 2018 General Capabilities Deck-We are growing!!Elevated.com's 2018 General Capabilities Deck-We are growing!!
Elevated.com's 2018 General Capabilities Deck-We are growing!!
 
100% Visibility - Jason Yee - Codemotion Amsterdam 2018
100% Visibility - Jason Yee - Codemotion Amsterdam 2018100% Visibility - Jason Yee - Codemotion Amsterdam 2018
100% Visibility - Jason Yee - Codemotion Amsterdam 2018
 
Nuno Job - what's next for software - ANDdigital tech summit
Nuno Job - what's next for software - ANDdigital tech summitNuno Job - what's next for software - ANDdigital tech summit
Nuno Job - what's next for software - ANDdigital tech summit
 
Architecting your IT career
Architecting your IT careerArchitecting your IT career
Architecting your IT career
 
Gain Maximum Visibility - DEM06 - Anaheim AWS Summit
Gain Maximum Visibility - DEM06 - Anaheim AWS SummitGain Maximum Visibility - DEM06 - Anaheim AWS Summit
Gain Maximum Visibility - DEM06 - Anaheim AWS Summit
 
Switching horses midstream - From Waterfall to Agile
Switching horses midstream - From Waterfall to AgileSwitching horses midstream - From Waterfall to Agile
Switching horses midstream - From Waterfall to Agile
 
BS portfolio
BS portfolioBS portfolio
BS portfolio
 
Vb & asp
Vb & aspVb & asp
Vb & asp
 
From Content Strategy to Drupal Site Building - Connecting the dots
From Content Strategy to Drupal Site Building - Connecting the dotsFrom Content Strategy to Drupal Site Building - Connecting the dots
From Content Strategy to Drupal Site Building - Connecting the dots
 
From Content Strategy to Drupal Site Building - Connecting the Dots
From Content Strategy to Drupal Site Building - Connecting the DotsFrom Content Strategy to Drupal Site Building - Connecting the Dots
From Content Strategy to Drupal Site Building - Connecting the Dots
 
Gain Maximum Visibility into Your Applications - DEM03 - Chicago AWS Summit
Gain Maximum Visibility into Your Applications - DEM03 - Chicago AWS SummitGain Maximum Visibility into Your Applications - DEM03 - Chicago AWS Summit
Gain Maximum Visibility into Your Applications - DEM03 - Chicago AWS Summit
 
Gain Maximum Visibility into Your Applications
Gain Maximum Visibility into Your Applications Gain Maximum Visibility into Your Applications
Gain Maximum Visibility into Your Applications
 
Touch Drive - A touch-based multi-function controller for autonomous driving
Touch Drive - A touch-based multi-function controller for autonomous drivingTouch Drive - A touch-based multi-function controller for autonomous driving
Touch Drive - A touch-based multi-function controller for autonomous driving
 
Offline-first: Making your app resilient to network failures
Offline-first: Making your app resilient to network failuresOffline-first: Making your app resilient to network failures
Offline-first: Making your app resilient to network failures
 
Introduction to Information Technology 2
Introduction to Information Technology 2Introduction to Information Technology 2
Introduction to Information Technology 2
 

Más de David Simons

Four Architectural Patterns
Four Architectural Patterns Four Architectural Patterns
Four Architectural Patterns David Simons
 
Data Modelling at Scale
Data Modelling at ScaleData Modelling at Scale
Data Modelling at ScaleDavid Simons
 
Statistical Programming with JavaScript
Statistical Programming with JavaScriptStatistical Programming with JavaScript
Statistical Programming with JavaScriptDavid Simons
 
Non-Functional Requirements
Non-Functional RequirementsNon-Functional Requirements
Non-Functional RequirementsDavid Simons
 
High quality Front-End
High quality Front-EndHigh quality Front-End
High quality Front-EndDavid Simons
 
Bristol Uni - Use Cases of NoSQL
Bristol Uni - Use Cases of NoSQLBristol Uni - Use Cases of NoSQL
Bristol Uni - Use Cases of NoSQLDavid Simons
 
Choosing the Right Database
Choosing the Right DatabaseChoosing the Right Database
Choosing the Right DatabaseDavid Simons
 
Build Tools & Maven
Build Tools & MavenBuild Tools & Maven
Build Tools & MavenDavid Simons
 
Choosing the right database
Choosing the right databaseChoosing the right database
Choosing the right databaseDavid Simons
 
Graph theory in Practise
Graph theory in PractiseGraph theory in Practise
Graph theory in PractiseDavid Simons
 
TDD: What is it good for?
TDD: What is it good for?TDD: What is it good for?
TDD: What is it good for?David Simons
 
Domain Driven Design: A Precis
Domain Driven Design: A PrecisDomain Driven Design: A Precis
Domain Driven Design: A PrecisDavid Simons
 
10 d bs in 30 minutes
10 d bs in 30 minutes10 d bs in 30 minutes
10 d bs in 30 minutesDavid Simons
 
Using Clojure to Marry Neo4j and Open Democracy
Using Clojure to Marry Neo4j and Open DemocracyUsing Clojure to Marry Neo4j and Open Democracy
Using Clojure to Marry Neo4j and Open DemocracyDavid Simons
 
Exploring Election Results with Neo4J
Exploring Election Results with Neo4JExploring Election Results with Neo4J
Exploring Election Results with Neo4JDavid Simons
 

Más de David Simons (16)

Four Architectural Patterns
Four Architectural Patterns Four Architectural Patterns
Four Architectural Patterns
 
Data Modelling at Scale
Data Modelling at ScaleData Modelling at Scale
Data Modelling at Scale
 
Statistical Programming with JavaScript
Statistical Programming with JavaScriptStatistical Programming with JavaScript
Statistical Programming with JavaScript
 
Non-Functional Requirements
Non-Functional RequirementsNon-Functional Requirements
Non-Functional Requirements
 
High quality Front-End
High quality Front-EndHigh quality Front-End
High quality Front-End
 
Bristol Uni - Use Cases of NoSQL
Bristol Uni - Use Cases of NoSQLBristol Uni - Use Cases of NoSQL
Bristol Uni - Use Cases of NoSQL
 
Choosing the Right Database
Choosing the Right DatabaseChoosing the Right Database
Choosing the Right Database
 
Build Tools & Maven
Build Tools & MavenBuild Tools & Maven
Build Tools & Maven
 
Choosing the right database
Choosing the right databaseChoosing the right database
Choosing the right database
 
Graph Modelling
Graph ModellingGraph Modelling
Graph Modelling
 
Graph theory in Practise
Graph theory in PractiseGraph theory in Practise
Graph theory in Practise
 
TDD: What is it good for?
TDD: What is it good for?TDD: What is it good for?
TDD: What is it good for?
 
Domain Driven Design: A Precis
Domain Driven Design: A PrecisDomain Driven Design: A Precis
Domain Driven Design: A Precis
 
10 d bs in 30 minutes
10 d bs in 30 minutes10 d bs in 30 minutes
10 d bs in 30 minutes
 
Using Clojure to Marry Neo4j and Open Democracy
Using Clojure to Marry Neo4j and Open DemocracyUsing Clojure to Marry Neo4j and Open Democracy
Using Clojure to Marry Neo4j and Open Democracy
 
Exploring Election Results with Neo4J
Exploring Election Results with Neo4JExploring Election Results with Neo4J
Exploring Election Results with Neo4J
 

Último

Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdflior mazor
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 

Último (20)

Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 

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