SlideShare a Scribd company logo
Bulletproof Backend Architecture
Strategy for Building Adaptive Services with Hypermedia
What It Is
What It Is (cont’d.)
● Offer a modest proposal
● Explore a real world business use case
● Help reduce developer toil and kill meetings
Killing meetings
is the real point
of this talk
Have you had your
break today?
Why do web services break?
● Internal Errors (aka bugs)
● Network Errors
● Authentication &
Authorization
● Breaking Changes
Anatomy of a Breaking Change
● New Required Fields
● Changed Message Structure
○ Changed Field Names
○ Changed Field Locations
● Changed Meaning
○ Changed Field Types
The Structure
of Messages
Why is message structure
critical?
● Clients and servers need a
stable contract to
communicate
● Consistent structures make
messages easier to process
● Consistent message
structures facilitate more
effective error handling and
debugging
Same Meaning, Different Structure
Only human
brains can bridge
a semantic gap
Self-describing
messages provide
a solution
Real World Example
Hello, Muzak!
● e-commerce storefront that sells cassettes,
cds, vinyl and digital downloads of a wide
variety of music genres
● they have meticulous inventory records but no
metadata about the the music
in inventory
● Muzak needs a partner to provide metadata
about albums and digital downloads
in their store
The
Business Problem
● Muzak needs a partner to
provide metadata about
albums and digital
downloads in inventory
● Users browsing Muzak’s site
need access to detailed
album and track data when
viewing individual product
pages
99 Problems….
Hello, Metamusic!
● SaaS platform providing comprehensive
metadata on a massive array of music by
major and independent labels
● clients can query an API for a specific
album or track and get tons of useful
metadata.
The Use Case
How does it all work?
● Album requests to Muzak’s API
are forwarded to Metamusic for
metadata associated with the
requested album
● Muzak receives the metadata,
merging it with existing
inventory data about the album
● Enriched data is returned to the
requesting Muzak client
The Integration Problem
● Metamusic is in the midst of a leadership shakeup
● 3 candidates are vying to become CTO
● Each candidate believes their API response interface is best and forces
the team to push their preferred interface into production
● There are breaking changes to the API daily
How can we solve this?
Hello, JSON Patch!
Demo
Self-describing
Messages
…to the rescue!
● Contains data/metadata
describing the format and
meaning of a message
● Includes all information
required to process the
message
● Services can evolve data
formats without breaking
clients
Follow Me
● LinkedIn -
https://tinyurl.com/mupvcfnd
● Blog -
https://dev.to/agustus_gloop
● Redeem - https://tryredeem.io
The End
What it ain’t This is not a hypermedia
talk
The Meaning
of Messages
But what does it all mean?
● Communication consists in
the meaning of the message
● Diverse message structures
with equivalent meanings
are everywhere
● Services equipped to suss out
meaning are more robust
Battle of the Formats
Same Structure, (slightly) Different Meaning
Ad

More Related Content

Similar to Bulletproof Backend Architecture: Building Adaptive Services with Self-Describing Messages - Sean Travis Taylor, Redeem (20)

[MongoDB.local Bengaluru 2018] Jumpstart: Introduction to Schema Design
[MongoDB.local Bengaluru 2018] Jumpstart: Introduction to Schema Design[MongoDB.local Bengaluru 2018] Jumpstart: Introduction to Schema Design
[MongoDB.local Bengaluru 2018] Jumpstart: Introduction to Schema Design
MongoDB
 
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success StoryDriving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Safe Software
 
Overcoming Today's Data Challenges with MongoDB
Overcoming Today's Data Challenges with MongoDBOvercoming Today's Data Challenges with MongoDB
Overcoming Today's Data Challenges with MongoDB
MongoDB
 
Ledingkart Meetup #1: Monolithic to microservices in action
Ledingkart Meetup #1: Monolithic to microservices in actionLedingkart Meetup #1: Monolithic to microservices in action
Ledingkart Meetup #1: Monolithic to microservices in action
Mukesh Singh
 
What drives Innovation? Innovations And Technological Solutions for the Distr...
What drives Innovation? Innovations And Technological Solutions for the Distr...What drives Innovation? Innovations And Technological Solutions for the Distr...
What drives Innovation? Innovations And Technological Solutions for the Distr...
Stefano Fago
 
E-Commerce and MongoDB at Backcountry.com
E-Commerce and MongoDB at Backcountry.comE-Commerce and MongoDB at Backcountry.com
E-Commerce and MongoDB at Backcountry.com
MongoDB
 
MongoDB Breakfast Milan - Mainframe Offloading Strategies
MongoDB Breakfast Milan -  Mainframe Offloading StrategiesMongoDB Breakfast Milan -  Mainframe Offloading Strategies
MongoDB Breakfast Milan - Mainframe Offloading Strategies
MongoDB
 
Enabling Telco to Build and Run Modern Applications
Enabling Telco to Build and Run Modern Applications Enabling Telco to Build and Run Modern Applications
Enabling Telco to Build and Run Modern Applications
Tugdual Grall
 
Overcoming Today's Data Challenges with MongoDB
Overcoming Today's Data Challenges with MongoDBOvercoming Today's Data Challenges with MongoDB
Overcoming Today's Data Challenges with MongoDB
MongoDB
 
Simply Business' Data Platform
Simply Business' Data PlatformSimply Business' Data Platform
Simply Business' Data Platform
Dani Solà Lagares
 
Connected and continuous localization systems for content management systems
Connected and continuous localization systems for content management systemsConnected and continuous localization systems for content management systems
Connected and continuous localization systems for content management systems
Tolga Secilmis
 
Dataweek-Talk-2014
Dataweek-Talk-2014Dataweek-Talk-2014
Dataweek-Talk-2014
ardan-bkennedy
 
Gala Webminar September 2013
Gala Webminar September 2013Gala Webminar September 2013
Gala Webminar September 2013
pangeanic
 
What is the Economic Case for Machine Translation?
What is the Economic Case for Machine Translation?What is the Economic Case for Machine Translation?
What is the Economic Case for Machine Translation?
kantanmt
 
Sharing our best secrets: Design a distributed system from scratch
Sharing our best secrets: Design a distributed system from scratchSharing our best secrets: Design a distributed system from scratch
Sharing our best secrets: Design a distributed system from scratch
Adelina Simion
 
Microservices as an evolutionary architecture: lessons learned
Microservices as an evolutionary architecture: lessons learnedMicroservices as an evolutionary architecture: lessons learned
Microservices as an evolutionary architecture: lessons learned
Luram Archanjo
 
MuleSoft Nashik Meetup#7 - Building FHIR applications in MongoDB using MuleSoft
MuleSoft Nashik Meetup#7 - Building FHIR applications in MongoDB using MuleSoftMuleSoft Nashik Meetup#7 - Building FHIR applications in MongoDB using MuleSoft
MuleSoft Nashik Meetup#7 - Building FHIR applications in MongoDB using MuleSoft
Jitendra Bafna
 
A competitive food retail architecture with microservices
A competitive food retail architecture with microservicesA competitive food retail architecture with microservices
A competitive food retail architecture with microservices
Sebastian Gauder
 
Big data @ Hootsuite analtyics
Big data @ Hootsuite analtyicsBig data @ Hootsuite analtyics
Big data @ Hootsuite analtyics
Claudiu Coman
 
[WSO2Con EU 2017] Building Next Generation Banking Middleware at ING: The Rol...
[WSO2Con EU 2017] Building Next Generation Banking Middleware at ING: The Rol...[WSO2Con EU 2017] Building Next Generation Banking Middleware at ING: The Rol...
[WSO2Con EU 2017] Building Next Generation Banking Middleware at ING: The Rol...
WSO2
 
[MongoDB.local Bengaluru 2018] Jumpstart: Introduction to Schema Design
[MongoDB.local Bengaluru 2018] Jumpstart: Introduction to Schema Design[MongoDB.local Bengaluru 2018] Jumpstart: Introduction to Schema Design
[MongoDB.local Bengaluru 2018] Jumpstart: Introduction to Schema Design
MongoDB
 
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success StoryDriving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Safe Software
 
Overcoming Today's Data Challenges with MongoDB
Overcoming Today's Data Challenges with MongoDBOvercoming Today's Data Challenges with MongoDB
Overcoming Today's Data Challenges with MongoDB
MongoDB
 
Ledingkart Meetup #1: Monolithic to microservices in action
Ledingkart Meetup #1: Monolithic to microservices in actionLedingkart Meetup #1: Monolithic to microservices in action
Ledingkart Meetup #1: Monolithic to microservices in action
Mukesh Singh
 
What drives Innovation? Innovations And Technological Solutions for the Distr...
What drives Innovation? Innovations And Technological Solutions for the Distr...What drives Innovation? Innovations And Technological Solutions for the Distr...
What drives Innovation? Innovations And Technological Solutions for the Distr...
Stefano Fago
 
E-Commerce and MongoDB at Backcountry.com
E-Commerce and MongoDB at Backcountry.comE-Commerce and MongoDB at Backcountry.com
E-Commerce and MongoDB at Backcountry.com
MongoDB
 
MongoDB Breakfast Milan - Mainframe Offloading Strategies
MongoDB Breakfast Milan -  Mainframe Offloading StrategiesMongoDB Breakfast Milan -  Mainframe Offloading Strategies
MongoDB Breakfast Milan - Mainframe Offloading Strategies
MongoDB
 
Enabling Telco to Build and Run Modern Applications
Enabling Telco to Build and Run Modern Applications Enabling Telco to Build and Run Modern Applications
Enabling Telco to Build and Run Modern Applications
Tugdual Grall
 
Overcoming Today's Data Challenges with MongoDB
Overcoming Today's Data Challenges with MongoDBOvercoming Today's Data Challenges with MongoDB
Overcoming Today's Data Challenges with MongoDB
MongoDB
 
Simply Business' Data Platform
Simply Business' Data PlatformSimply Business' Data Platform
Simply Business' Data Platform
Dani Solà Lagares
 
Connected and continuous localization systems for content management systems
Connected and continuous localization systems for content management systemsConnected and continuous localization systems for content management systems
Connected and continuous localization systems for content management systems
Tolga Secilmis
 
Gala Webminar September 2013
Gala Webminar September 2013Gala Webminar September 2013
Gala Webminar September 2013
pangeanic
 
What is the Economic Case for Machine Translation?
What is the Economic Case for Machine Translation?What is the Economic Case for Machine Translation?
What is the Economic Case for Machine Translation?
kantanmt
 
Sharing our best secrets: Design a distributed system from scratch
Sharing our best secrets: Design a distributed system from scratchSharing our best secrets: Design a distributed system from scratch
Sharing our best secrets: Design a distributed system from scratch
Adelina Simion
 
Microservices as an evolutionary architecture: lessons learned
Microservices as an evolutionary architecture: lessons learnedMicroservices as an evolutionary architecture: lessons learned
Microservices as an evolutionary architecture: lessons learned
Luram Archanjo
 
MuleSoft Nashik Meetup#7 - Building FHIR applications in MongoDB using MuleSoft
MuleSoft Nashik Meetup#7 - Building FHIR applications in MongoDB using MuleSoftMuleSoft Nashik Meetup#7 - Building FHIR applications in MongoDB using MuleSoft
MuleSoft Nashik Meetup#7 - Building FHIR applications in MongoDB using MuleSoft
Jitendra Bafna
 
A competitive food retail architecture with microservices
A competitive food retail architecture with microservicesA competitive food retail architecture with microservices
A competitive food retail architecture with microservices
Sebastian Gauder
 
Big data @ Hootsuite analtyics
Big data @ Hootsuite analtyicsBig data @ Hootsuite analtyics
Big data @ Hootsuite analtyics
Claudiu Coman
 
[WSO2Con EU 2017] Building Next Generation Banking Middleware at ING: The Rol...
[WSO2Con EU 2017] Building Next Generation Banking Middleware at ING: The Rol...[WSO2Con EU 2017] Building Next Generation Banking Middleware at ING: The Rol...
[WSO2Con EU 2017] Building Next Generation Banking Middleware at ING: The Rol...
WSO2
 

More from Nordic APIs (20)

How to Choose the Right API Platform - We Have the Tool You Need! - Mikkel Iv...
How to Choose the Right API Platform - We Have the Tool You Need! - Mikkel Iv...How to Choose the Right API Platform - We Have the Tool You Need! - Mikkel Iv...
How to Choose the Right API Platform - We Have the Tool You Need! - Mikkel Iv...
Nordic APIs
 
Implementing Zero Trust Security in API Gateway with Cilium - Pubudu Gunatila...
Implementing Zero Trust Security in API Gateway with Cilium - Pubudu Gunatila...Implementing Zero Trust Security in API Gateway with Cilium - Pubudu Gunatila...
Implementing Zero Trust Security in API Gateway with Cilium - Pubudu Gunatila...
Nordic APIs
 
Event-Driven Architecture the Cloud-Native Way - Manuel Ottlik, HDI Global SE
Event-Driven Architecture the Cloud-Native Way - Manuel Ottlik, HDI Global SEEvent-Driven Architecture the Cloud-Native Way - Manuel Ottlik, HDI Global SE
Event-Driven Architecture the Cloud-Native Way - Manuel Ottlik, HDI Global SE
Nordic APIs
 
Navigating the Post-OpenAPI Era with Innovative API Design Frameworks - Danie...
Navigating the Post-OpenAPI Era with Innovative API Design Frameworks - Danie...Navigating the Post-OpenAPI Era with Innovative API Design Frameworks - Danie...
Navigating the Post-OpenAPI Era with Innovative API Design Frameworks - Danie...
Nordic APIs
 
Using Typespec for Open Finance Standards - Chris Wood, Ozone API
Using Typespec for Open Finance Standards - Chris Wood, Ozone APIUsing Typespec for Open Finance Standards - Chris Wood, Ozone API
Using Typespec for Open Finance Standards - Chris Wood, Ozone API
Nordic APIs
 
Schema-first API Design Using Typespec - Cailin Smith, Microsoft
Schema-first API Design Using Typespec - Cailin Smith,  MicrosoftSchema-first API Design Using Typespec - Cailin Smith,  Microsoft
Schema-first API Design Using Typespec - Cailin Smith, Microsoft
Nordic APIs
 
Avoiding APIpocalypse; API Resiliency Testing FTW! - Naresh Jain, Xnsio
Avoiding APIpocalypse; API Resiliency Testing FTW! - Naresh Jain,  XnsioAvoiding APIpocalypse; API Resiliency Testing FTW! - Naresh Jain,  Xnsio
Avoiding APIpocalypse; API Resiliency Testing FTW! - Naresh Jain, Xnsio
Nordic APIs
 
How to Build an Integration Platform with Open Source - Magnus Hedner, Benify
How to Build an Integration Platform with Open Source - Magnus Hedner, BenifyHow to Build an Integration Platform with Open Source - Magnus Hedner, Benify
How to Build an Integration Platform with Open Source - Magnus Hedner, Benify
Nordic APIs
 
API Design First in Practise – An Experience Report - Hari Krishnan, Specmatic
API Design First in Practise – An Experience Report - Hari Krishnan, SpecmaticAPI Design First in Practise – An Experience Report - Hari Krishnan, Specmatic
API Design First in Practise – An Experience Report - Hari Krishnan, Specmatic
Nordic APIs
 
The Right Kind of API – How To Choose Appropriate API Protocols and Data Form...
The Right Kind of API – How To Choose Appropriate API Protocols and Data Form...The Right Kind of API – How To Choose Appropriate API Protocols and Data Form...
The Right Kind of API – How To Choose Appropriate API Protocols and Data Form...
Nordic APIs
 
Why Frequent API Hackathons Are Key to Product Market Feedback and Go-to-Mark...
Why Frequent API Hackathons Are Key to Product Market Feedback and Go-to-Mark...Why Frequent API Hackathons Are Key to Product Market Feedback and Go-to-Mark...
Why Frequent API Hackathons Are Key to Product Market Feedback and Go-to-Mark...
Nordic APIs
 
Maximizing API Management Efficiency: The Power of Shifting Down with APIOps ...
Maximizing API Management Efficiency: The Power of Shifting Down with APIOps ...Maximizing API Management Efficiency: The Power of Shifting Down with APIOps ...
Maximizing API Management Efficiency: The Power of Shifting Down with APIOps ...
Nordic APIs
 
APIs Vs Events - Bala Bairapaka, Sandvik AB
APIs Vs Events - Bala Bairapaka, Sandvik ABAPIs Vs Events - Bala Bairapaka, Sandvik AB
APIs Vs Events - Bala Bairapaka, Sandvik AB
Nordic APIs
 
GraphQL in the Post-Hype Era - Daniel Hervas, Reckon Digital
GraphQL in the Post-Hype Era - Daniel Hervas, Reckon DigitalGraphQL in the Post-Hype Era - Daniel Hervas, Reckon Digital
GraphQL in the Post-Hype Era - Daniel Hervas, Reckon Digital
Nordic APIs
 
From Good API Design to Secure Design - Axel Grosse, 42Crunch
From Good API Design to Secure Design - Axel Grosse, 42CrunchFrom Good API Design to Secure Design - Axel Grosse, 42Crunch
From Good API Design to Secure Design - Axel Grosse, 42Crunch
Nordic APIs
 
API Revolution in IoT: How Platform Engineering Streamlines API Development -...
API Revolution in IoT: How Platform Engineering Streamlines API Development -...API Revolution in IoT: How Platform Engineering Streamlines API Development -...
API Revolution in IoT: How Platform Engineering Streamlines API Development -...
Nordic APIs
 
Unlocking the ROI of API Platforms: What Success Actually Looks Like - Budhad...
Unlocking the ROI of API Platforms: What Success Actually Looks Like - Budhad...Unlocking the ROI of API Platforms: What Success Actually Looks Like - Budhad...
Unlocking the ROI of API Platforms: What Success Actually Looks Like - Budhad...
Nordic APIs
 
Increase Your Productivity with No-Code GraphQL Mocking - Hugo Guerrero, Red Hat
Increase Your Productivity with No-Code GraphQL Mocking - Hugo Guerrero, Red HatIncrease Your Productivity with No-Code GraphQL Mocking - Hugo Guerrero, Red Hat
Increase Your Productivity with No-Code GraphQL Mocking - Hugo Guerrero, Red Hat
Nordic APIs
 
Securely Boosting Any Product with Generative AI APIs - Ruben Sitbon, Theodo ...
Securely Boosting Any Product with Generative AI APIs - Ruben Sitbon, Theodo ...Securely Boosting Any Product with Generative AI APIs - Ruben Sitbon, Theodo ...
Securely Boosting Any Product with Generative AI APIs - Ruben Sitbon, Theodo ...
Nordic APIs
 
GraphQL, REST or RPC? Making the Choice! - Rob Allen, Nineteen Feet Limited
GraphQL, REST or RPC? Making the Choice! - Rob Allen, Nineteen Feet LimitedGraphQL, REST or RPC? Making the Choice! - Rob Allen, Nineteen Feet Limited
GraphQL, REST or RPC? Making the Choice! - Rob Allen, Nineteen Feet Limited
Nordic APIs
 
How to Choose the Right API Platform - We Have the Tool You Need! - Mikkel Iv...
How to Choose the Right API Platform - We Have the Tool You Need! - Mikkel Iv...How to Choose the Right API Platform - We Have the Tool You Need! - Mikkel Iv...
How to Choose the Right API Platform - We Have the Tool You Need! - Mikkel Iv...
Nordic APIs
 
Implementing Zero Trust Security in API Gateway with Cilium - Pubudu Gunatila...
Implementing Zero Trust Security in API Gateway with Cilium - Pubudu Gunatila...Implementing Zero Trust Security in API Gateway with Cilium - Pubudu Gunatila...
Implementing Zero Trust Security in API Gateway with Cilium - Pubudu Gunatila...
Nordic APIs
 
Event-Driven Architecture the Cloud-Native Way - Manuel Ottlik, HDI Global SE
Event-Driven Architecture the Cloud-Native Way - Manuel Ottlik, HDI Global SEEvent-Driven Architecture the Cloud-Native Way - Manuel Ottlik, HDI Global SE
Event-Driven Architecture the Cloud-Native Way - Manuel Ottlik, HDI Global SE
Nordic APIs
 
Navigating the Post-OpenAPI Era with Innovative API Design Frameworks - Danie...
Navigating the Post-OpenAPI Era with Innovative API Design Frameworks - Danie...Navigating the Post-OpenAPI Era with Innovative API Design Frameworks - Danie...
Navigating the Post-OpenAPI Era with Innovative API Design Frameworks - Danie...
Nordic APIs
 
Using Typespec for Open Finance Standards - Chris Wood, Ozone API
Using Typespec for Open Finance Standards - Chris Wood, Ozone APIUsing Typespec for Open Finance Standards - Chris Wood, Ozone API
Using Typespec for Open Finance Standards - Chris Wood, Ozone API
Nordic APIs
 
Schema-first API Design Using Typespec - Cailin Smith, Microsoft
Schema-first API Design Using Typespec - Cailin Smith,  MicrosoftSchema-first API Design Using Typespec - Cailin Smith,  Microsoft
Schema-first API Design Using Typespec - Cailin Smith, Microsoft
Nordic APIs
 
Avoiding APIpocalypse; API Resiliency Testing FTW! - Naresh Jain, Xnsio
Avoiding APIpocalypse; API Resiliency Testing FTW! - Naresh Jain,  XnsioAvoiding APIpocalypse; API Resiliency Testing FTW! - Naresh Jain,  Xnsio
Avoiding APIpocalypse; API Resiliency Testing FTW! - Naresh Jain, Xnsio
Nordic APIs
 
How to Build an Integration Platform with Open Source - Magnus Hedner, Benify
How to Build an Integration Platform with Open Source - Magnus Hedner, BenifyHow to Build an Integration Platform with Open Source - Magnus Hedner, Benify
How to Build an Integration Platform with Open Source - Magnus Hedner, Benify
Nordic APIs
 
API Design First in Practise – An Experience Report - Hari Krishnan, Specmatic
API Design First in Practise – An Experience Report - Hari Krishnan, SpecmaticAPI Design First in Practise – An Experience Report - Hari Krishnan, Specmatic
API Design First in Practise – An Experience Report - Hari Krishnan, Specmatic
Nordic APIs
 
The Right Kind of API – How To Choose Appropriate API Protocols and Data Form...
The Right Kind of API – How To Choose Appropriate API Protocols and Data Form...The Right Kind of API – How To Choose Appropriate API Protocols and Data Form...
The Right Kind of API – How To Choose Appropriate API Protocols and Data Form...
Nordic APIs
 
Why Frequent API Hackathons Are Key to Product Market Feedback and Go-to-Mark...
Why Frequent API Hackathons Are Key to Product Market Feedback and Go-to-Mark...Why Frequent API Hackathons Are Key to Product Market Feedback and Go-to-Mark...
Why Frequent API Hackathons Are Key to Product Market Feedback and Go-to-Mark...
Nordic APIs
 
Maximizing API Management Efficiency: The Power of Shifting Down with APIOps ...
Maximizing API Management Efficiency: The Power of Shifting Down with APIOps ...Maximizing API Management Efficiency: The Power of Shifting Down with APIOps ...
Maximizing API Management Efficiency: The Power of Shifting Down with APIOps ...
Nordic APIs
 
APIs Vs Events - Bala Bairapaka, Sandvik AB
APIs Vs Events - Bala Bairapaka, Sandvik ABAPIs Vs Events - Bala Bairapaka, Sandvik AB
APIs Vs Events - Bala Bairapaka, Sandvik AB
Nordic APIs
 
GraphQL in the Post-Hype Era - Daniel Hervas, Reckon Digital
GraphQL in the Post-Hype Era - Daniel Hervas, Reckon DigitalGraphQL in the Post-Hype Era - Daniel Hervas, Reckon Digital
GraphQL in the Post-Hype Era - Daniel Hervas, Reckon Digital
Nordic APIs
 
From Good API Design to Secure Design - Axel Grosse, 42Crunch
From Good API Design to Secure Design - Axel Grosse, 42CrunchFrom Good API Design to Secure Design - Axel Grosse, 42Crunch
From Good API Design to Secure Design - Axel Grosse, 42Crunch
Nordic APIs
 
API Revolution in IoT: How Platform Engineering Streamlines API Development -...
API Revolution in IoT: How Platform Engineering Streamlines API Development -...API Revolution in IoT: How Platform Engineering Streamlines API Development -...
API Revolution in IoT: How Platform Engineering Streamlines API Development -...
Nordic APIs
 
Unlocking the ROI of API Platforms: What Success Actually Looks Like - Budhad...
Unlocking the ROI of API Platforms: What Success Actually Looks Like - Budhad...Unlocking the ROI of API Platforms: What Success Actually Looks Like - Budhad...
Unlocking the ROI of API Platforms: What Success Actually Looks Like - Budhad...
Nordic APIs
 
Increase Your Productivity with No-Code GraphQL Mocking - Hugo Guerrero, Red Hat
Increase Your Productivity with No-Code GraphQL Mocking - Hugo Guerrero, Red HatIncrease Your Productivity with No-Code GraphQL Mocking - Hugo Guerrero, Red Hat
Increase Your Productivity with No-Code GraphQL Mocking - Hugo Guerrero, Red Hat
Nordic APIs
 
Securely Boosting Any Product with Generative AI APIs - Ruben Sitbon, Theodo ...
Securely Boosting Any Product with Generative AI APIs - Ruben Sitbon, Theodo ...Securely Boosting Any Product with Generative AI APIs - Ruben Sitbon, Theodo ...
Securely Boosting Any Product with Generative AI APIs - Ruben Sitbon, Theodo ...
Nordic APIs
 
GraphQL, REST or RPC? Making the Choice! - Rob Allen, Nineteen Feet Limited
GraphQL, REST or RPC? Making the Choice! - Rob Allen, Nineteen Feet LimitedGraphQL, REST or RPC? Making the Choice! - Rob Allen, Nineteen Feet Limited
GraphQL, REST or RPC? Making the Choice! - Rob Allen, Nineteen Feet Limited
Nordic APIs
 
Ad

Recently uploaded (20)

Heap, Types of Heap, Insertion and Deletion
Heap, Types of Heap, Insertion and DeletionHeap, Types of Heap, Insertion and Deletion
Heap, Types of Heap, Insertion and Deletion
Jaydeep Kale
 
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Impelsys Inc.
 
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptxIncreasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Anoop Ashok
 
Splunk Security Update | Public Sector Summit Germany 2025
Splunk Security Update | Public Sector Summit Germany 2025Splunk Security Update | Public Sector Summit Germany 2025
Splunk Security Update | Public Sector Summit Germany 2025
Splunk
 
Technology Trends in 2025: AI and Big Data Analytics
Technology Trends in 2025: AI and Big Data AnalyticsTechnology Trends in 2025: AI and Big Data Analytics
Technology Trends in 2025: AI and Big Data Analytics
InData Labs
 
tecnologias de las primeras civilizaciones.pdf
tecnologias de las primeras civilizaciones.pdftecnologias de las primeras civilizaciones.pdf
tecnologias de las primeras civilizaciones.pdf
fjgm517
 
How analogue intelligence complements AI
How analogue intelligence complements AIHow analogue intelligence complements AI
How analogue intelligence complements AI
Paul Rowe
 
Rusty Waters: Elevating Lakehouses Beyond Spark
Rusty Waters: Elevating Lakehouses Beyond SparkRusty Waters: Elevating Lakehouses Beyond Spark
Rusty Waters: Elevating Lakehouses Beyond Spark
carlyakerly1
 
2025-05-Q4-2024-Investor-Presentation.pptx
2025-05-Q4-2024-Investor-Presentation.pptx2025-05-Q4-2024-Investor-Presentation.pptx
2025-05-Q4-2024-Investor-Presentation.pptx
Samuele Fogagnolo
 
Cybersecurity Identity and Access Solutions using Azure AD
Cybersecurity Identity and Access Solutions using Azure ADCybersecurity Identity and Access Solutions using Azure AD
Cybersecurity Identity and Access Solutions using Azure AD
VICTOR MAESTRE RAMIREZ
 
Big Data Analytics Quick Research Guide by Arthur Morgan
Big Data Analytics Quick Research Guide by Arthur MorganBig Data Analytics Quick Research Guide by Arthur Morgan
Big Data Analytics Quick Research Guide by Arthur Morgan
Arthur Morgan
 
Greenhouse_Monitoring_Presentation.pptx.
Greenhouse_Monitoring_Presentation.pptx.Greenhouse_Monitoring_Presentation.pptx.
Greenhouse_Monitoring_Presentation.pptx.
hpbmnnxrvb
 
Special Meetup Edition - TDX Bengaluru Meetup #52.pptx
Special Meetup Edition - TDX Bengaluru Meetup #52.pptxSpecial Meetup Edition - TDX Bengaluru Meetup #52.pptx
Special Meetup Edition - TDX Bengaluru Meetup #52.pptx
shyamraj55
 
Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...
Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...
Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...
Aqusag Technologies
 
TrsLabs - Fintech Product & Business Consulting
TrsLabs - Fintech Product & Business ConsultingTrsLabs - Fintech Product & Business Consulting
TrsLabs - Fintech Product & Business Consulting
Trs Labs
 
Mobile App Development Company in Saudi Arabia
Mobile App Development Company in Saudi ArabiaMobile App Development Company in Saudi Arabia
Mobile App Development Company in Saudi Arabia
Steve Jonas
 
Linux Support for SMARC: How Toradex Empowers Embedded Developers
Linux Support for SMARC: How Toradex Empowers Embedded DevelopersLinux Support for SMARC: How Toradex Empowers Embedded Developers
Linux Support for SMARC: How Toradex Empowers Embedded Developers
Toradex
 
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdfSAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
Precisely
 
Complete Guide to Advanced Logistics Management Software in Riyadh.pdf
Complete Guide to Advanced Logistics Management Software in Riyadh.pdfComplete Guide to Advanced Logistics Management Software in Riyadh.pdf
Complete Guide to Advanced Logistics Management Software in Riyadh.pdf
Software Company
 
ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes Partner Innovation Updates for May 2025ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes
 
Heap, Types of Heap, Insertion and Deletion
Heap, Types of Heap, Insertion and DeletionHeap, Types of Heap, Insertion and Deletion
Heap, Types of Heap, Insertion and Deletion
Jaydeep Kale
 
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Impelsys Inc.
 
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptxIncreasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Anoop Ashok
 
Splunk Security Update | Public Sector Summit Germany 2025
Splunk Security Update | Public Sector Summit Germany 2025Splunk Security Update | Public Sector Summit Germany 2025
Splunk Security Update | Public Sector Summit Germany 2025
Splunk
 
Technology Trends in 2025: AI and Big Data Analytics
Technology Trends in 2025: AI and Big Data AnalyticsTechnology Trends in 2025: AI and Big Data Analytics
Technology Trends in 2025: AI and Big Data Analytics
InData Labs
 
tecnologias de las primeras civilizaciones.pdf
tecnologias de las primeras civilizaciones.pdftecnologias de las primeras civilizaciones.pdf
tecnologias de las primeras civilizaciones.pdf
fjgm517
 
How analogue intelligence complements AI
How analogue intelligence complements AIHow analogue intelligence complements AI
How analogue intelligence complements AI
Paul Rowe
 
Rusty Waters: Elevating Lakehouses Beyond Spark
Rusty Waters: Elevating Lakehouses Beyond SparkRusty Waters: Elevating Lakehouses Beyond Spark
Rusty Waters: Elevating Lakehouses Beyond Spark
carlyakerly1
 
2025-05-Q4-2024-Investor-Presentation.pptx
2025-05-Q4-2024-Investor-Presentation.pptx2025-05-Q4-2024-Investor-Presentation.pptx
2025-05-Q4-2024-Investor-Presentation.pptx
Samuele Fogagnolo
 
Cybersecurity Identity and Access Solutions using Azure AD
Cybersecurity Identity and Access Solutions using Azure ADCybersecurity Identity and Access Solutions using Azure AD
Cybersecurity Identity and Access Solutions using Azure AD
VICTOR MAESTRE RAMIREZ
 
Big Data Analytics Quick Research Guide by Arthur Morgan
Big Data Analytics Quick Research Guide by Arthur MorganBig Data Analytics Quick Research Guide by Arthur Morgan
Big Data Analytics Quick Research Guide by Arthur Morgan
Arthur Morgan
 
Greenhouse_Monitoring_Presentation.pptx.
Greenhouse_Monitoring_Presentation.pptx.Greenhouse_Monitoring_Presentation.pptx.
Greenhouse_Monitoring_Presentation.pptx.
hpbmnnxrvb
 
Special Meetup Edition - TDX Bengaluru Meetup #52.pptx
Special Meetup Edition - TDX Bengaluru Meetup #52.pptxSpecial Meetup Edition - TDX Bengaluru Meetup #52.pptx
Special Meetup Edition - TDX Bengaluru Meetup #52.pptx
shyamraj55
 
Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...
Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...
Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...
Aqusag Technologies
 
TrsLabs - Fintech Product & Business Consulting
TrsLabs - Fintech Product & Business ConsultingTrsLabs - Fintech Product & Business Consulting
TrsLabs - Fintech Product & Business Consulting
Trs Labs
 
Mobile App Development Company in Saudi Arabia
Mobile App Development Company in Saudi ArabiaMobile App Development Company in Saudi Arabia
Mobile App Development Company in Saudi Arabia
Steve Jonas
 
Linux Support for SMARC: How Toradex Empowers Embedded Developers
Linux Support for SMARC: How Toradex Empowers Embedded DevelopersLinux Support for SMARC: How Toradex Empowers Embedded Developers
Linux Support for SMARC: How Toradex Empowers Embedded Developers
Toradex
 
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdfSAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
Precisely
 
Complete Guide to Advanced Logistics Management Software in Riyadh.pdf
Complete Guide to Advanced Logistics Management Software in Riyadh.pdfComplete Guide to Advanced Logistics Management Software in Riyadh.pdf
Complete Guide to Advanced Logistics Management Software in Riyadh.pdf
Software Company
 
ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes Partner Innovation Updates for May 2025ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes
 
Ad

Bulletproof Backend Architecture: Building Adaptive Services with Self-Describing Messages - Sean Travis Taylor, Redeem

  • 1. Bulletproof Backend Architecture Strategy for Building Adaptive Services with Hypermedia
  • 3. What It Is (cont’d.) ● Offer a modest proposal ● Explore a real world business use case ● Help reduce developer toil and kill meetings
  • 4. Killing meetings is the real point of this talk
  • 5. Have you had your break today? Why do web services break? ● Internal Errors (aka bugs) ● Network Errors ● Authentication & Authorization ● Breaking Changes
  • 6. Anatomy of a Breaking Change ● New Required Fields ● Changed Message Structure ○ Changed Field Names ○ Changed Field Locations ● Changed Meaning ○ Changed Field Types
  • 7. The Structure of Messages Why is message structure critical? ● Clients and servers need a stable contract to communicate ● Consistent structures make messages easier to process ● Consistent message structures facilitate more effective error handling and debugging
  • 9. Only human brains can bridge a semantic gap
  • 12. Hello, Muzak! ● e-commerce storefront that sells cassettes, cds, vinyl and digital downloads of a wide variety of music genres ● they have meticulous inventory records but no metadata about the the music in inventory ● Muzak needs a partner to provide metadata about albums and digital downloads in their store
  • 13. The Business Problem ● Muzak needs a partner to provide metadata about albums and digital downloads in inventory ● Users browsing Muzak’s site need access to detailed album and track data when viewing individual product pages 99 Problems….
  • 14. Hello, Metamusic! ● SaaS platform providing comprehensive metadata on a massive array of music by major and independent labels ● clients can query an API for a specific album or track and get tons of useful metadata.
  • 15. The Use Case How does it all work? ● Album requests to Muzak’s API are forwarded to Metamusic for metadata associated with the requested album ● Muzak receives the metadata, merging it with existing inventory data about the album ● Enriched data is returned to the requesting Muzak client
  • 16. The Integration Problem ● Metamusic is in the midst of a leadership shakeup ● 3 candidates are vying to become CTO ● Each candidate believes their API response interface is best and forces the team to push their preferred interface into production ● There are breaking changes to the API daily
  • 17. How can we solve this?
  • 19. Demo
  • 20. Self-describing Messages …to the rescue! ● Contains data/metadata describing the format and meaning of a message ● Includes all information required to process the message ● Services can evolve data formats without breaking clients
  • 21. Follow Me ● LinkedIn - https://tinyurl.com/mupvcfnd ● Blog - https://dev.to/agustus_gloop ● Redeem - https://tryredeem.io
  • 23. What it ain’t This is not a hypermedia talk
  • 24. The Meaning of Messages But what does it all mean? ● Communication consists in the meaning of the message ● Diverse message structures with equivalent meanings are everywhere ● Services equipped to suss out meaning are more robust
  • 25. Battle of the Formats
  • 26. Same Structure, (slightly) Different Meaning

Editor's Notes

  • #1: Hello, good afternoon and welcome. My name is Sean Taylor. If you’re here for a talk titled Bulletproof Backends you’re in the right place. If you are not here for a talk titled Bulletproof Backends you’re in the right place. You cannot leave. This talk is about something I call adaptive services. What are adaptive services? Adaptive services are services that can absorb change. How many of you or your engineering teams have grumbled at new or emerging business requirements that require change? Then you are part of the problem. But my name is Sean and I’m here to help. First: who am I? When I’m not cross-hatching the globe giving talks. I’m Head of Platform at a small startup called Redeem. Redeem is a personal fintech platform; our lead product is a Chrome Extension that automatically recommends the best credit card to use online to maximize your benefits, reward and offers. But I’m not here to talk about that. Let’s get on with adaptive services. (Next)
  • #2: Now for what it is. I’m going to make a modest proposal for changing the way you think about how web services should communicate with each other using something called Self-Describing Messages. (Next)
  • #3: I’m going to demo two services communicating with those self-describing messages with a real world business case. The business case is going to show how a service can radically change the contract in real time without affecting any consuming services. I’m going to show how building services in this way can reduce developer toil and kill meetings…which is the real point of this talk. (Next)
  • #4: Raise your hand if you like meetings. (Next)
  • #5: First let’s map the current terrain. Starting right at the top. So, why do web services break? Internal Errors: (also known as bugs) Network Errors: …or conditions of all kinds that may beyond our control Authentication/Authorization Errors: maybe a requestor doesn’t have the right permissions or credentials to access a resource) Breaking changes: something somewhere has changed and something else broke in response. For this talk we’re focused on those breaking changes. So let’s drill down a bit further. (Next)
  • #6: New Required Field: A field that was previously optional is now required. Maybe we’re requiring first and last name of the customer where before we only needed the first name. Changed Message Structure: Changed field names or locations. Maybe the customer first name is now nested under a customer object. Maybe firstName becomes givenName and lastName becomes surname. Changed Meaning: Changed field types. Maybe the shopping cart is now an array of objects containing information about each item instead of a set of key/value pairs where the key is the item id and the value is an object with product information inside. All of these are changes that would break our service clients. (Next)
  • #7: Let’s talk about message structure and its importance. I contend the structure of messages is of less importance than the meaning of messages. The structure of the messages is an implementation detail–an important implementation detail but an implementation detail that we are not the best at addressing in current web service architecture. In fact our typical approach to handling this detail is binding the object models of clients and servers, which guarantees system fragility – a change to one requires a change to the other. How many of you are integrating multiple third party APIs into your services? How many of you are creating mappers or mapping layers to reconcile different external data formats? Once you bind directly to an external data format, you’ve given up the game. Your calendar is full of meetings.
  • #8: Here are some examples of messages that share the same meaning but have a different structure. Sales receipt from a hotel restaurant Sales receipt from a convenience store Email receipt from a online purchase Despite their structural differences all these messages mean the same thing–they are proof of a transaction for the purchaser’s records.
  • #9: Humans are good at filling in the semantic gaps between messages that mean the same thing but are structured differently. Machines less so. Systems today cannot do this an any meaningful way. This makes them brittle. Services designed to address message semantics are more flexible than services designed without these considerations. (Next)
  • #10: What is a self-describing message? It is a message that contains all the data needed to process the message within the message itself. These self-describing messages are key to system adaptability. More on these later. This image of a package offers a great example. All kinds of information: where the package is going and where it has been there may be hints about what’s inside (e.g. fragile or perishable goods) or how it should be processed (e.g. urgent) which guide us in processing the message there is tracking information that allows us to get more data about the package from the courier’s system We glean all this without knowing what’s inside the package or understanding how to process the package ahead of time.
  • #11: Now for a small example and a demo. I call this a Tale of Two Companies. We’ll explore a pretty common business problem and we’ll see how self-describing messages can provide a solution.
  • #16: This is actually a very typical problem: an unstable API a communication problem with a partner failure to build consensus on implementation approach
  • #18: JSON Patch is a formal specification for describing changes to a JSON document. We start on the left with a candidate object. Our JSON Patch-aware web service uses the patch instructions in the middle to produce the desired object shape on the right. What’s great about JSON Patch is that it’s just JSON. This means it can be serialized and sent over wire. This also means we can provide a link to this JSON Patch documents in our messages. Can you see where I’m going with this?
  • #19: In the demo we’re going to see the Muzak backend contacting the Metamusic API. We will see all (3) of the API formats returning from the Metamusic API in real-time at random with no logic that inspects the shape of the response payload. The only help we’ll get from the Metamusic API is a link to the JSON Patch spec for the incoming response payload. Muzak will fetch this patch document and apply the patch to transform the response payload–transforming a volatile system to a stable one.
  • #20: So we’ve discussed what Self-Describing messages are and how they contribute to more robust service design. We’ve seen JSON-Patch documents in action and watched as Self-Describing Messages keep our services online even in the face of change. I hope you’ll consider this design in your next application and that it will save your dev team some toil and maybe even get them out of a few meetings!
  • #23: This is not a hypermedia talk. Though hypermedia is in the title, this is actually the second-to-last time I’ll mention this concept. I find it fascinating but I think because of a lot talks that discuss this concept can get abstract, they end up boring people…kinda like Functional Programming talks. (Next)
  • #24: Communication is in the meaning of the message. Diverse structures of messages with similar meanings are around us all the time.
  • #25: On the far left, the candidate is obsessed with the beauty and majesty of the camel and believes the first, best and only way to implement an API response is in camel case. In the middle, the candidate feels an API should be implemented by way of vibes; there isn’t a whole lot of rhyme or reason to any of the field names. On the far right, the candidate is obsessed with the philosophy of Blaise Pascal and believes the first, best and only way to implement an API response is in Pascal case.
  • #26: Here is an example of the reverse. These two objects share same structure but a slightly different meaning owing to the type change of the cart field.