SlideShare una empresa de Scribd logo
1 de 44
Descargar para leer sin conexión
Copyright © 2017 iflix. All rights reserved.1
In global scale
GRAPHQL API DISTRIBUTION
Copyright © 2017 iflix. All rights reserved.2
JAKUB RIEDL
Software Engineer @iflix
lead of GraphQL project
Copyright © 2017 iflix. All rights reserved.3
● Redefine television for 1 billion people
● Global video-on-demand platform for emerging markets
● Hollywood, Bollywood, Nollywood, Korean, local content and much more
● Different technical challenges than in 1st world countries
● Partners with TELCO to supply service in mobile data package
IFLIX
Copyright © 2017 iflix. All rights reserved.4
IFLIX REGIONS
Copyright © 2017 iflix. All rights reserved.5
WHERE IS THE CATCH?
Copyright © 2017 iflix. All rights reserved.6
IFLIX REGIONS
Copyright © 2017 iflix. All rights reserved.7
AWS DATA CENTERS
Copyright © 2017 iflix. All rights reserved.8
CLIENT APPLICATIONS
● Web
● Android (Mobile)
● iOS
● Android TV & STBs
● 2x Samsung TV
● 2x LG TV
● Roku
● Alibaba TV
● …
Copyright © 2017 iflix. All rights reserved.9
● 20+ engineering teams working on new features
● In 4 different timezones
● New features every day
● Ongoing refactoring
● Lot of shortcuts in early stage we need to deal with
RAPIDLY CHANGING BUSINESS
Copyright © 2017 iflix. All rights reserved.10
LOAD
130k
4+m
Asia’s fastest growing Internet TV service
NOW
?
1b
VISION
USERS
REQ / MIN
Copyright © 2017 iflix. All rights reserved.11
● Video data are easy(-ish) with CDN
● Catalogue is quite static and for all users
● Personalized collections are per group of users but still quite static
● Watch history is dynamic and strictly private
● DRM works with one time key which cannot be cached
STRUCTURE OF DATA
Copyright © 2017 iflix. All rights reserved.12
LET’S DO IT!
Copyright © 2017 iflix. All rights reserved.13
NAIVE APPROACH
MICROSERVICE - A
MICROSERVICE - B
MICROSERVICE - C
MICROSERVICE - D
Copyright © 2017 iflix. All rights reserved.14
NAIVE APPROACH
MICROSERVICE - A
MICROSERVICE - B
MICROSERVICE - C
MICROSERVICE - D
Copyright © 2017 iflix. All rights reserved.15
STATIC CONTENT
CDN
MICROSERVICE - B
MICROSERVICE - C
MICROSERVICE - D
STATIC DATA GENERATOR
Copyright © 2017 iflix. All rights reserved.16
STATIC CONTENT
CDN
MICROSERVICE - B
MICROSERVICE - C
MICROSERVICE - D
STATIC DATA GENERATOR
distance from user
Copyright © 2017 iflix. All rights reserved.17
LAST MILE
SCALABILITY
FLEXIBILITY
MAINTAINABILITY
Copyright © 2017 iflix. All rights reserved.18
LAST MILE GOOD
SCALABILITY
FLEXIBILITY
MAINTAINABILITY
Copyright © 2017 iflix. All rights reserved.19
LAST MILE GOOD
SCALABILITY EXCELLENT
FLEXIBILITY
MAINTAINABILITY
Copyright © 2017 iflix. All rights reserved.20
LAST MILE GOOD
SCALABILITY EXCELLENT
FLEXIBILITY BAD
MAINTAINABILITY
Copyright © 2017 iflix. All rights reserved.21
LAST MILE GOOD
SCALABILITY EXCELLENT
FLEXIBILITY BAD
MAINTAINABILITY BAD
Copyright © 2017 iflix. All rights reserved.
GRAPHQL
GATEWAY
Integration Layer
Authentication
Evolving Schema
22
WELCOME GRAPHQL!
STATIC DATA
MICROSERVICE - B
MICROSERVICE - C
MICROSERVICE - D
Copyright © 2017 iflix. All rights reserved.
GRAPHQL
GATEWAY
Integration Layer
Authentication
Evolving Schema
23
SCHEMA EVOLUTION
STATIC DATA
MICROSERVICE - B
MICROSERVICE - C
MICROSERVICE - D
MICROSERVICE - D
v1
v2
Copyright © 2017 iflix. All rights reserved.
GRAPHQL
GATEWAY
Integration Layer
Authentication
Evolving Schema
24
SCHEMA EVOLUTION
STATIC DATA
MICROSERVICE - B
MICROSERVICE - C
MICROSERVICE - D v2
Copyright © 2017 iflix. All rights reserved.25
LAST MILE
SCALABILITY
FLEXIBILITY
MAINTAINABILITY
Copyright © 2017 iflix. All rights reserved.26
LAST MILE BAD
SCALABILITY
FLEXIBILITY
MAINTAINABILITY
Copyright © 2017 iflix. All rights reserved.27
LAST MILE BAD
SCALABILITY NOT GOOD
FLEXIBILITY
MAINTAINABILITY
Copyright © 2017 iflix. All rights reserved.28
LAST MILE BAD
SCALABILITY NOT GOOD
FLEXIBILITY EXCELLENT
MAINTAINABILITY
Copyright © 2017 iflix. All rights reserved.29
LAST MILE BAD
SCALABILITY NOT GOOD
FLEXIBILITY EXCELLENT
MAINTAINABILITY EXCELLENT
Copyright © 2017 iflix. All rights reserved.30
● Bring data as close to user as possible
● Caching
● Infrastructure independent
● Docker + Kubernetes
● TELCO partners
LAST MILE
GRAPHQL
GATEWAY
Copyright © 2017 iflix. All rights reserved.
GRAPHQL
GATEWAY
31
CACHING
DATACENTER
1x 10x
Up to 400ms on every request
Copyright © 2017 iflix. All rights reserved.
PUBLIC @CDN
GRAPHQL
GATEWAY
32
CACHING
DATACENTER
1x 3x
7x
Copyright © 2017 iflix. All rights reserved.
GRAPHQL
GATEWAY
33
CACHING
DATACENTER
1x 2x
PUBLIC @CDN
7x
PERSONALIZED @CDN
1x
Copyright © 2017 iflix. All rights reserved.
GRAPHQL
GATEWAY
34
CACHING
DATACENTER
1x 1x
PUBLIC @CDN
7x
PERSONALIZED @CDN
1x
1x Private
Copyright © 2017 iflix. All rights reserved.
GRAPHQL
GATEWAY
35
CACHING
DATACENTER
1x 1x
PUBLIC @CDN
7x
PERSONALIZED @CDN
1x
1x Private
Copyright © 2017 iflix. All rights reserved.36
LAST MILE
SCALABILITY
FLEXIBILITY
MAINTAINABILITY
Copyright © 2017 iflix. All rights reserved.37
LAST MILE EXCELLENT
SCALABILITY
FLEXIBILITY
MAINTAINABILITY
Copyright © 2017 iflix. All rights reserved.38
LAST MILE EXCELLENT
SCALABILITY GOOD
FLEXIBILITY
MAINTAINABILITY
Copyright © 2017 iflix. All rights reserved.39
LAST MILE EXCELLENT
SCALABILITY GOOD
FLEXIBILITY EXCELLENT
MAINTAINABILITY
Copyright © 2017 iflix. All rights reserved.40
LAST MILE EXCELLENT
SCALABILITY GOOD
FLEXIBILITY EXCELLENT
MAINTAINABILITY EXCELLENT
Copyright © 2017 iflix. All rights reserved.
GRAPHQL
GATEWAY
41
CACHING
1x
PUBLIC @CDN
7x
PERSONALIZED @CDN
1x
1x Private
CACHING CDN
Copyright © 2017 iflix. All rights reserved.42
LAST MILE EXCELLENT
SCALABILITY EXCELLENT
FLEXIBILITY EXCELLENT
MAINTAINABILITY EXCELLENT
Copyright © 2017 iflix. All rights reserved.43
● Integration layer using GraphQL gateway
● Continuously evolving schema
● Static everything what is possible
● Caching within gateway
● Controlled using HTTP headers
● Gateway in region = data as close to user as possible
SUMMARY
Copyright © 2017 iflix. All rights reserved.
● jakubriedl.com
● @jakubriedl
● jakubriedl
● jakubriedl
● @jakubriedl
44
GET IN TOUCH

Más contenido relacionado

La actualidad más candente

Mobile World Congress 2017 - Ericsson & Red Hat partnership
Mobile World Congress 2017 - Ericsson & Red Hat partnershipMobile World Congress 2017 - Ericsson & Red Hat partnership
Mobile World Congress 2017 - Ericsson & Red Hat partnershipEricsson
 
Giacomo Tirabassi [InfluxData] | Istio at InfluxData | InfluxDays Virtual Exp...
Giacomo Tirabassi [InfluxData] | Istio at InfluxData | InfluxDays Virtual Exp...Giacomo Tirabassi [InfluxData] | Istio at InfluxData | InfluxDays Virtual Exp...
Giacomo Tirabassi [InfluxData] | Istio at InfluxData | InfluxDays Virtual Exp...InfluxData
 
Bare Metal Cluster with Kubernetes, Istio and Metallb | Nguyen Phuong An, Ngu...
Bare Metal Cluster with Kubernetes, Istio and Metallb | Nguyen Phuong An, Ngu...Bare Metal Cluster with Kubernetes, Istio and Metallb | Nguyen Phuong An, Ngu...
Bare Metal Cluster with Kubernetes, Istio and Metallb | Nguyen Phuong An, Ngu...Vietnam Open Infrastructure User Group
 
Intro to Forecasting with TensorFlow and Prophet
Intro to Forecasting with TensorFlow and ProphetIntro to Forecasting with TensorFlow and Prophet
Intro to Forecasting with TensorFlow and ProphetAnais Jackie Dotis
 
SmartCity IoT on Kubernetes and OpenStack
SmartCity IoT on Kubernetes and OpenStackSmartCity IoT on Kubernetes and OpenStack
SmartCity IoT on Kubernetes and OpenStackJakub Pavlik
 
Meeting the Needs of the Global Community
Meeting the Needs of the Global CommunityMeeting the Needs of the Global Community
Meeting the Needs of the Global CommunityEricsson
 

La actualidad más candente (7)

Mobile World Congress 2017 - Ericsson & Red Hat partnership
Mobile World Congress 2017 - Ericsson & Red Hat partnershipMobile World Congress 2017 - Ericsson & Red Hat partnership
Mobile World Congress 2017 - Ericsson & Red Hat partnership
 
Giacomo Tirabassi [InfluxData] | Istio at InfluxData | InfluxDays Virtual Exp...
Giacomo Tirabassi [InfluxData] | Istio at InfluxData | InfluxDays Virtual Exp...Giacomo Tirabassi [InfluxData] | Istio at InfluxData | InfluxDays Virtual Exp...
Giacomo Tirabassi [InfluxData] | Istio at InfluxData | InfluxDays Virtual Exp...
 
2016 Cloud Insights
2016 Cloud Insights2016 Cloud Insights
2016 Cloud Insights
 
Bare Metal Cluster with Kubernetes, Istio and Metallb | Nguyen Phuong An, Ngu...
Bare Metal Cluster with Kubernetes, Istio and Metallb | Nguyen Phuong An, Ngu...Bare Metal Cluster with Kubernetes, Istio and Metallb | Nguyen Phuong An, Ngu...
Bare Metal Cluster with Kubernetes, Istio and Metallb | Nguyen Phuong An, Ngu...
 
Intro to Forecasting with TensorFlow and Prophet
Intro to Forecasting with TensorFlow and ProphetIntro to Forecasting with TensorFlow and Prophet
Intro to Forecasting with TensorFlow and Prophet
 
SmartCity IoT on Kubernetes and OpenStack
SmartCity IoT on Kubernetes and OpenStackSmartCity IoT on Kubernetes and OpenStack
SmartCity IoT on Kubernetes and OpenStack
 
Meeting the Needs of the Global Community
Meeting the Needs of the Global CommunityMeeting the Needs of the Global Community
Meeting the Needs of the Global Community
 

Similar a GraphQL distribution

IoT Architectural Overview - 3 use case studies from InfluxData
IoT Architectural Overview - 3 use case studies from InfluxData IoT Architectural Overview - 3 use case studies from InfluxData
IoT Architectural Overview - 3 use case studies from InfluxData InfluxData
 
End User Computing with NetApp
End User Computing with NetAppEnd User Computing with NetApp
End User Computing with NetAppNetApp
 
PuppetConf 2017 | Adobe Advertising Cloud: A Lean Puppet Workflow to Support ...
PuppetConf 2017 | Adobe Advertising Cloud: A Lean Puppet Workflow to Support ...PuppetConf 2017 | Adobe Advertising Cloud: A Lean Puppet Workflow to Support ...
PuppetConf 2017 | Adobe Advertising Cloud: A Lean Puppet Workflow to Support ...Nicolas Brousse
 
PuppetConf 2017: Adobe Advertising Cloud: Lean Puppet Workflow to Support Mul...
PuppetConf 2017: Adobe Advertising Cloud: Lean Puppet Workflow to Support Mul...PuppetConf 2017: Adobe Advertising Cloud: Lean Puppet Workflow to Support Mul...
PuppetConf 2017: Adobe Advertising Cloud: Lean Puppet Workflow to Support Mul...Puppet
 
Recipe for Success: The Right Ingredients for Enterprise-Class Cloud Data Man...
Recipe for Success: The Right Ingredients for Enterprise-Class Cloud Data Man...Recipe for Success: The Right Ingredients for Enterprise-Class Cloud Data Man...
Recipe for Success: The Right Ingredients for Enterprise-Class Cloud Data Man...Amazon Web Services
 
How to Use the TICK Stack, CoreOS, & Docker to Make Your SaaS Offering Better
How to Use the TICK Stack, CoreOS, & Docker to Make Your SaaS Offering BetterHow to Use the TICK Stack, CoreOS, & Docker to Make Your SaaS Offering Better
How to Use the TICK Stack, CoreOS, & Docker to Make Your SaaS Offering BetterDevOps.com
 
How to Use the TICK Stack, CoreOS, & Docker to Make Your SaaS Offering Better
How to Use the TICK Stack, CoreOS, & Docker to Make Your SaaS Offering BetterHow to Use the TICK Stack, CoreOS, & Docker to Make Your SaaS Offering Better
How to Use the TICK Stack, CoreOS, & Docker to Make Your SaaS Offering BetterDeborah Schalm
 
Cisco Live 2017: Container networking deep dive with Docker Enterprise Editio...
Cisco Live 2017: Container networking deep dive with Docker Enterprise Editio...Cisco Live 2017: Container networking deep dive with Docker Enterprise Editio...
Cisco Live 2017: Container networking deep dive with Docker Enterprise Editio...Sanjeev Rampal
 
Monitor Kubernetes in Rancher using InfluxData
Monitor Kubernetes in Rancher using InfluxDataMonitor Kubernetes in Rancher using InfluxData
Monitor Kubernetes in Rancher using InfluxDataInfluxData
 
Cisco Live: Containers on Enterprise Compute and Networks
Cisco Live: Containers on Enterprise Compute  and NetworksCisco Live: Containers on Enterprise Compute  and Networks
Cisco Live: Containers on Enterprise Compute and NetworksMichael Duarte
 
Platform for Cloud Migration — Accelerating and De-Risking your Cloud Journey
Platform for Cloud Migration — Accelerating and De-Risking your Cloud JourneyPlatform for Cloud Migration — Accelerating and De-Risking your Cloud Journey
Platform for Cloud Migration — Accelerating and De-Risking your Cloud JourneyDelphix
 
Cisco connect winnipeg 2018 we make it simple
Cisco connect winnipeg 2018   we make it simpleCisco connect winnipeg 2018   we make it simple
Cisco connect winnipeg 2018 we make it simpleCisco Canada
 
Docker Enterprise Networking and Cisco Contiv - Cisco Live 2017 BRKSDN-2256
Docker Enterprise Networking and Cisco Contiv - Cisco Live 2017 BRKSDN-2256Docker Enterprise Networking and Cisco Contiv - Cisco Live 2017 BRKSDN-2256
Docker Enterprise Networking and Cisco Contiv - Cisco Live 2017 BRKSDN-2256Mark Church
 
CompTIA Top 10 Emerging Technologies of 2018
CompTIA Top 10 Emerging Technologies of 2018CompTIA Top 10 Emerging Technologies of 2018
CompTIA Top 10 Emerging Technologies of 2018Stephanie Ragsdale
 
GTC Taiwan 2017 如何在充滿未知的巨量數據時代中建構一個數據中心
GTC Taiwan 2017 如何在充滿未知的巨量數據時代中建構一個數據中心GTC Taiwan 2017 如何在充滿未知的巨量數據時代中建構一個數據中心
GTC Taiwan 2017 如何在充滿未知的巨量數據時代中建構一個數據中心NVIDIA Taiwan
 
Webinar: Multi-Cloud Monitoring
Webinar: Multi-Cloud MonitoringWebinar: Multi-Cloud Monitoring
Webinar: Multi-Cloud MonitoringInfluxData
 
ThinManager® Delivering and Managing The Connected Enterprise: Introduction
ThinManager® Delivering and Managing The Connected Enterprise: IntroductionThinManager® Delivering and Managing The Connected Enterprise: Introduction
ThinManager® Delivering and Managing The Connected Enterprise: IntroductionRockwell Automation
 
How far is too far? The Hybrid Cloud Distance Factor
How far is too far? The Hybrid Cloud Distance FactorHow far is too far? The Hybrid Cloud Distance Factor
How far is too far? The Hybrid Cloud Distance FactorOVH US
 
Why microservices architectures drive exceptional customer experiences
Why microservices architectures drive exceptional customer experiencesWhy microservices architectures drive exceptional customer experiences
Why microservices architectures drive exceptional customer experiencesDenis Wilson Souza Rosa
 
Cisco Connect Toronto 2017 - Cisco meraki let simple work for you
Cisco Connect Toronto 2017 - Cisco meraki   let simple work for youCisco Connect Toronto 2017 - Cisco meraki   let simple work for you
Cisco Connect Toronto 2017 - Cisco meraki let simple work for youCisco Canada
 

Similar a GraphQL distribution (20)

IoT Architectural Overview - 3 use case studies from InfluxData
IoT Architectural Overview - 3 use case studies from InfluxData IoT Architectural Overview - 3 use case studies from InfluxData
IoT Architectural Overview - 3 use case studies from InfluxData
 
End User Computing with NetApp
End User Computing with NetAppEnd User Computing with NetApp
End User Computing with NetApp
 
PuppetConf 2017 | Adobe Advertising Cloud: A Lean Puppet Workflow to Support ...
PuppetConf 2017 | Adobe Advertising Cloud: A Lean Puppet Workflow to Support ...PuppetConf 2017 | Adobe Advertising Cloud: A Lean Puppet Workflow to Support ...
PuppetConf 2017 | Adobe Advertising Cloud: A Lean Puppet Workflow to Support ...
 
PuppetConf 2017: Adobe Advertising Cloud: Lean Puppet Workflow to Support Mul...
PuppetConf 2017: Adobe Advertising Cloud: Lean Puppet Workflow to Support Mul...PuppetConf 2017: Adobe Advertising Cloud: Lean Puppet Workflow to Support Mul...
PuppetConf 2017: Adobe Advertising Cloud: Lean Puppet Workflow to Support Mul...
 
Recipe for Success: The Right Ingredients for Enterprise-Class Cloud Data Man...
Recipe for Success: The Right Ingredients for Enterprise-Class Cloud Data Man...Recipe for Success: The Right Ingredients for Enterprise-Class Cloud Data Man...
Recipe for Success: The Right Ingredients for Enterprise-Class Cloud Data Man...
 
How to Use the TICK Stack, CoreOS, & Docker to Make Your SaaS Offering Better
How to Use the TICK Stack, CoreOS, & Docker to Make Your SaaS Offering BetterHow to Use the TICK Stack, CoreOS, & Docker to Make Your SaaS Offering Better
How to Use the TICK Stack, CoreOS, & Docker to Make Your SaaS Offering Better
 
How to Use the TICK Stack, CoreOS, & Docker to Make Your SaaS Offering Better
How to Use the TICK Stack, CoreOS, & Docker to Make Your SaaS Offering BetterHow to Use the TICK Stack, CoreOS, & Docker to Make Your SaaS Offering Better
How to Use the TICK Stack, CoreOS, & Docker to Make Your SaaS Offering Better
 
Cisco Live 2017: Container networking deep dive with Docker Enterprise Editio...
Cisco Live 2017: Container networking deep dive with Docker Enterprise Editio...Cisco Live 2017: Container networking deep dive with Docker Enterprise Editio...
Cisco Live 2017: Container networking deep dive with Docker Enterprise Editio...
 
Monitor Kubernetes in Rancher using InfluxData
Monitor Kubernetes in Rancher using InfluxDataMonitor Kubernetes in Rancher using InfluxData
Monitor Kubernetes in Rancher using InfluxData
 
Cisco Live: Containers on Enterprise Compute and Networks
Cisco Live: Containers on Enterprise Compute  and NetworksCisco Live: Containers on Enterprise Compute  and Networks
Cisco Live: Containers on Enterprise Compute and Networks
 
Platform for Cloud Migration — Accelerating and De-Risking your Cloud Journey
Platform for Cloud Migration — Accelerating and De-Risking your Cloud JourneyPlatform for Cloud Migration — Accelerating and De-Risking your Cloud Journey
Platform for Cloud Migration — Accelerating and De-Risking your Cloud Journey
 
Cisco connect winnipeg 2018 we make it simple
Cisco connect winnipeg 2018   we make it simpleCisco connect winnipeg 2018   we make it simple
Cisco connect winnipeg 2018 we make it simple
 
Docker Enterprise Networking and Cisco Contiv - Cisco Live 2017 BRKSDN-2256
Docker Enterprise Networking and Cisco Contiv - Cisco Live 2017 BRKSDN-2256Docker Enterprise Networking and Cisco Contiv - Cisco Live 2017 BRKSDN-2256
Docker Enterprise Networking and Cisco Contiv - Cisco Live 2017 BRKSDN-2256
 
CompTIA Top 10 Emerging Technologies of 2018
CompTIA Top 10 Emerging Technologies of 2018CompTIA Top 10 Emerging Technologies of 2018
CompTIA Top 10 Emerging Technologies of 2018
 
GTC Taiwan 2017 如何在充滿未知的巨量數據時代中建構一個數據中心
GTC Taiwan 2017 如何在充滿未知的巨量數據時代中建構一個數據中心GTC Taiwan 2017 如何在充滿未知的巨量數據時代中建構一個數據中心
GTC Taiwan 2017 如何在充滿未知的巨量數據時代中建構一個數據中心
 
Webinar: Multi-Cloud Monitoring
Webinar: Multi-Cloud MonitoringWebinar: Multi-Cloud Monitoring
Webinar: Multi-Cloud Monitoring
 
ThinManager® Delivering and Managing The Connected Enterprise: Introduction
ThinManager® Delivering and Managing The Connected Enterprise: IntroductionThinManager® Delivering and Managing The Connected Enterprise: Introduction
ThinManager® Delivering and Managing The Connected Enterprise: Introduction
 
How far is too far? The Hybrid Cloud Distance Factor
How far is too far? The Hybrid Cloud Distance FactorHow far is too far? The Hybrid Cloud Distance Factor
How far is too far? The Hybrid Cloud Distance Factor
 
Why microservices architectures drive exceptional customer experiences
Why microservices architectures drive exceptional customer experiencesWhy microservices architectures drive exceptional customer experiences
Why microservices architectures drive exceptional customer experiences
 
Cisco Connect Toronto 2017 - Cisco meraki let simple work for you
Cisco Connect Toronto 2017 - Cisco meraki   let simple work for youCisco Connect Toronto 2017 - Cisco meraki   let simple work for you
Cisco Connect Toronto 2017 - Cisco meraki let simple work for you
 

Último

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
 
PREDICTING RIVER WATER QUALITY ppt presentation
PREDICTING  RIVER  WATER QUALITY  ppt presentationPREDICTING  RIVER  WATER QUALITY  ppt presentation
PREDICTING RIVER WATER QUALITY ppt presentationvaddepallysandeep122
 
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)jennyeacort
 
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...confluent
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsAhmed Mohamed
 
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
 
How To Manage Restaurant Staff -BTRESTRO
How To Manage Restaurant Staff -BTRESTROHow To Manage Restaurant Staff -BTRESTRO
How To Manage Restaurant Staff -BTRESTROmotivationalword821
 
Sending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdfSending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdf31events.com
 
SpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at RuntimeSpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at Runtimeandrehoraa
 
A healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfA healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfMarharyta Nedzelska
 
Powering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsPowering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsSafe Software
 
CRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceCRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceBrainSell Technologies
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfAlina Yurenko
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesPhilip Schwarz
 
Precise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalPrecise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalLionel Briand
 
Cyber security and its impact on E commerce
Cyber security and its impact on E commerceCyber security and its impact on E commerce
Cyber security and its impact on E commercemanigoyal112
 
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
 
Introduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfIntroduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfFerryKemperman
 
Innovate and Collaborate- Harnessing the Power of Open Source Software.pdf
Innovate and Collaborate- Harnessing the Power of Open Source Software.pdfInnovate and Collaborate- Harnessing the Power of Open Source Software.pdf
Innovate and Collaborate- Harnessing the Power of Open Source Software.pdfYashikaSharma391629
 
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
 

Último (20)

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...
 
PREDICTING RIVER WATER QUALITY ppt presentation
PREDICTING  RIVER  WATER QUALITY  ppt presentationPREDICTING  RIVER  WATER QUALITY  ppt presentation
PREDICTING RIVER WATER QUALITY ppt presentation
 
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
 
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML Diagrams
 
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
 
How To Manage Restaurant Staff -BTRESTRO
How To Manage Restaurant Staff -BTRESTROHow To Manage Restaurant Staff -BTRESTRO
How To Manage Restaurant Staff -BTRESTRO
 
Sending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdfSending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdf
 
SpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at RuntimeSpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at Runtime
 
A healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfA healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdf
 
Powering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsPowering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data Streams
 
CRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceCRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. Salesforce
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a series
 
Precise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalPrecise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive Goal
 
Cyber security and its impact on E commerce
Cyber security and its impact on E commerceCyber security and its impact on E commerce
Cyber security and its impact on E commerce
 
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...
 
Introduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfIntroduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdf
 
Innovate and Collaborate- Harnessing the Power of Open Source Software.pdf
Innovate and Collaborate- Harnessing the Power of Open Source Software.pdfInnovate and Collaborate- Harnessing the Power of Open Source Software.pdf
Innovate and Collaborate- Harnessing the Power of Open Source Software.pdf
 
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
 

GraphQL distribution

  • 1. Copyright © 2017 iflix. All rights reserved.1 In global scale GRAPHQL API DISTRIBUTION
  • 2. Copyright © 2017 iflix. All rights reserved.2 JAKUB RIEDL Software Engineer @iflix lead of GraphQL project
  • 3. Copyright © 2017 iflix. All rights reserved.3 ● Redefine television for 1 billion people ● Global video-on-demand platform for emerging markets ● Hollywood, Bollywood, Nollywood, Korean, local content and much more ● Different technical challenges than in 1st world countries ● Partners with TELCO to supply service in mobile data package IFLIX
  • 4. Copyright © 2017 iflix. All rights reserved.4 IFLIX REGIONS
  • 5. Copyright © 2017 iflix. All rights reserved.5 WHERE IS THE CATCH?
  • 6. Copyright © 2017 iflix. All rights reserved.6 IFLIX REGIONS
  • 7. Copyright © 2017 iflix. All rights reserved.7 AWS DATA CENTERS
  • 8. Copyright © 2017 iflix. All rights reserved.8 CLIENT APPLICATIONS ● Web ● Android (Mobile) ● iOS ● Android TV & STBs ● 2x Samsung TV ● 2x LG TV ● Roku ● Alibaba TV ● …
  • 9. Copyright © 2017 iflix. All rights reserved.9 ● 20+ engineering teams working on new features ● In 4 different timezones ● New features every day ● Ongoing refactoring ● Lot of shortcuts in early stage we need to deal with RAPIDLY CHANGING BUSINESS
  • 10. Copyright © 2017 iflix. All rights reserved.10 LOAD 130k 4+m Asia’s fastest growing Internet TV service NOW ? 1b VISION USERS REQ / MIN
  • 11. Copyright © 2017 iflix. All rights reserved.11 ● Video data are easy(-ish) with CDN ● Catalogue is quite static and for all users ● Personalized collections are per group of users but still quite static ● Watch history is dynamic and strictly private ● DRM works with one time key which cannot be cached STRUCTURE OF DATA
  • 12. Copyright © 2017 iflix. All rights reserved.12 LET’S DO IT!
  • 13. Copyright © 2017 iflix. All rights reserved.13 NAIVE APPROACH MICROSERVICE - A MICROSERVICE - B MICROSERVICE - C MICROSERVICE - D
  • 14. Copyright © 2017 iflix. All rights reserved.14 NAIVE APPROACH MICROSERVICE - A MICROSERVICE - B MICROSERVICE - C MICROSERVICE - D
  • 15. Copyright © 2017 iflix. All rights reserved.15 STATIC CONTENT CDN MICROSERVICE - B MICROSERVICE - C MICROSERVICE - D STATIC DATA GENERATOR
  • 16. Copyright © 2017 iflix. All rights reserved.16 STATIC CONTENT CDN MICROSERVICE - B MICROSERVICE - C MICROSERVICE - D STATIC DATA GENERATOR distance from user
  • 17. Copyright © 2017 iflix. All rights reserved.17 LAST MILE SCALABILITY FLEXIBILITY MAINTAINABILITY
  • 18. Copyright © 2017 iflix. All rights reserved.18 LAST MILE GOOD SCALABILITY FLEXIBILITY MAINTAINABILITY
  • 19. Copyright © 2017 iflix. All rights reserved.19 LAST MILE GOOD SCALABILITY EXCELLENT FLEXIBILITY MAINTAINABILITY
  • 20. Copyright © 2017 iflix. All rights reserved.20 LAST MILE GOOD SCALABILITY EXCELLENT FLEXIBILITY BAD MAINTAINABILITY
  • 21. Copyright © 2017 iflix. All rights reserved.21 LAST MILE GOOD SCALABILITY EXCELLENT FLEXIBILITY BAD MAINTAINABILITY BAD
  • 22. Copyright © 2017 iflix. All rights reserved. GRAPHQL GATEWAY Integration Layer Authentication Evolving Schema 22 WELCOME GRAPHQL! STATIC DATA MICROSERVICE - B MICROSERVICE - C MICROSERVICE - D
  • 23. Copyright © 2017 iflix. All rights reserved. GRAPHQL GATEWAY Integration Layer Authentication Evolving Schema 23 SCHEMA EVOLUTION STATIC DATA MICROSERVICE - B MICROSERVICE - C MICROSERVICE - D MICROSERVICE - D v1 v2
  • 24. Copyright © 2017 iflix. All rights reserved. GRAPHQL GATEWAY Integration Layer Authentication Evolving Schema 24 SCHEMA EVOLUTION STATIC DATA MICROSERVICE - B MICROSERVICE - C MICROSERVICE - D v2
  • 25. Copyright © 2017 iflix. All rights reserved.25 LAST MILE SCALABILITY FLEXIBILITY MAINTAINABILITY
  • 26. Copyright © 2017 iflix. All rights reserved.26 LAST MILE BAD SCALABILITY FLEXIBILITY MAINTAINABILITY
  • 27. Copyright © 2017 iflix. All rights reserved.27 LAST MILE BAD SCALABILITY NOT GOOD FLEXIBILITY MAINTAINABILITY
  • 28. Copyright © 2017 iflix. All rights reserved.28 LAST MILE BAD SCALABILITY NOT GOOD FLEXIBILITY EXCELLENT MAINTAINABILITY
  • 29. Copyright © 2017 iflix. All rights reserved.29 LAST MILE BAD SCALABILITY NOT GOOD FLEXIBILITY EXCELLENT MAINTAINABILITY EXCELLENT
  • 30. Copyright © 2017 iflix. All rights reserved.30 ● Bring data as close to user as possible ● Caching ● Infrastructure independent ● Docker + Kubernetes ● TELCO partners LAST MILE GRAPHQL GATEWAY
  • 31. Copyright © 2017 iflix. All rights reserved. GRAPHQL GATEWAY 31 CACHING DATACENTER 1x 10x Up to 400ms on every request
  • 32. Copyright © 2017 iflix. All rights reserved. PUBLIC @CDN GRAPHQL GATEWAY 32 CACHING DATACENTER 1x 3x 7x
  • 33. Copyright © 2017 iflix. All rights reserved. GRAPHQL GATEWAY 33 CACHING DATACENTER 1x 2x PUBLIC @CDN 7x PERSONALIZED @CDN 1x
  • 34. Copyright © 2017 iflix. All rights reserved. GRAPHQL GATEWAY 34 CACHING DATACENTER 1x 1x PUBLIC @CDN 7x PERSONALIZED @CDN 1x 1x Private
  • 35. Copyright © 2017 iflix. All rights reserved. GRAPHQL GATEWAY 35 CACHING DATACENTER 1x 1x PUBLIC @CDN 7x PERSONALIZED @CDN 1x 1x Private
  • 36. Copyright © 2017 iflix. All rights reserved.36 LAST MILE SCALABILITY FLEXIBILITY MAINTAINABILITY
  • 37. Copyright © 2017 iflix. All rights reserved.37 LAST MILE EXCELLENT SCALABILITY FLEXIBILITY MAINTAINABILITY
  • 38. Copyright © 2017 iflix. All rights reserved.38 LAST MILE EXCELLENT SCALABILITY GOOD FLEXIBILITY MAINTAINABILITY
  • 39. Copyright © 2017 iflix. All rights reserved.39 LAST MILE EXCELLENT SCALABILITY GOOD FLEXIBILITY EXCELLENT MAINTAINABILITY
  • 40. Copyright © 2017 iflix. All rights reserved.40 LAST MILE EXCELLENT SCALABILITY GOOD FLEXIBILITY EXCELLENT MAINTAINABILITY EXCELLENT
  • 41. Copyright © 2017 iflix. All rights reserved. GRAPHQL GATEWAY 41 CACHING 1x PUBLIC @CDN 7x PERSONALIZED @CDN 1x 1x Private CACHING CDN
  • 42. Copyright © 2017 iflix. All rights reserved.42 LAST MILE EXCELLENT SCALABILITY EXCELLENT FLEXIBILITY EXCELLENT MAINTAINABILITY EXCELLENT
  • 43. Copyright © 2017 iflix. All rights reserved.43 ● Integration layer using GraphQL gateway ● Continuously evolving schema ● Static everything what is possible ● Caching within gateway ● Controlled using HTTP headers ● Gateway in region = data as close to user as possible SUMMARY
  • 44. Copyright © 2017 iflix. All rights reserved. ● jakubriedl.com ● @jakubriedl ● jakubriedl ● jakubriedl ● @jakubriedl 44 GET IN TOUCH