SlideShare a Scribd company logo
1 of 107
Download to read offline
BFF Pattern in Action
SoundCloud’s Microservices
Bora Tunca
Joined SoundCloud 2.5 years ago
soundcloud.com front-end
client specific apis
core-services
@grandbora
SoundCloud is the
largest online audio
distribution
platform
12 HOURS OF AUDIO
every minute
MOTHERSHIP
MOTHERSHIP
Public API
MOTHERSHIP
Public API
messages
likes
MOTHERSHIP
Public API
messages
likes
Microservices
0
20
40
60
80
100
120
2013 2014 2015 2016
Microservices
0
20
40
60
80
100
120
2013 2014 2015 2016
Microservices
0
20
40
60
80
100
120
2013 2014 2015 2016
Microservices
0
20
40
60
80
100
120
2013 2014 2015 2016
http://martinfowler.com/bliki/HumaneRegistry.html
Humane Registry
Oriented around people
Humane Registry
Oriented around people
Don't rely on people to stay up to date
Humane Registry
Oriented around people
Don't rely on people to stay up to date
Expect humans to read and contribute
Humane Registry
SERVICES DIRECTORY
Public API
messages
likes
MOTHERSHIP
Api-v2 Api-mobile Api-embedded Public API
Api-v2 Api-mobile Api-embedded Public API
messages
MOTHERSHIP
likes
search
stats
images
Api-v2 Api-mobile Api-embedded Public API
Edge Layer
messages
MOTHERSHIP
likes
search
stats
images
Api-v2 Api-mobile Api-embedded Public API
Edge Layer
Client Applications
Microservices
messages
MOTHERSHIP
likes
search
stats
images
Backend For Fronted
Microservices
BFFs
Microservices
Client ApplicationsBFFs
Microservices
BFF
BFF authentication geo location features
1
BFF
messages
MOTHERSHIP
likes
search
stats
images
2
authentication geo location features
1
messages
MOTHERSHIP
BFF
likes
search
stats
images
authentication geo location features
messages
MOTHERSHIP
BFF
likes
search
stats
images
authentication geo location features
messages
MOTHERSHIP
BFF
likes
search
stats
images
authentication geo location features
messages
MOTHERSHIP
BFF
likes
search
stats
images
authentication geo location features
messages
MOTHERSHIP
BFF
likes
search
stats
images
authentication geo location features
BFF
messages
MOTHERSHIP
likes
search
stats
images
2
authentication geo location features
1
messages
MOTHERSHIP
BFF
likes
search
stats
images
authentication geo location features
BFF
BFFBFF
BFFBFF
messages
MOTHERSHIP
BFF
likes
search
stats
images
authentication geo location features
BFF
BFFBFF
BFFBFF
Critical Path
On critical path…
Be ready for traffic bursts
On critical path…
Be ready for traffic bursts
Handle failures gracefully
On critical path…
messages
MOTHERSHIP
BFF
likes
search
stats
images
authentication geo location features
1
messages
MOTHERSHIP
BFF
likes
search
stats
images
authentication geo location features
1
2
Public API
messages
likes
MOTHERSHIP
messages
MOTHERSHIP
BFF
likes
search
stats
images
messages
MOTHERSHIP
BFF
likes
search
stats
images
BFF
messages
MOTHERSHIP
BFF
likes
search
stats
images
BFF
messages
MOTHERSHIP
BFF
likes
search
stats
images
tracks
BFF
images userstracks
Foundation Layer
images userstracks
Foundation Layer
playlistsstream profiles
Value Added Layer
images userstracks
Foundation Layer
playlistsstream profiles
Value Added Layer
images userstracks
Foundation Layer
playlistsstream profiles
Value Added Layer
BFF BFF
images userstracks
Foundation Layer
playlistsstream profiles
Value Added Layer
BFF BFF
images userstracks
Foundation Layer
playlistsstream profiles
Value Added Layer
MOTHERSHIP
GRAPHITE
STATSD
GRAPHITE
STATSD
PROMETHEUS
Prometheus
Scalable data collection
Operational simplicity
Multi-dimensional data
Powerful query language
https://developers.soundcloud.com/blog/prometheus-monitoring-at-soundcloud
http://prometheus.io/
Prometheus
Prometheus
My Service
Prometheus
My Service
http://instance-url/metrics
Prometheus
My Service
http://instance-url/metrics
Prometheus
My Service
http://instance-url/metrics
jvm client
Prometheus
My Service
jvm client
My Service
jvm client
My Service
jvm client
My Service
jvm client
My Service
jvm client
My Service
jvm client
My Service
jvm client
My Service
jvm client
My Service
jvm client
My Service
jvm client
val requestCount = telemetry.counter("outgoing_http_requests_total",
"A counter for the HTTP requests",
"service", "method", "status", "statusClass")
send
requestCount
.labels(
serviceName,
request.getMethod,
response.getStatus,
response.getStatusClass
).inc()
val requestCount = telemetry.counter("outgoing_http_requests_total",
"A counter for the HTTP requests",
"service", "method", "status", "statusClass")
send
requestCount
.labels(
serviceName,
request.getMethod,
response.getStatus,
response.getStatusClass
).inc()
query SUM(rate(outgoing_http_requests_total{statusClass!="2xx"}[10m]))
by (service, method, status)
DISTRIBUTED TRACING
SERVICE LEVEL OBJECTIVES
manifest.json
{
"name": "trackmetadata",
"type": "internal_service",
"description": "Track Metadata service",
"contact_email": "xxxxxxx",
"owner": "core-services",
"status": "production",
"alert_service": "pagerduty.com/xxxx",
"telemetry_dashboard": "http://promdash/trackmetadata",
"data_sensitivity": xxxx,
"dependencies": xxxx,
"slo": {
"error_rate_threshold": 0.1,
"latency_p99_threshold_seconds": 0.02,
"availability_target": 0.99999,
"metrics_server": "http://prometheus/trackmetadata"
}
}
manifest.json
{
"name": "trackmetadata",
"type": "internal_service",
"description": "Track Metadata service",
"contact_email": "xxxxxxx",
"owner": "core-services",
"status": "production",
"alert_service": "pagerduty.com/xxxx",
"telemetry_dashboard": "http://promdash/trackmetadata",
"data_sensitivity": xxxx,
"dependencies": xxxx,
"slo": {
"error_rate_threshold": 0.1,
"latency_p99_threshold_seconds": 0.02,
"availability_target": 0.99999,
"metrics_server": "http://prometheus/trackmetadata"
}
}
manifest.json
{
"name": "trackmetadata",
"type": "internal_service",
"description": "Track Metadata service",
"contact_email": "xxxxxxx",
"owner": "core-services",
"status": "production",
"alert_service": "pagerduty.com/xxxx",
"telemetry_dashboard": "http://promdash/trackmetadata",
"data_sensitivity": xxxx,
"dependencies": xxxx,
"slo": {
"error_rate_threshold": 0.1,
"latency_p99_threshold_seconds": 0.02,
"availability_target": 0.99999,
"metrics_server": "http://prometheus/trackmetadata"
}
}
manifest.json
{
"name": "trackmetadata",
"type": "internal_service",
"description": "Track Metadata service",
"contact_email": "xxxxxxx",
"owner": "core-services",
"status": "production",
"alert_service": "pagerduty.com/xxxx",
"telemetry_dashboard": "http://promdash/trackmetadata",
"data_sensitivity": xxxx,
"dependencies": xxxx,
"slo": {
"error_rate_threshold": 0.1,
"latency_p99_threshold_seconds": 0.02,
"availability_target": 0.99999,
"metrics_server": "http://prometheus/trackmetadata"
}
}
RECAP
RECAP
Knowledge sharing
RECAP
Knowledge sharing
Evolving the architecture
RECAP
Knowledge sharing
Evolving the architecture
Monitoring
backstage.soundcloud.com
@pcalcado - How we ended up with microservices
@starcoffe - Why SoundCloud stopped using its own public API
InfoQ - Moving from a Monolith to Microservices at SoundCloud
Netflix API Gateway Pattern
http://techblog.netflix.com/2013/01/optimizing-netflix-api.html
http://samnewman.io/patterns/architectural/bff/
https://www.thoughtworks.com/insights/blog/bff-soundcloud
bora@soundcloud.com
https://soundcloud.com/jobs
Thank you!
@grandbora
BFF Pattern in Action: SoundCloud’s Microservices
BFF Pattern in Action: SoundCloud’s Microservices
BFF Pattern in Action: SoundCloud’s Microservices
BFF Pattern in Action: SoundCloud’s Microservices
BFF Pattern in Action: SoundCloud’s Microservices
BFF Pattern in Action: SoundCloud’s Microservices
BFF Pattern in Action: SoundCloud’s Microservices
BFF Pattern in Action: SoundCloud’s Microservices
BFF Pattern in Action: SoundCloud’s Microservices
BFF Pattern in Action: SoundCloud’s Microservices
BFF Pattern in Action: SoundCloud’s Microservices

More Related Content

What's hot

Agile, User Stories, Domain Driven Design
Agile, User Stories, Domain Driven DesignAgile, User Stories, Domain Driven Design
Agile, User Stories, Domain Driven DesignAraf Karsh Hamid
 
Staff Augmentation
Staff AugmentationStaff Augmentation
Staff AugmentationTVS Next
 
Synthetic Monitoring Deep Dive - AppSphere16
Synthetic Monitoring Deep Dive - AppSphere16Synthetic Monitoring Deep Dive - AppSphere16
Synthetic Monitoring Deep Dive - AppSphere16AppDynamics
 
Chat server nitish nagar
Chat server nitish nagarChat server nitish nagar
Chat server nitish nagarNitish Nagar
 
Traffic Management In The Cloud
Traffic Management In The CloudTraffic Management In The Cloud
Traffic Management In The CloudIntel Corporation
 
Microservices Design Patterns | Edureka
Microservices Design Patterns | EdurekaMicroservices Design Patterns | Edureka
Microservices Design Patterns | EdurekaEdureka!
 
Implementing role based access control on Web Application (sample case)
Implementing role based access control on Web Application (sample case)Implementing role based access control on Web Application (sample case)
Implementing role based access control on Web Application (sample case)Deny Prasetia
 
Airline Management System [for presentation]
Airline Management System [for presentation]Airline Management System [for presentation]
Airline Management System [for presentation]SH Rajøn
 
IT Services Proposal Powerpoint Presentation Slides
IT Services Proposal Powerpoint Presentation SlidesIT Services Proposal Powerpoint Presentation Slides
IT Services Proposal Powerpoint Presentation SlidesSlideTeam
 
Servlet and Servlet Life Cycle
Servlet and Servlet Life CycleServlet and Servlet Life Cycle
Servlet and Servlet Life CycleDhrumil Panchal
 
Melbourne Jan 2019 - Microservices adoption anti-patterns: Obstacles to decom...
Melbourne Jan 2019 - Microservices adoption anti-patterns: Obstacles to decom...Melbourne Jan 2019 - Microservices adoption anti-patterns: Obstacles to decom...
Melbourne Jan 2019 - Microservices adoption anti-patterns: Obstacles to decom...Chris Richardson
 
Guidewire values and_practices
Guidewire values and_practicesGuidewire values and_practices
Guidewire values and_practicesDenise Airlie
 
New Software Development Proposal PowerPoint Presentation Slides
New Software Development Proposal PowerPoint Presentation SlidesNew Software Development Proposal PowerPoint Presentation Slides
New Software Development Proposal PowerPoint Presentation SlidesSlideTeam
 
Spring data presentation
Spring data presentationSpring data presentation
Spring data presentationOleksii Usyk
 
Javascript Roadmap - The Basics
Javascript Roadmap - The BasicsJavascript Roadmap - The Basics
Javascript Roadmap - The BasicsAswin Barath
 

What's hot (20)

Agile, User Stories, Domain Driven Design
Agile, User Stories, Domain Driven DesignAgile, User Stories, Domain Driven Design
Agile, User Stories, Domain Driven Design
 
Staff Augmentation
Staff AugmentationStaff Augmentation
Staff Augmentation
 
Synthetic Monitoring Deep Dive - AppSphere16
Synthetic Monitoring Deep Dive - AppSphere16Synthetic Monitoring Deep Dive - AppSphere16
Synthetic Monitoring Deep Dive - AppSphere16
 
IT Services Brochure
IT Services BrochureIT Services Brochure
IT Services Brochure
 
Chat server nitish nagar
Chat server nitish nagarChat server nitish nagar
Chat server nitish nagar
 
Spring Security
Spring SecuritySpring Security
Spring Security
 
RESTful Web Services
RESTful Web ServicesRESTful Web Services
RESTful Web Services
 
Traffic Management In The Cloud
Traffic Management In The CloudTraffic Management In The Cloud
Traffic Management In The Cloud
 
Microservices Design Patterns | Edureka
Microservices Design Patterns | EdurekaMicroservices Design Patterns | Edureka
Microservices Design Patterns | Edureka
 
Implementing role based access control on Web Application (sample case)
Implementing role based access control on Web Application (sample case)Implementing role based access control on Web Application (sample case)
Implementing role based access control on Web Application (sample case)
 
Airline Management System [for presentation]
Airline Management System [for presentation]Airline Management System [for presentation]
Airline Management System [for presentation]
 
IT Services Proposal Powerpoint Presentation Slides
IT Services Proposal Powerpoint Presentation SlidesIT Services Proposal Powerpoint Presentation Slides
IT Services Proposal Powerpoint Presentation Slides
 
Servlet and Servlet Life Cycle
Servlet and Servlet Life CycleServlet and Servlet Life Cycle
Servlet and Servlet Life Cycle
 
Chat application
Chat applicationChat application
Chat application
 
Melbourne Jan 2019 - Microservices adoption anti-patterns: Obstacles to decom...
Melbourne Jan 2019 - Microservices adoption anti-patterns: Obstacles to decom...Melbourne Jan 2019 - Microservices adoption anti-patterns: Obstacles to decom...
Melbourne Jan 2019 - Microservices adoption anti-patterns: Obstacles to decom...
 
Guidewire values and_practices
Guidewire values and_practicesGuidewire values and_practices
Guidewire values and_practices
 
New Software Development Proposal PowerPoint Presentation Slides
New Software Development Proposal PowerPoint Presentation SlidesNew Software Development Proposal PowerPoint Presentation Slides
New Software Development Proposal PowerPoint Presentation Slides
 
Spring data presentation
Spring data presentationSpring data presentation
Spring data presentation
 
Javascript Roadmap - The Basics
Javascript Roadmap - The BasicsJavascript Roadmap - The Basics
Javascript Roadmap - The Basics
 
Spring batch
Spring batchSpring batch
Spring batch
 

Viewers also liked

Playgrounds: Mobile + Swift = BFF
Playgrounds: Mobile + Swift = BFFPlaygrounds: Mobile + Swift = BFF
Playgrounds: Mobile + Swift = BFFChris Bailey
 
Design+Startups (Startup Lessons Learned)
Design+Startups (Startup Lessons Learned)Design+Startups (Startup Lessons Learned)
Design+Startups (Startup Lessons Learned)Janice Fraser
 
Availability Objectives of SoundClouds Microservices
Availability Objectives of SoundClouds MicroservicesAvailability Objectives of SoundClouds Microservices
Availability Objectives of SoundClouds MicroservicesBora Tunca
 
Agile development in Persian (فارسی)
Agile development in Persian (فارسی)Agile development in Persian (فارسی)
Agile development in Persian (فارسی)Ramin mohmaad hoseini
 
DevOps - Ten tips for developers
DevOps - Ten tips for developersDevOps - Ten tips for developers
DevOps - Ten tips for developersevanbottcher
 
From Monoliths to Microservices at Realestate.com.au
From Monoliths to Microservices at Realestate.com.auFrom Monoliths to Microservices at Realestate.com.au
From Monoliths to Microservices at Realestate.com.auevanbottcher
 
SoundCloud's Toolbox for Microservices
SoundCloud's Toolbox for MicroservicesSoundCloud's Toolbox for Microservices
SoundCloud's Toolbox for MicroservicesBora Tunca
 
API Development and Scala @ SoundCloud
API Development and Scala @ SoundCloudAPI Development and Scala @ SoundCloud
API Development and Scala @ SoundCloudBora Tunca
 
LMAX Disruptor as real-life example
LMAX Disruptor as real-life exampleLMAX Disruptor as real-life example
LMAX Disruptor as real-life exampleGuy Nir
 
Monitoring docker containers and dockerized applications
Monitoring docker containers and dockerized applicationsMonitoring docker containers and dockerized applications
Monitoring docker containers and dockerized applicationsSatya Sanjibani Routray
 
Xamarin & Azure - BFF, Really?
Xamarin & Azure - BFF, Really?Xamarin & Azure - BFF, Really?
Xamarin & Azure - BFF, Really?Benjamin Tam
 
ABI Funding & Capital Markets Forum 2017 - Schema delle sessioni
ABI Funding & Capital Markets Forum 2017 - Schema delle sessioniABI Funding & Capital Markets Forum 2017 - Schema delle sessioni
ABI Funding & Capital Markets Forum 2017 - Schema delle sessioniABIEventi
 
Measuring Micro-services. Richard Rodger
Measuring Micro-services. Richard RodgerMeasuring Micro-services. Richard Rodger
Measuring Micro-services. Richard RodgerFuture Insights
 
Monitoring Docker containers - Docker NYC Feb 2015
Monitoring Docker containers - Docker NYC Feb 2015Monitoring Docker containers - Docker NYC Feb 2015
Monitoring Docker containers - Docker NYC Feb 2015Datadog
 
ContainerDays NYC 2016: "Observability and Manageability in a Container Envir...
ContainerDays NYC 2016: "Observability and Manageability in a Container Envir...ContainerDays NYC 2016: "Observability and Manageability in a Container Envir...
ContainerDays NYC 2016: "Observability and Manageability in a Container Envir...DynamicInfraDays
 
Voxxed Days Thessaloniki 2016 - Microservices in production
Voxxed Days Thessaloniki 2016 - Microservices in productionVoxxed Days Thessaloniki 2016 - Microservices in production
Voxxed Days Thessaloniki 2016 - Microservices in productionVoxxed Days Thessaloniki
 
2008 "An overview of Methods for analysis of Identifiability and Observabilit...
2008 "An overview of Methods for analysis of Identifiability and Observabilit...2008 "An overview of Methods for analysis of Identifiability and Observabilit...
2008 "An overview of Methods for analysis of Identifiability and Observabilit...Steinar Elgsæter
 
Microservice Architecture
Microservice ArchitectureMicroservice Architecture
Microservice ArchitectureEngin Yoeyen
 

Viewers also liked (20)

Zuul @ Netflix SpringOne Platform
Zuul @ Netflix SpringOne PlatformZuul @ Netflix SpringOne Platform
Zuul @ Netflix SpringOne Platform
 
Playgrounds: Mobile + Swift = BFF
Playgrounds: Mobile + Swift = BFFPlaygrounds: Mobile + Swift = BFF
Playgrounds: Mobile + Swift = BFF
 
Design+Startups (Startup Lessons Learned)
Design+Startups (Startup Lessons Learned)Design+Startups (Startup Lessons Learned)
Design+Startups (Startup Lessons Learned)
 
Availability Objectives of SoundClouds Microservices
Availability Objectives of SoundClouds MicroservicesAvailability Objectives of SoundClouds Microservices
Availability Objectives of SoundClouds Microservices
 
Agile development in Persian (فارسی)
Agile development in Persian (فارسی)Agile development in Persian (فارسی)
Agile development in Persian (فارسی)
 
DevOps - Ten tips for developers
DevOps - Ten tips for developersDevOps - Ten tips for developers
DevOps - Ten tips for developers
 
From Monoliths to Microservices at Realestate.com.au
From Monoliths to Microservices at Realestate.com.auFrom Monoliths to Microservices at Realestate.com.au
From Monoliths to Microservices at Realestate.com.au
 
SoundCloud's Toolbox for Microservices
SoundCloud's Toolbox for MicroservicesSoundCloud's Toolbox for Microservices
SoundCloud's Toolbox for Microservices
 
API Development and Scala @ SoundCloud
API Development and Scala @ SoundCloudAPI Development and Scala @ SoundCloud
API Development and Scala @ SoundCloud
 
LMAX Disruptor as real-life example
LMAX Disruptor as real-life exampleLMAX Disruptor as real-life example
LMAX Disruptor as real-life example
 
LMAX Architecture
LMAX ArchitectureLMAX Architecture
LMAX Architecture
 
Monitoring docker containers and dockerized applications
Monitoring docker containers and dockerized applicationsMonitoring docker containers and dockerized applications
Monitoring docker containers and dockerized applications
 
Xamarin & Azure - BFF, Really?
Xamarin & Azure - BFF, Really?Xamarin & Azure - BFF, Really?
Xamarin & Azure - BFF, Really?
 
ABI Funding & Capital Markets Forum 2017 - Schema delle sessioni
ABI Funding & Capital Markets Forum 2017 - Schema delle sessioniABI Funding & Capital Markets Forum 2017 - Schema delle sessioni
ABI Funding & Capital Markets Forum 2017 - Schema delle sessioni
 
Measuring Micro-services. Richard Rodger
Measuring Micro-services. Richard RodgerMeasuring Micro-services. Richard Rodger
Measuring Micro-services. Richard Rodger
 
Monitoring Docker containers - Docker NYC Feb 2015
Monitoring Docker containers - Docker NYC Feb 2015Monitoring Docker containers - Docker NYC Feb 2015
Monitoring Docker containers - Docker NYC Feb 2015
 
ContainerDays NYC 2016: "Observability and Manageability in a Container Envir...
ContainerDays NYC 2016: "Observability and Manageability in a Container Envir...ContainerDays NYC 2016: "Observability and Manageability in a Container Envir...
ContainerDays NYC 2016: "Observability and Manageability in a Container Envir...
 
Voxxed Days Thessaloniki 2016 - Microservices in production
Voxxed Days Thessaloniki 2016 - Microservices in productionVoxxed Days Thessaloniki 2016 - Microservices in production
Voxxed Days Thessaloniki 2016 - Microservices in production
 
2008 "An overview of Methods for analysis of Identifiability and Observabilit...
2008 "An overview of Methods for analysis of Identifiability and Observabilit...2008 "An overview of Methods for analysis of Identifiability and Observabilit...
2008 "An overview of Methods for analysis of Identifiability and Observabilit...
 
Microservice Architecture
Microservice ArchitectureMicroservice Architecture
Microservice Architecture
 

Similar to BFF Pattern in Action: SoundCloud’s Microservices

Microservices @ SoundCloud
Microservices @ SoundCloudMicroservices @ SoundCloud
Microservices @ SoundCloudBora Tunca
 
Data Democracy: Journey to User-Facing Analytics - Pulsar Summit SF 2022
Data Democracy: Journey to User-Facing Analytics - Pulsar Summit SF 2022Data Democracy: Journey to User-Facing Analytics - Pulsar Summit SF 2022
Data Democracy: Journey to User-Facing Analytics - Pulsar Summit SF 2022StreamNative
 
Progressive Web Apps for Education
Progressive Web Apps for EducationProgressive Web Apps for Education
Progressive Web Apps for EducationChris Love
 
Building Event-Driven (Micro)Services with Apache Kafka
Building Event-Driven (Micro)Services with Apache KafkaBuilding Event-Driven (Micro)Services with Apache Kafka
Building Event-Driven (Micro)Services with Apache KafkaGuido Schmutz
 
API World 2013 - Transforming the Netflix API
API World 2013 - Transforming the Netflix APIAPI World 2013 - Transforming the Netflix API
API World 2013 - Transforming the Netflix APIBenjamin Schmaus
 
Introduction to the Windows Live Platform
Introduction to the Windows Live PlatformIntroduction to the Windows Live Platform
Introduction to the Windows Live PlatformClint Edmonson
 
2014 q3-platform-update-v1.06.johnmathon
2014 q3-platform-update-v1.06.johnmathon2014 q3-platform-update-v1.06.johnmathon
2014 q3-platform-update-v1.06.johnmathonaaronwso2
 
Semantic Metadata to Support Device Interaction in Smart Environments
Semantic Metadata to Support Device Interaction in Smart EnvironmentsSemantic Metadata to Support Device Interaction in Smart Environments
Semantic Metadata to Support Device Interaction in Smart EnvironmentsSimon Mayer
 
Introduction to Stream Processing
Introduction to Stream ProcessingIntroduction to Stream Processing
Introduction to Stream ProcessingGuido Schmutz
 
Introduction to Stream Processing
Introduction to Stream ProcessingIntroduction to Stream Processing
Introduction to Stream ProcessingGuido Schmutz
 
Services, Apps and the API Powered Web
Services, Apps and the API Powered WebServices, Apps and the API Powered Web
Services, Apps and the API Powered WebSteven Willmott
 
Identity Enabling Web Services
Identity Enabling Web ServicesIdentity Enabling Web Services
Identity Enabling Web ServicesAshish Jain
 
Streaming Visualization
Streaming VisualizationStreaming Visualization
Streaming VisualizationGuido Schmutz
 
Four levels of HA in Cloud Foundry
Four levels of HA in Cloud FoundryFour levels of HA in Cloud Foundry
Four levels of HA in Cloud Foundrycornelia davis
 
Four Levels of High Availability in Cloud Foundry (Cloud Foundry Summit 2014)
Four Levels of High Availability in Cloud Foundry (Cloud Foundry Summit 2014)Four Levels of High Availability in Cloud Foundry (Cloud Foundry Summit 2014)
Four Levels of High Availability in Cloud Foundry (Cloud Foundry Summit 2014)VMware Tanzu
 
Big Data Week 2013 Flow
Big Data Week 2013 FlowBig Data Week 2013 Flow
Big Data Week 2013 FlowVictor Anjos
 
Event Driven Streaming Analytics - Demostration on Architecture of IoT
Event Driven Streaming Analytics - Demostration on Architecture of IoTEvent Driven Streaming Analytics - Demostration on Architecture of IoT
Event Driven Streaming Analytics - Demostration on Architecture of IoTLei Xu
 
What's New with Windows Phone - FoxCon Talk
What's New with Windows Phone - FoxCon TalkWhat's New with Windows Phone - FoxCon Talk
What's New with Windows Phone - FoxCon TalkSam Basu
 
SQL Saturday Redmond The Power Platform
SQL Saturday Redmond The Power Platform SQL Saturday Redmond The Power Platform
SQL Saturday Redmond The Power Platform Berkovich Consulting
 

Similar to BFF Pattern in Action: SoundCloud’s Microservices (20)

Microservices @ SoundCloud
Microservices @ SoundCloudMicroservices @ SoundCloud
Microservices @ SoundCloud
 
Data Democracy: Journey to User-Facing Analytics - Pulsar Summit SF 2022
Data Democracy: Journey to User-Facing Analytics - Pulsar Summit SF 2022Data Democracy: Journey to User-Facing Analytics - Pulsar Summit SF 2022
Data Democracy: Journey to User-Facing Analytics - Pulsar Summit SF 2022
 
Progressive Web Apps for Education
Progressive Web Apps for EducationProgressive Web Apps for Education
Progressive Web Apps for Education
 
Building Event-Driven (Micro)Services with Apache Kafka
Building Event-Driven (Micro)Services with Apache KafkaBuilding Event-Driven (Micro)Services with Apache Kafka
Building Event-Driven (Micro)Services with Apache Kafka
 
API World 2013 - Transforming the Netflix API
API World 2013 - Transforming the Netflix APIAPI World 2013 - Transforming the Netflix API
API World 2013 - Transforming the Netflix API
 
Introduction to the Windows Live Platform
Introduction to the Windows Live PlatformIntroduction to the Windows Live Platform
Introduction to the Windows Live Platform
 
2014 q3-platform-update-v1.06.johnmathon
2014 q3-platform-update-v1.06.johnmathon2014 q3-platform-update-v1.06.johnmathon
2014 q3-platform-update-v1.06.johnmathon
 
Semantic Metadata to Support Device Interaction in Smart Environments
Semantic Metadata to Support Device Interaction in Smart EnvironmentsSemantic Metadata to Support Device Interaction in Smart Environments
Semantic Metadata to Support Device Interaction in Smart Environments
 
Introduction to Stream Processing
Introduction to Stream ProcessingIntroduction to Stream Processing
Introduction to Stream Processing
 
Introduction to Stream Processing
Introduction to Stream ProcessingIntroduction to Stream Processing
Introduction to Stream Processing
 
Services, Apps and the API Powered Web
Services, Apps and the API Powered WebServices, Apps and the API Powered Web
Services, Apps and the API Powered Web
 
Identity Enabling Web Services
Identity Enabling Web ServicesIdentity Enabling Web Services
Identity Enabling Web Services
 
Streaming Visualization
Streaming VisualizationStreaming Visualization
Streaming Visualization
 
Four levels of HA in Cloud Foundry
Four levels of HA in Cloud FoundryFour levels of HA in Cloud Foundry
Four levels of HA in Cloud Foundry
 
Four Levels of High Availability in Cloud Foundry (Cloud Foundry Summit 2014)
Four Levels of High Availability in Cloud Foundry (Cloud Foundry Summit 2014)Four Levels of High Availability in Cloud Foundry (Cloud Foundry Summit 2014)
Four Levels of High Availability in Cloud Foundry (Cloud Foundry Summit 2014)
 
Big Data Week 2013 Flow
Big Data Week 2013 FlowBig Data Week 2013 Flow
Big Data Week 2013 Flow
 
Event Driven Streaming Analytics - Demostration on Architecture of IoT
Event Driven Streaming Analytics - Demostration on Architecture of IoTEvent Driven Streaming Analytics - Demostration on Architecture of IoT
Event Driven Streaming Analytics - Demostration on Architecture of IoT
 
What's New with Windows Phone - FoxCon Talk
What's New with Windows Phone - FoxCon TalkWhat's New with Windows Phone - FoxCon Talk
What's New with Windows Phone - FoxCon Talk
 
Web Sockets
Web SocketsWeb Sockets
Web Sockets
 
SQL Saturday Redmond The Power Platform
SQL Saturday Redmond The Power Platform SQL Saturday Redmond The Power Platform
SQL Saturday Redmond The Power Platform
 

Recently uploaded

How to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationHow to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationBradBedford3
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityNeo4j
 
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...OnePlan Solutions
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEOrtus Solutions, Corp
 
Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Velvetech LLC
 
PREDICTING RIVER WATER QUALITY ppt presentation
PREDICTING  RIVER  WATER QUALITY  ppt presentationPREDICTING  RIVER  WATER QUALITY  ppt presentation
PREDICTING RIVER WATER QUALITY ppt presentationvaddepallysandeep122
 
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Natan Silnitsky
 
What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...Technogeeks
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Andreas Granig
 
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanySuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanyChristoph Pohl
 
CRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceCRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceBrainSell Technologies
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaHanief Utama
 
Odoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 EnterpriseOdoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 Enterprisepreethippts
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...stazi3110
 
Buds n Tech IT Solutions: Top-Notch Web Services in Noida
Buds n Tech IT Solutions: Top-Notch Web Services in NoidaBuds n Tech IT Solutions: Top-Notch Web Services in Noida
Buds n Tech IT Solutions: Top-Notch Web Services in Noidabntitsolutionsrishis
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxTier1 app
 
How to Track Employee Performance A Comprehensive Guide.pdf
How to Track Employee Performance A Comprehensive Guide.pdfHow to Track Employee Performance A Comprehensive Guide.pdf
How to Track Employee Performance A Comprehensive Guide.pdfLivetecs LLC
 

Recently uploaded (20)

How to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationHow to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion Application
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered Sustainability
 
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
 
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort ServiceHot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
 
Advantages of Odoo ERP 17 for Your Business
Advantages of Odoo ERP 17 for Your BusinessAdvantages of Odoo ERP 17 for Your Business
Advantages of Odoo ERP 17 for Your Business
 
Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...
 
PREDICTING RIVER WATER QUALITY ppt presentation
PREDICTING  RIVER  WATER QUALITY  ppt presentationPREDICTING  RIVER  WATER QUALITY  ppt presentation
PREDICTING RIVER WATER QUALITY ppt presentation
 
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
 
What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024
 
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanySuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
 
CRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceCRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. Salesforce
 
2.pdf Ejercicios de programación competitiva
2.pdf Ejercicios de programación competitiva2.pdf Ejercicios de programación competitiva
2.pdf Ejercicios de programación competitiva
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief Utama
 
Odoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 EnterpriseOdoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 Enterprise
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
 
Buds n Tech IT Solutions: Top-Notch Web Services in Noida
Buds n Tech IT Solutions: Top-Notch Web Services in NoidaBuds n Tech IT Solutions: Top-Notch Web Services in Noida
Buds n Tech IT Solutions: Top-Notch Web Services in Noida
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
 
How to Track Employee Performance A Comprehensive Guide.pdf
How to Track Employee Performance A Comprehensive Guide.pdfHow to Track Employee Performance A Comprehensive Guide.pdf
How to Track Employee Performance A Comprehensive Guide.pdf
 

BFF Pattern in Action: SoundCloud’s Microservices