SlideShare a Scribd company logo
1 of 37
Download to read offline
Breaking the
 Monolith
 Fast Distributed Web Services Using Sets


Cristobal Viedma
What is Viki?
Cross-cultural
communication and
understanding
Technology
Web


            viki.com,
        viki.56.com,
      viki.pptv.com,
      youtube.com,
        yahoo.com,
         msn.com...
Mobile


Android,
iOS,
Blackberry,
Windows Phone,
Samsung Bada,
Kindle Fire...
TV

Google TV, Samsung SmartTV, Roku...
Top 5 cities: Singapore, Santiago, La Victoria,
Jakarta, New York
                                             Data: viki.com Oct'12
~22M users, 2500% mobile growth in 2012
...viewers start leaving if video
 doesn't play in 2 seconds...
viewers start leaving if
video doesn't play in 2
seconds
...and every second of
additional delay about 6%
more viewers jumping ship!




            Video Stream Quality Impacts Viewer Behavior: Inferring Causality Using Quasi-Experimental Designs. S. Shunmuga Krishnan, Ramesh K. Sitaraman, 2012
Large ecosystem
Global audience
  User growth
 Performance
Breaking the
monolith
Platform



            Scalability
           Availability
           Performance
Performance



              Network time
          Generation time
              Render time
Essence


      Read heavy (writes can wait)
        Everything fits in memory


  Goal: 25ms uncached (10-100x better)
Hyperion
(platform
 cluster)
Data structure
Bitmaps
genre:1    -> 010101001
genre:2    -> 010010011
type:music -> 011000001
intersect -> 010000001 (ids: 2 and 9)

Good: speed for intersect & memory efficiency
Bad: get the ids and the real data. sorting!,
paging...
Everything is a set
genre:1 = [1, 2, 4]
type:1 = [1, 2, 5]
type:2 = [3, 4]

Good: Sparse (too many 0s with bitmaps)
Complexity O(n+m) (m is sets, n elements in
the smallest set)
genre:1 -> 10 elements
videos -> 100K elements
complexity: O(10)
Building our own indexes
Data stored
Keeping track of the indexes

How do we find data...
redis.call('sort', my_set, 'BY', 'v:*->created_at',
'desc', 'LIMIT', offset, count, 'GET', 'v:*-
>details')
Holdbacks
Old system: not in (id, id, id)
first attempt: hash with a list of rules
permutations (too many countries in the world!)
CAP -> 10GB. meh~
alias matching permutations: 800mb ;)
Redis 32bit, even better!

CAP is just another set! (well, but a DIFF!)
Hacking Redis
Vfind: Building our own Redis function
Setlets: Pre-calculated sorted lists
Most requests 18~20ms, some cases 100ms
(depends on the bigger set)

Vfind only gets content to fill 1 page: 15ms
Paging just showing more: 9ms
Serialization of jsons: 5ms
Enough.. for now!
Lists
A list is just a sorted set. E.g. a list of
subscriptions, list of featured content...

Is a set!
You can apply holdbacks or any other filter.
The platform
Many web services


          Each vertical is a source of truth
          Logical and operational reasons
      Everything routed through api.viki.io


   Oceanus        Activities    Aphrodite     Gaia
   (Videos)      (Behaviour)   (Community)   (Users)
Queue


 Centralized queue for events and messages
         Event-driven web services
        Messages must be idempotent


                Message / Events Queue
Prometheus


Central logging system




                                                              Visualizations
                                                   Tasseo /
                                      Kibana
                                                   Cubism
Graphics, stats & logs



                         Backend
                                   ElasticSearch   Graphite

   Improve visibility




                                                              Collectors
                                     Logstash       Stastd




         Prometheus                    Logs         Stats
           (Logs)
Knowledge
Content


           Baboon            Subtitling        Segmenting                              Prometheus
                                                                                                          Analytics
           (CMS)               tool               tool                                   (Logs)




               Oceanus                      Subber                    Aphrodite                      Gaia
               (Videos)                   (Subs,segs)                (Community)                    (Users)
Platform




                                                  Message / Events Queue



                             Hyperion                    Hyperion                      Hyperion
                             (platform                   (platform                     (platform
                              cluster)                    cluster)                      cluster)




              Viki.com                       Devices                     Partners                   Third party
Clients




                                                                                                    developers
             (distributed                    (Android,                 (Samsung,
              thin-client)                    iPhone,                  Youtube,                     (Open API)
                                               TV...)                  Renren...)
Nothing new...




        Web services and API's
     Centralized queue for messages
... just having fun and learning.




                   :)
cristobal@viki.com   btw, we're
                     hiring!

More Related Content

Similar to Breaking The Monolith: Fast Distributed Web Services Using Sets (Feb13, NUS)

Архитектура ОС Tizen
Архитектура ОС TizenАрхитектура ОС Tizen
Архитектура ОС TizenArtur Baranok
 
Jopenmeraverse introduction
Jopenmeraverse introductionJopenmeraverse introduction
Jopenmeraverse introductionJitendra Chauhan
 
2013 pharo conference
2013 pharo conference2013 pharo conference
2013 pharo conferencePharo
 
Softwares on Large Scale Internet Services
Softwares on Large Scale Internet ServicesSoftwares on Large Scale Internet Services
Softwares on Large Scale Internet ServicesSATOSHI TAGOMORI
 
เฉลยคำตอบ O
เฉลยคำตอบ Oเฉลยคำตอบ O
เฉลยคำตอบ OSurapong Jakang
 
Mozilla In Malaysia
Mozilla In MalaysiaMozilla In Malaysia
Mozilla In MalaysiaGen Kanai
 
AWS Summit 2011: AWS 101 Overview
AWS Summit 2011: AWS 101 OverviewAWS Summit 2011: AWS 101 Overview
AWS Summit 2011: AWS 101 OverviewAmazon Web Services
 
Threading Successes 05 Smoke
Threading Successes 05   SmokeThreading Successes 05   Smoke
Threading Successes 05 Smokeguest40fc7cd
 
Windows Azure platform overview
Windows Azure platform overviewWindows Azure platform overview
Windows Azure platform overviewFrédéric Harper
 
JamfNation Roadshow Frankfurt-2019 - Security & Business Intelligence
JamfNation Roadshow Frankfurt-2019 - Security & Business IntelligenceJamfNation Roadshow Frankfurt-2019 - Security & Business Intelligence
JamfNation Roadshow Frankfurt-2019 - Security & Business IntelligenceHenry Stamerjohann
 
DataTiles: a modula platform for mixed physical and digtial interactions (Rek...
DataTiles: a modula platform for mixed physical and digtial interactions (Rek...DataTiles: a modula platform for mixed physical and digtial interactions (Rek...
DataTiles: a modula platform for mixed physical and digtial interactions (Rek...guest4230ba
 
DataTiles: a modular platform for mixed physical and graphical interactions (...
DataTiles: a modular platform for mixed physical and graphical interactions (...DataTiles: a modular platform for mixed physical and graphical interactions (...
DataTiles: a modular platform for mixed physical and graphical interactions (...Jun Rekimoto
 
งานPowerpoint ลูกศร1
งานPowerpoint ลูกศร1งานPowerpoint ลูกศร1
งานPowerpoint ลูกศร1amphaiboon
 
งานPowerpoint ลูกศร1
งานPowerpoint ลูกศร1งานPowerpoint ลูกศร1
งานPowerpoint ลูกศร1amphaiboon
 
Albion Online - Software Architecture of an MMO (talk at Quo Vadis 2016, Berlin)
Albion Online - Software Architecture of an MMO (talk at Quo Vadis 2016, Berlin)Albion Online - Software Architecture of an MMO (talk at Quo Vadis 2016, Berlin)
Albion Online - Software Architecture of an MMO (talk at Quo Vadis 2016, Berlin)David Salz
 
No specimen (software) left behind
No specimen (software) left behindNo specimen (software) left behind
No specimen (software) left behindVince Smith
 
เทคโนโลยีสารสนเทศสำหรับครู
เทคโนโลยีสารสนเทศสำหรับครูเทคโนโลยีสารสนเทศสำหรับครู
เทคโนโลยีสารสนเทศสำหรับครูBeauso English
 

Similar to Breaking The Monolith: Fast Distributed Web Services Using Sets (Feb13, NUS) (20)

Архитектура ОС Tizen
Архитектура ОС TizenАрхитектура ОС Tizen
Архитектура ОС Tizen
 
Jopenmeraverse introduction
Jopenmeraverse introductionJopenmeraverse introduction
Jopenmeraverse introduction
 
2013 pharo conference
2013 pharo conference2013 pharo conference
2013 pharo conference
 
Softwares on Large Scale Internet Services
Softwares on Large Scale Internet ServicesSoftwares on Large Scale Internet Services
Softwares on Large Scale Internet Services
 
เฉลยคำตอบ O
เฉลยคำตอบ Oเฉลยคำตอบ O
เฉลยคำตอบ O
 
Web 2.0 Futures
Web 2.0 FuturesWeb 2.0 Futures
Web 2.0 Futures
 
Mozilla In Malaysia
Mozilla In MalaysiaMozilla In Malaysia
Mozilla In Malaysia
 
AWS Summit 2011: AWS 101 Overview
AWS Summit 2011: AWS 101 OverviewAWS Summit 2011: AWS 101 Overview
AWS Summit 2011: AWS 101 Overview
 
Ems10 V1 0 Printer Friendly Table
Ems10 V1 0 Printer Friendly TableEms10 V1 0 Printer Friendly Table
Ems10 V1 0 Printer Friendly Table
 
Threading Successes 05 Smoke
Threading Successes 05   SmokeThreading Successes 05   Smoke
Threading Successes 05 Smoke
 
Windows Azure platform overview
Windows Azure platform overviewWindows Azure platform overview
Windows Azure platform overview
 
JamfNation Roadshow Frankfurt-2019 - Security & Business Intelligence
JamfNation Roadshow Frankfurt-2019 - Security & Business IntelligenceJamfNation Roadshow Frankfurt-2019 - Security & Business Intelligence
JamfNation Roadshow Frankfurt-2019 - Security & Business Intelligence
 
DataTiles: a modula platform for mixed physical and digtial interactions (Rek...
DataTiles: a modula platform for mixed physical and digtial interactions (Rek...DataTiles: a modula platform for mixed physical and digtial interactions (Rek...
DataTiles: a modula platform for mixed physical and digtial interactions (Rek...
 
DataTiles: a modular platform for mixed physical and graphical interactions (...
DataTiles: a modular platform for mixed physical and graphical interactions (...DataTiles: a modular platform for mixed physical and graphical interactions (...
DataTiles: a modular platform for mixed physical and graphical interactions (...
 
งานPowerpoint ลูกศร1
งานPowerpoint ลูกศร1งานPowerpoint ลูกศร1
งานPowerpoint ลูกศร1
 
Introducing Windows Runtime in Windows 8
Introducing Windows Runtime in Windows 8Introducing Windows Runtime in Windows 8
Introducing Windows Runtime in Windows 8
 
งานPowerpoint ลูกศร1
งานPowerpoint ลูกศร1งานPowerpoint ลูกศร1
งานPowerpoint ลูกศร1
 
Albion Online - Software Architecture of an MMO (talk at Quo Vadis 2016, Berlin)
Albion Online - Software Architecture of an MMO (talk at Quo Vadis 2016, Berlin)Albion Online - Software Architecture of an MMO (talk at Quo Vadis 2016, Berlin)
Albion Online - Software Architecture of an MMO (talk at Quo Vadis 2016, Berlin)
 
No specimen (software) left behind
No specimen (software) left behindNo specimen (software) left behind
No specimen (software) left behind
 
เทคโนโลยีสารสนเทศสำหรับครู
เทคโนโลยีสารสนเทศสำหรับครูเทคโนโลยีสารสนเทศสำหรับครู
เทคโนโลยีสารสนเทศสำหรับครู
 

Recently uploaded

Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024The Digital Insurer
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodJuan lago vázquez
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MIND CTI
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businesspanagenda
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 

Recently uploaded (20)

Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 

Breaking The Monolith: Fast Distributed Web Services Using Sets (Feb13, NUS)

  • 1. Breaking the Monolith Fast Distributed Web Services Using Sets Cristobal Viedma
  • 3.
  • 4.
  • 5.
  • 6.
  • 9. Web viki.com, viki.56.com, viki.pptv.com, youtube.com, yahoo.com, msn.com...
  • 11. TV Google TV, Samsung SmartTV, Roku...
  • 12. Top 5 cities: Singapore, Santiago, La Victoria, Jakarta, New York Data: viki.com Oct'12
  • 13. ~22M users, 2500% mobile growth in 2012
  • 14. ...viewers start leaving if video doesn't play in 2 seconds... viewers start leaving if video doesn't play in 2 seconds ...and every second of additional delay about 6% more viewers jumping ship! Video Stream Quality Impacts Viewer Behavior: Inferring Causality Using Quasi-Experimental Designs. S. Shunmuga Krishnan, Ramesh K. Sitaraman, 2012
  • 15. Large ecosystem Global audience User growth Performance
  • 16.
  • 18.
  • 19. Platform Scalability Availability Performance
  • 20. Performance Network time Generation time Render time
  • 21. Essence Read heavy (writes can wait) Everything fits in memory Goal: 25ms uncached (10-100x better)
  • 24. Bitmaps genre:1 -> 010101001 genre:2 -> 010010011 type:music -> 011000001 intersect -> 010000001 (ids: 2 and 9) Good: speed for intersect & memory efficiency Bad: get the ids and the real data. sorting!, paging...
  • 25. Everything is a set genre:1 = [1, 2, 4] type:1 = [1, 2, 5] type:2 = [3, 4] Good: Sparse (too many 0s with bitmaps) Complexity O(n+m) (m is sets, n elements in the smallest set) genre:1 -> 10 elements videos -> 100K elements complexity: O(10)
  • 26. Building our own indexes Data stored Keeping track of the indexes How do we find data... redis.call('sort', my_set, 'BY', 'v:*->created_at', 'desc', 'LIMIT', offset, count, 'GET', 'v:*- >details')
  • 27. Holdbacks Old system: not in (id, id, id) first attempt: hash with a list of rules permutations (too many countries in the world!) CAP -> 10GB. meh~ alias matching permutations: 800mb ;) Redis 32bit, even better! CAP is just another set! (well, but a DIFF!)
  • 28. Hacking Redis Vfind: Building our own Redis function Setlets: Pre-calculated sorted lists Most requests 18~20ms, some cases 100ms (depends on the bigger set) Vfind only gets content to fill 1 page: 15ms Paging just showing more: 9ms Serialization of jsons: 5ms Enough.. for now!
  • 29. Lists A list is just a sorted set. E.g. a list of subscriptions, list of featured content... Is a set! You can apply holdbacks or any other filter.
  • 31. Many web services Each vertical is a source of truth Logical and operational reasons Everything routed through api.viki.io Oceanus Activities Aphrodite Gaia (Videos) (Behaviour) (Community) (Users)
  • 32. Queue Centralized queue for events and messages Event-driven web services Messages must be idempotent Message / Events Queue
  • 33. Prometheus Central logging system Visualizations Tasseo / Kibana Cubism Graphics, stats & logs Backend ElasticSearch Graphite Improve visibility Collectors Logstash Stastd Prometheus Logs Stats (Logs)
  • 34. Knowledge Content Baboon Subtitling Segmenting Prometheus Analytics (CMS) tool tool (Logs) Oceanus Subber Aphrodite Gaia (Videos) (Subs,segs) (Community) (Users) Platform Message / Events Queue Hyperion Hyperion Hyperion (platform (platform (platform cluster) cluster) cluster) Viki.com Devices Partners Third party Clients developers (distributed (Android, (Samsung, thin-client) iPhone, Youtube, (Open API) TV...) Renren...)
  • 35. Nothing new... Web services and API's Centralized queue for messages
  • 36. ... just having fun and learning. :)
  • 37. cristobal@viki.com btw, we're hiring!