SlideShare a Scribd company logo
1 of 44
Download to read offline
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

More Related Content

What's hot

What's hot (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 to GraphQL distribution

GTC Taiwan 2017 如何在充滿未知的巨量數據時代中建構一個數據中心
GTC Taiwan 2017 如何在充滿未知的巨量數據時代中建構一個數據中心GTC Taiwan 2017 如何在充滿未知的巨量數據時代中建構一個數據中心
GTC Taiwan 2017 如何在充滿未知的巨量數據時代中建構一個數據中心
NVIDIA Taiwan
 

Similar to 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
 

Recently uploaded

TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
mohitmore19
 
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
VishalKumarJha10
 

Recently uploaded (20)

W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
How to Choose the Right Laravel Development Partner in New York City_compress...
How to Choose the Right Laravel Development Partner in New York City_compress...How to Choose the Right Laravel Development Partner in New York City_compress...
How to Choose the Right Laravel Development Partner in New York City_compress...
 
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdfAzure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
 
Define the academic and professional writing..pdf
Define the academic and professional writing..pdfDefine the academic and professional writing..pdf
Define the academic and professional writing..pdf
 
10 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 202410 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 2024
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS LiveVip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionIntroducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learn
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
 

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