SlideShare a Scribd company logo
1 of 16
Download to read offline
Evolving from a monolithic to a distributed
public API
2013/09/18 Nordic APIs
Matthew Gray - API developer
@portedegrange
Who are 7digital?
Open access to broad catalogue of fully licensed
digital music in 37 territories
22 million tracks
Open to partners, end consumers, developers
Consumer store : www.7digital.com
All accessed through HTTP API
http://api.7digital.com
Who uses us?
Samsung, Microsoft, Blackberry and many more...
Where we came from
Started as a side project to provide access to
catalogue
Single monolithic application
Written in C# .Net (webforms)
Lots of shared libraries with other applications
Single team developing API
Problems
Dependencies between API and other applications
Working on a massive, ever-expanding codebase
How to scale? Not possible to scale eg. search
independently of whole API
What to do?
Build internal APIs for specific functionality
The original API can route requests for a given
endpoint to the internal API replacing it
http://api.7digital.com/1.2/release/details?releaseId=12345
/release/details
ReleaseDetails.aspx
http://catalogue-internal.name/releases/12345
Making the change
Gradually move code from monolithic API to internal
APIs
Rewrite where appropriate
Slow evolution
No new version or “big bang”
Consumers should not see a change in behaviour
Internal APIs
Smaller codebases
Fewer dependendencies
Technology / OS independence
Easier testing & deployment of individual APIs
Monolithic API still exists as a facade, but only does
routing, authentication and other shared concerns
Changing how we work
Smaller, more focused teams
An internal API is a product with a product manager
Smaller work items
Fewer blocked work items
Internal APIs - downsides
Less consistency between APIs
Focussed teams = knowledge silos?
Fewer code dependencies but implicit dependencies
between APIs, datastores
More chaos
Limiting the chaos
Smaller APIs are easier to understand
Continuous delivery and single-click deployment
Measure things (statsd, newrelic, logstash)
Dogfood things (build your own apps on your API)
Keep consistency
QA
API standards committee
Document new endpoints upfront
Use a single schema
Share knowledge
Cross team pairing and collaboration
People can move between teams
Knowledge sharing sessions
Questions?

More Related Content

What's hot

What's hot (13)

Open API Initiative: Six months and counting
Open API Initiative: Six months and countingOpen API Initiative: Six months and counting
Open API Initiative: Six months and counting
 
Continuous API Strategies for Integrated Platforms
 Continuous API Strategies for Integrated Platforms Continuous API Strategies for Integrated Platforms
Continuous API Strategies for Integrated Platforms
 
apidays LIVE Paris 2021 - 20 Minutes to Build a Serverless COVID-19 GraphQL A...
apidays LIVE Paris 2021 - 20 Minutes to Build a Serverless COVID-19 GraphQL A...apidays LIVE Paris 2021 - 20 Minutes to Build a Serverless COVID-19 GraphQL A...
apidays LIVE Paris 2021 - 20 Minutes to Build a Serverless COVID-19 GraphQL A...
 
A Snapshot of API Design Trends In 2019
A Snapshot of API Design Trends In 2019A Snapshot of API Design Trends In 2019
A Snapshot of API Design Trends In 2019
 
APIdays Paris 2014 - The State of Web API Languages
APIdays Paris 2014 - The State of Web API LanguagesAPIdays Paris 2014 - The State of Web API Languages
APIdays Paris 2014 - The State of Web API Languages
 
Presentation at the 2016 Linux Foundation Collab Summit
Presentation at the 2016 Linux Foundation Collab SummitPresentation at the 2016 Linux Foundation Collab Summit
Presentation at the 2016 Linux Foundation Collab Summit
 
INTERFACE, by apidays - The 8 Key Components of a Modern API Stack by Iddo G...
INTERFACE, by apidays  - The 8 Key Components of a Modern API Stack by Iddo G...INTERFACE, by apidays  - The 8 Key Components of a Modern API Stack by Iddo G...
INTERFACE, by apidays - The 8 Key Components of a Modern API Stack by Iddo G...
 
Simpda 2014 - A living story: measuring quality of developments in a large in...
Simpda 2014 - A living story: measuring quality of developments in a large in...Simpda 2014 - A living story: measuring quality of developments in a large in...
Simpda 2014 - A living story: measuring quality of developments in a large in...
 
To SDK or not to SDK?
To SDK or not to SDK?To SDK or not to SDK?
To SDK or not to SDK?
 
Specification-driven API Design with OpenAPI
Specification-driven API Design with OpenAPISpecification-driven API Design with OpenAPI
Specification-driven API Design with OpenAPI
 
APIdays Singapore 2019 - Bringing OpenAPI to devOps, Vincenzo Chianese, Softw...
APIdays Singapore 2019 - Bringing OpenAPI to devOps, Vincenzo Chianese, Softw...APIdays Singapore 2019 - Bringing OpenAPI to devOps, Vincenzo Chianese, Softw...
APIdays Singapore 2019 - Bringing OpenAPI to devOps, Vincenzo Chianese, Softw...
 
apidays LIVE Paris 2021 - Who writes the Docs? by Laura Vass, Pronovix
apidays LIVE Paris 2021 - Who writes the Docs? by Laura Vass, Pronovixapidays LIVE Paris 2021 - Who writes the Docs? by Laura Vass, Pronovix
apidays LIVE Paris 2021 - Who writes the Docs? by Laura Vass, Pronovix
 
apidays LIVE Paris 2021 - What Developers Want by Paul Ardeleanu, Vonage
apidays LIVE Paris 2021 - What Developers Want by Paul Ardeleanu, Vonageapidays LIVE Paris 2021 - What Developers Want by Paul Ardeleanu, Vonage
apidays LIVE Paris 2021 - What Developers Want by Paul Ardeleanu, Vonage
 

Viewers also liked

Music 4.5 Brand Discovery: Flowd
Music 4.5 Brand Discovery: FlowdMusic 4.5 Brand Discovery: Flowd
Music 4.5 Brand Discovery: Flowd
2Pears
 

Viewers also liked (7)

Music 4.5: Tristan Lillingston, Founder, 1983 Management
Music 4.5: Tristan Lillingston, Founder, 1983 ManagementMusic 4.5: Tristan Lillingston, Founder, 1983 Management
Music 4.5: Tristan Lillingston, Founder, 1983 Management
 
Music 4.5 Brand Discovery: Flowd
Music 4.5 Brand Discovery: FlowdMusic 4.5 Brand Discovery: Flowd
Music 4.5 Brand Discovery: Flowd
 
Robert Kaye, Musicbrainz : Capturing and sharing the data
Robert Kaye, Musicbrainz  : Capturing and sharing the data Robert Kaye, Musicbrainz  : Capturing and sharing the data
Robert Kaye, Musicbrainz : Capturing and sharing the data
 
Pete Downton, 7digital: The Three Ages of Digital Music
Pete Downton, 7digital: The Three Ages of Digital MusicPete Downton, 7digital: The Three Ages of Digital Music
Pete Downton, 7digital: The Three Ages of Digital Music
 
Hessel van Oorschot, Tribe of Noise, Music 4.5 IP & Licensing
Hessel van Oorschot, Tribe of Noise, Music 4.5 IP & LicensingHessel van Oorschot, Tribe of Noise, Music 4.5 IP & Licensing
Hessel van Oorschot, Tribe of Noise, Music 4.5 IP & Licensing
 
Music 4.5 Smart Radio, Simon Cole, 7digital
Music 4.5 Smart Radio, Simon Cole, 7digitalMusic 4.5 Smart Radio, Simon Cole, 7digital
Music 4.5 Smart Radio, Simon Cole, 7digital
 
Music Startup Academy - The Licensing Vortex Explained: How To Get Your Start...
Music Startup Academy - The Licensing Vortex Explained: How To Get Your Start...Music Startup Academy - The Licensing Vortex Explained: How To Get Your Start...
Music Startup Academy - The Licensing Vortex Explained: How To Get Your Start...
 

Similar to 7Digital API - Evolving from a monolithic to a distributed public API

WAM: An embedded web runtime history for LG webOS and Automotive Grade Linux
WAM: An embedded web runtime history for LG webOS and Automotive Grade LinuxWAM: An embedded web runtime history for LG webOS and Automotive Grade Linux
WAM: An embedded web runtime history for LG webOS and Automotive Grade Linux
Igalia
 
Open Social Intro Gdd Taipei
Open Social Intro Gdd TaipeiOpen Social Intro Gdd Taipei
Open Social Intro Gdd Taipei
Chris Schalk
 

Similar to 7Digital API - Evolving from a monolithic to a distributed public API (20)

Smart Device Link Integration into Linux systems by Jeremiah Foster
Smart Device Link Integration into Linux systems by Jeremiah FosterSmart Device Link Integration into Linux systems by Jeremiah Foster
Smart Device Link Integration into Linux systems by Jeremiah Foster
 
OpenNTF Webinar 05/07/13: OpenNTF - The IBM Collaboration Solutions App Dev C...
OpenNTF Webinar 05/07/13: OpenNTF - The IBM Collaboration Solutions App Dev C...OpenNTF Webinar 05/07/13: OpenNTF - The IBM Collaboration Solutions App Dev C...
OpenNTF Webinar 05/07/13: OpenNTF - The IBM Collaboration Solutions App Dev C...
 
What is github.
What is github.What is github.
What is github.
 
INTERFACE, by apidays - Lessons learned from implementing our custom ‘Big Da...
INTERFACE, by apidays  - Lessons learned from implementing our custom ‘Big Da...INTERFACE, by apidays  - Lessons learned from implementing our custom ‘Big Da...
INTERFACE, by apidays - Lessons learned from implementing our custom ‘Big Da...
 
WAM: An embedded web runtime history for LG webOS and Automotive Grade Linux
WAM: An embedded web runtime history for LG webOS and Automotive Grade LinuxWAM: An embedded web runtime history for LG webOS and Automotive Grade Linux
WAM: An embedded web runtime history for LG webOS and Automotive Grade Linux
 
The path to an hybrid open source paradigm
The path to an hybrid open source paradigmThe path to an hybrid open source paradigm
The path to an hybrid open source paradigm
 
[APIdays Singapore 2019] Managing the API lifecycle with Open Source Technolo...
[APIdays Singapore 2019] Managing the API lifecycle with Open Source Technolo...[APIdays Singapore 2019] Managing the API lifecycle with Open Source Technolo...
[APIdays Singapore 2019] Managing the API lifecycle with Open Source Technolo...
 
Asf icfoss-mentoring
Asf icfoss-mentoringAsf icfoss-mentoring
Asf icfoss-mentoring
 
Github Case Study By Amil Ali
Github Case Study By Amil AliGithub Case Study By Amil Ali
Github Case Study By Amil Ali
 
EVERYTHING AS CODE: API-GATEWAY, DEVELOPER PORTAL UND GRAPHQL
EVERYTHING AS CODE: API-GATEWAY, DEVELOPER PORTAL UND GRAPHQLEVERYTHING AS CODE: API-GATEWAY, DEVELOPER PORTAL UND GRAPHQL
EVERYTHING AS CODE: API-GATEWAY, DEVELOPER PORTAL UND GRAPHQL
 
Introduction To Open Web Protocols
Introduction To Open Web ProtocolsIntroduction To Open Web Protocols
Introduction To Open Web Protocols
 
Mongodb Spring
Mongodb SpringMongodb Spring
Mongodb Spring
 
Open Social Intro Gdd Taipei
Open Social Intro Gdd TaipeiOpen Social Intro Gdd Taipei
Open Social Intro Gdd Taipei
 
Extensibility of IBM Connections using XPages and Open Source from OpenNTF
Extensibility of IBM Connections using XPages and Open Source from OpenNTFExtensibility of IBM Connections using XPages and Open Source from OpenNTF
Extensibility of IBM Connections using XPages and Open Source from OpenNTF
 
Social Connections Amsterdam 2012 - Extensibility of IBM Connections
Social Connections Amsterdam 2012 - Extensibility of IBM ConnectionsSocial Connections Amsterdam 2012 - Extensibility of IBM Connections
Social Connections Amsterdam 2012 - Extensibility of IBM Connections
 
OpenDaylight nluug_november
OpenDaylight nluug_novemberOpenDaylight nluug_november
OpenDaylight nluug_november
 
Open by Design
Open by DesignOpen by Design
Open by Design
 
The value add of Open Source for innovation
The value add of Open Source for innovationThe value add of Open Source for innovation
The value add of Open Source for innovation
 
Unleashing the Power of Generative AI.pdf
Unleashing the Power of Generative AI.pdfUnleashing the Power of Generative AI.pdf
Unleashing the Power of Generative AI.pdf
 
Open Source AI - News and examples
Open Source AI - News and examplesOpen Source AI - News and examples
Open Source AI - News and examples
 

Recently uploaded

+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 

Recently uploaded (20)

Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 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
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - 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
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
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
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
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
 
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
 
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
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 

7Digital API - Evolving from a monolithic to a distributed public API

  • 1. Evolving from a monolithic to a distributed public API 2013/09/18 Nordic APIs Matthew Gray - API developer @portedegrange
  • 2. Who are 7digital? Open access to broad catalogue of fully licensed digital music in 37 territories 22 million tracks Open to partners, end consumers, developers Consumer store : www.7digital.com All accessed through HTTP API http://api.7digital.com
  • 3. Who uses us? Samsung, Microsoft, Blackberry and many more...
  • 4. Where we came from Started as a side project to provide access to catalogue Single monolithic application Written in C# .Net (webforms) Lots of shared libraries with other applications Single team developing API
  • 5.
  • 6. Problems Dependencies between API and other applications Working on a massive, ever-expanding codebase How to scale? Not possible to scale eg. search independently of whole API
  • 7. What to do? Build internal APIs for specific functionality The original API can route requests for a given endpoint to the internal API replacing it http://api.7digital.com/1.2/release/details?releaseId=12345 /release/details ReleaseDetails.aspx http://catalogue-internal.name/releases/12345
  • 8. Making the change Gradually move code from monolithic API to internal APIs Rewrite where appropriate Slow evolution No new version or “big bang” Consumers should not see a change in behaviour
  • 9.
  • 10. Internal APIs Smaller codebases Fewer dependendencies Technology / OS independence Easier testing & deployment of individual APIs Monolithic API still exists as a facade, but only does routing, authentication and other shared concerns
  • 11. Changing how we work Smaller, more focused teams An internal API is a product with a product manager Smaller work items Fewer blocked work items
  • 12. Internal APIs - downsides Less consistency between APIs Focussed teams = knowledge silos? Fewer code dependencies but implicit dependencies between APIs, datastores More chaos
  • 13. Limiting the chaos Smaller APIs are easier to understand Continuous delivery and single-click deployment Measure things (statsd, newrelic, logstash) Dogfood things (build your own apps on your API)
  • 14. Keep consistency QA API standards committee Document new endpoints upfront Use a single schema
  • 15. Share knowledge Cross team pairing and collaboration People can move between teams Knowledge sharing sessions