SlideShare uma empresa Scribd logo
1 de 31
Building big things
      in Java
     Mark Pope and Tom Coupland
Nokia
Entertainment

     Text
Search & Buy

               Mix Radio
Internet



                   Entertainment API



Search   Library        Radio          Gigs   Delivery
Search




http://mhm.hud.ac.uk/newsroom/image/record-store-3
Entertainment API




            Search




Solr         Solr          Solr
Entertainment API




            Search




Solr         Solr          Solr
Search

• 200 requests per second
• 300ms response time
Entertainment API
              EAPI




            Search




Solr         Solr          Solr
Entertainment API




            Search




Solr         Solr          Solr
Solr

• 3 servers (96GB RAM, 12 cores)
• 420 requests per second
• 15ms response time
• 25 million documents
Entertainment API




            Search




Solr         Solr          Solr
You found it!




                                  Now what?
http://news.bbc.co.uk/sport2/hi/olympics/7564645.stm
http://winncollier.com/the-frugal-side-of-me/
Library



http://kraftylibrarian.com/?p=1596
Entertainment API


           Library


           Sharding


a-    e-    k-   p-   t-   v-
d      j    o     s   u     z
Entertainment API


           Library


           Sharding


a-    e-    k-   p-   t-   v-
d      j    o     s   u     z
Library


• 1,000,000,000 rows
• 800,000 requests per day
• 300ms response time
• 26 servers
Half way
Mix Radio




http://alyssahsadie.deviantart.com/art/Old-School-
               BoomBox-24949091
Entertainment API




Personalisation    Catalogue




                       db
Entertainment API




Personalisation    Catalogue




                       db
Entertainment API

• 35 developers, 6 teams, 2 countries
• 19000 lines of code
• 155 deployments in 2011
• 160 deployments in 2012
Show me the
   music!
Delivery




                           LOUD NOISES!
http://pursuitbikes.com/blog/?p=9279
Entertainment API




    Delivery
                    NAS




   Packaging
Entertainment API




    Delivery
                    NAS




   Packaging
Delivery

• 1 petabyte of music and books
• 16 million tracks
• 6 formats
• 1 million tracks served per day
So...
That’s how we built (part of) a big thing in
                  Java
Questions?
Thanks!
• Mark Pope             • twitter.com/
                          tcoupland
 • twitter.com/scobal
                        • github.com/
 • github.com/scobal      mantree

• Tom Coupland

Mais conteúdo relacionado

Destaque

The Future of IoT: Why We Need the Open Interconnect Consortium
The Future of IoT: Why We Need the Open Interconnect ConsortiumThe Future of IoT: Why We Need the Open Interconnect Consortium
The Future of IoT: Why We Need the Open Interconnect ConsortiumSamsung Open Source Group
 
IoT Seminar (Oct. 2016) Jong Young Lee - MDS Technology
IoT Seminar (Oct. 2016) Jong Young Lee - MDS TechnologyIoT Seminar (Oct. 2016) Jong Young Lee - MDS Technology
IoT Seminar (Oct. 2016) Jong Young Lee - MDS TechnologyOpen Mobile Alliance
 
Why we need IoT
Why we need IoTWhy we need IoT
Why we need IoTOleg Popov
 
Introduction to Deep Learning
Introduction to Deep LearningIntroduction to Deep Learning
Introduction to Deep LearningOleg Mygryn
 
IoT Seminar (Oct. 2016) Pilgrim Beart - DevicePilot & Duncan Purves - Connect...
IoT Seminar (Oct. 2016) Pilgrim Beart - DevicePilot & Duncan Purves - Connect...IoT Seminar (Oct. 2016) Pilgrim Beart - DevicePilot & Duncan Purves - Connect...
IoT Seminar (Oct. 2016) Pilgrim Beart - DevicePilot & Duncan Purves - Connect...Open Mobile Alliance
 
IoT Seminar (Oct. 2016) Tao Lin - Movimento Group
IoT Seminar (Oct. 2016) Tao Lin - Movimento GroupIoT Seminar (Oct. 2016) Tao Lin - Movimento Group
IoT Seminar (Oct. 2016) Tao Lin - Movimento GroupOpen Mobile Alliance
 
Israel's First Internet of Things Conference
Israel's First Internet of Things ConferenceIsrael's First Internet of Things Conference
Israel's First Internet of Things ConferenceGeminiVC
 
Arrow Global Village IoT Summit (2016)
Arrow Global Village IoT Summit (2016)Arrow Global Village IoT Summit (2016)
Arrow Global Village IoT Summit (2016)Marc Jadoul
 
Case Study of Convolutional Neural Network
Case Study of Convolutional Neural NetworkCase Study of Convolutional Neural Network
Case Study of Convolutional Neural NetworkNamHyuk Ahn
 
Failure of nokia research paper
Failure of nokia research paperFailure of nokia research paper
Failure of nokia research paperabhishekthakur309
 

Destaque (14)

The Future of IoT: Why We Need the Open Interconnect Consortium
The Future of IoT: Why We Need the Open Interconnect ConsortiumThe Future of IoT: Why We Need the Open Interconnect Consortium
The Future of IoT: Why We Need the Open Interconnect Consortium
 
IoT Seminar (Oct. 2016) Jong Young Lee - MDS Technology
IoT Seminar (Oct. 2016) Jong Young Lee - MDS TechnologyIoT Seminar (Oct. 2016) Jong Young Lee - MDS Technology
IoT Seminar (Oct. 2016) Jong Young Lee - MDS Technology
 
Why we need IoT
Why we need IoTWhy we need IoT
Why we need IoT
 
Introduction to Deep Learning
Introduction to Deep LearningIntroduction to Deep Learning
Introduction to Deep Learning
 
IoT Seminar (Oct. 2016) Pilgrim Beart - DevicePilot & Duncan Purves - Connect...
IoT Seminar (Oct. 2016) Pilgrim Beart - DevicePilot & Duncan Purves - Connect...IoT Seminar (Oct. 2016) Pilgrim Beart - DevicePilot & Duncan Purves - Connect...
IoT Seminar (Oct. 2016) Pilgrim Beart - DevicePilot & Duncan Purves - Connect...
 
IoT Seminar (Oct. 2016) Tao Lin - Movimento Group
IoT Seminar (Oct. 2016) Tao Lin - Movimento GroupIoT Seminar (Oct. 2016) Tao Lin - Movimento Group
IoT Seminar (Oct. 2016) Tao Lin - Movimento Group
 
Israel's First Internet of Things Conference
Israel's First Internet of Things ConferenceIsrael's First Internet of Things Conference
Israel's First Internet of Things Conference
 
Deep Learning for Computer Vision: Backward Propagation (UPC 2016)
Deep Learning for Computer Vision: Backward Propagation (UPC 2016)Deep Learning for Computer Vision: Backward Propagation (UPC 2016)
Deep Learning for Computer Vision: Backward Propagation (UPC 2016)
 
Deep Learning for Computer Vision: Deep Networks (UPC 2016)
Deep Learning for Computer Vision: Deep Networks (UPC 2016)Deep Learning for Computer Vision: Deep Networks (UPC 2016)
Deep Learning for Computer Vision: Deep Networks (UPC 2016)
 
Deep Learning for Computer Vision: Image Classification (UPC 2016)
Deep Learning for Computer Vision: Image Classification (UPC 2016)Deep Learning for Computer Vision: Image Classification (UPC 2016)
Deep Learning for Computer Vision: Image Classification (UPC 2016)
 
Deep Learning for Computer Vision: Visualization (UPC 2016)
Deep Learning for Computer Vision: Visualization (UPC 2016)Deep Learning for Computer Vision: Visualization (UPC 2016)
Deep Learning for Computer Vision: Visualization (UPC 2016)
 
Arrow Global Village IoT Summit (2016)
Arrow Global Village IoT Summit (2016)Arrow Global Village IoT Summit (2016)
Arrow Global Village IoT Summit (2016)
 
Case Study of Convolutional Neural Network
Case Study of Convolutional Neural NetworkCase Study of Convolutional Neural Network
Case Study of Convolutional Neural Network
 
Failure of nokia research paper
Failure of nokia research paperFailure of nokia research paper
Failure of nokia research paper
 

Semelhante a Building big things in Java

Storm at Spotify
Storm at SpotifyStorm at Spotify
Storm at SpotifyNeville Li
 
Boston College Radio
Boston College Radio Boston College Radio
Boston College Radio Paul Kamp
 
How KKBOX use mrjob to link python, hadoop, aws
How KKBOX use mrjob to link python, hadoop, awsHow KKBOX use mrjob to link python, hadoop, aws
How KKBOX use mrjob to link python, hadoop, awsYu-ching Lin
 
Catalog All the Things: Leveraging Automation to Catalog a Massive Audio-Visu...
Catalog All the Things: Leveraging Automation to Catalog a Massive Audio-Visu...Catalog All the Things: Leveraging Automation to Catalog a Massive Audio-Visu...
Catalog All the Things: Leveraging Automation to Catalog a Massive Audio-Visu...Autumn Faulkner
 
QMUL C4DM API Presentation @ BCN Music Hack Day
QMUL C4DM API Presentation @ BCN Music Hack DayQMUL C4DM API Presentation @ BCN Music Hack Day
QMUL C4DM API Presentation @ BCN Music Hack DayAmélie Anglade
 
Music Hackday Boston - The Last.fm API
Music Hackday Boston - The Last.fm APIMusic Hackday Boston - The Last.fm API
Music Hackday Boston - The Last.fm APIdavidsingleton
 
Downtown SF Lucene/Solr Meetup: Developing Scalable Search for User Generated...
Downtown SF Lucene/Solr Meetup: Developing Scalable Search for User Generated...Downtown SF Lucene/Solr Meetup: Developing Scalable Search for User Generated...
Downtown SF Lucene/Solr Meetup: Developing Scalable Search for User Generated...Lucidworks
 
Drupal case study: ABC Dig Music
Drupal case study: ABC Dig MusicDrupal case study: ABC Dig Music
Drupal case study: ABC Dig MusicDavid Peterson
 
[JAM 2.0] Music API (Paul Malikov)
[JAM 2.0] Music API (Paul Malikov)[JAM 2.0] Music API (Paul Malikov)
[JAM 2.0] Music API (Paul Malikov)jam_team
 
Music in Zoeken.bibliotheek.be
Music in Zoeken.bibliotheek.beMusic in Zoeken.bibliotheek.be
Music in Zoeken.bibliotheek.beJohan Mijs
 
Kahle brewster internet archive universal access-11-2011-africa
Kahle brewster internet archive universal access-11-2011-africaKahle brewster internet archive universal access-11-2011-africa
Kahle brewster internet archive universal access-11-2011-africaJohannes Phaladi
 
WhoSampled Presentation - Mixcloud 2nd Birthday Party
WhoSampled Presentation - Mixcloud 2nd Birthday PartyWhoSampled Presentation - Mixcloud 2nd Birthday Party
WhoSampled Presentation - Mixcloud 2nd Birthday PartyWhoSampled
 
The History and Possible Futures of the Internet
The History and Possible Futures of the InternetThe History and Possible Futures of the Internet
The History and Possible Futures of the InternetLarry Smarr
 
Offer For Distributors Of Casual Games
Offer For Distributors Of Casual GamesOffer For Distributors Of Casual Games
Offer For Distributors Of Casual GamesAlawar Entertainment
 
The Guardian Open Platform Content API: Implementation
The Guardian Open Platform Content API: ImplementationThe Guardian Open Platform Content API: Implementation
The Guardian Open Platform Content API: ImplementationThe Guardian Open Platform
 
DN 2017 | Machines are Learning - Bringing Powerful Artificial Intelligence t...
DN 2017 | Machines are Learning - Bringing Powerful Artificial Intelligence t...DN 2017 | Machines are Learning - Bringing Powerful Artificial Intelligence t...
DN 2017 | Machines are Learning - Bringing Powerful Artificial Intelligence t...Dataconomy Media
 

Semelhante a Building big things in Java (18)

Storm at Spotify
Storm at SpotifyStorm at Spotify
Storm at Spotify
 
Boston College Radio
Boston College Radio Boston College Radio
Boston College Radio
 
How KKBOX use mrjob to link python, hadoop, aws
How KKBOX use mrjob to link python, hadoop, awsHow KKBOX use mrjob to link python, hadoop, aws
How KKBOX use mrjob to link python, hadoop, aws
 
Catalog All the Things: Leveraging Automation to Catalog a Massive Audio-Visu...
Catalog All the Things: Leveraging Automation to Catalog a Massive Audio-Visu...Catalog All the Things: Leveraging Automation to Catalog a Massive Audio-Visu...
Catalog All the Things: Leveraging Automation to Catalog a Massive Audio-Visu...
 
QMUL C4DM API Presentation @ BCN Music Hack Day
QMUL C4DM API Presentation @ BCN Music Hack DayQMUL C4DM API Presentation @ BCN Music Hack Day
QMUL C4DM API Presentation @ BCN Music Hack Day
 
Hive at Last.fm
Hive at Last.fmHive at Last.fm
Hive at Last.fm
 
Music Hackday Boston - The Last.fm API
Music Hackday Boston - The Last.fm APIMusic Hackday Boston - The Last.fm API
Music Hackday Boston - The Last.fm API
 
Downtown SF Lucene/Solr Meetup: Developing Scalable Search for User Generated...
Downtown SF Lucene/Solr Meetup: Developing Scalable Search for User Generated...Downtown SF Lucene/Solr Meetup: Developing Scalable Search for User Generated...
Downtown SF Lucene/Solr Meetup: Developing Scalable Search for User Generated...
 
Intellectualproperty
IntellectualpropertyIntellectualproperty
Intellectualproperty
 
Drupal case study: ABC Dig Music
Drupal case study: ABC Dig MusicDrupal case study: ABC Dig Music
Drupal case study: ABC Dig Music
 
[JAM 2.0] Music API (Paul Malikov)
[JAM 2.0] Music API (Paul Malikov)[JAM 2.0] Music API (Paul Malikov)
[JAM 2.0] Music API (Paul Malikov)
 
Music in Zoeken.bibliotheek.be
Music in Zoeken.bibliotheek.beMusic in Zoeken.bibliotheek.be
Music in Zoeken.bibliotheek.be
 
Kahle brewster internet archive universal access-11-2011-africa
Kahle brewster internet archive universal access-11-2011-africaKahle brewster internet archive universal access-11-2011-africa
Kahle brewster internet archive universal access-11-2011-africa
 
WhoSampled Presentation - Mixcloud 2nd Birthday Party
WhoSampled Presentation - Mixcloud 2nd Birthday PartyWhoSampled Presentation - Mixcloud 2nd Birthday Party
WhoSampled Presentation - Mixcloud 2nd Birthday Party
 
The History and Possible Futures of the Internet
The History and Possible Futures of the InternetThe History and Possible Futures of the Internet
The History and Possible Futures of the Internet
 
Offer For Distributors Of Casual Games
Offer For Distributors Of Casual GamesOffer For Distributors Of Casual Games
Offer For Distributors Of Casual Games
 
The Guardian Open Platform Content API: Implementation
The Guardian Open Platform Content API: ImplementationThe Guardian Open Platform Content API: Implementation
The Guardian Open Platform Content API: Implementation
 
DN 2017 | Machines are Learning - Bringing Powerful Artificial Intelligence t...
DN 2017 | Machines are Learning - Bringing Powerful Artificial Intelligence t...DN 2017 | Machines are Learning - Bringing Powerful Artificial Intelligence t...
DN 2017 | Machines are Learning - Bringing Powerful Artificial Intelligence t...
 

Último

Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyKhushali Kathiriya
 
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
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfOrbitshub
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...apidays
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdfSandro Moreira
 
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
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamUiPathCommunity
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Jeffrey Haguewood
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Victor Rentea
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...apidays
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MIND CTI
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesrafiqahmad00786416
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDropbox
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Orbitshub
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Bhuvaneswari Subramani
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024The Digital Insurer
 

Último (20)

Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
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
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
+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...
 
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
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 

Building big things in Java

Notas do Editor

  1. Welcomes. Thanks for coming. We’re Tom and Mark. From Nokia. \nHere to talk about \ndeliver a global music service\nhow we built it with Java\n(Do we add in a story throughout to keep the ideas concrete)\n
  2. Located in central Bristol \nDesign, build and maintain the service (pretty much exclusively)\nProvide music to millions of users around the world\nScaled/Served to around 1million downloads a day\nJava, windows phone, web\n
  3. Talk through parts of our service\nTwo use cases:\nSearch and adding to Library (Find and own)\nMix radio and Delivery (New product called mix radio)\nFirst going to talk about high level architecture...\n
  4. Multiple client platforms (win phone, web, symbian)\nSOA 3 years ago\nStruggling with single monolith, lots of clashing\nTeams work on groups of services\nBreak a use case down into a set of responsibilities. Service for each one.\nScale single components\nEAPI provides \nauth\nproxy for routing\ncommon api\nJSON over HTTP with REST\nTalk more about it later....\n
  5. Think about how you buy music from a store.\nHow you might model the process in software.\nSo, we ended up with something a bit like like:\n\n\n
  6. EAPI routes requests to Search service\n\n\n
  7. So we’re now going to talk about Search\n
  8. Why do we need this layer? Stateless. Built for high throughput.\nReturns track metadata, artist information, track names.\nLayer of abstraction above solr\nTalk internal language\nJava, Spring (Open Source, tool for building java software [IOC {breakout acronyms}, DI]), REST API over HTTP\nTwo servers for failover - key concept when building big things\n
  9. \n
  10. \n
  11. What is solr? Solr is an Apache Open Source inverted full text indexer. So...\nWhy use solr instead of SQL?\nPut in documents containing artist and song information, get broken down into individual words, then indexes.\n\nsearch for “stone” -> Stone Roses, Joss Stone, Rolling Stones.\n\n3 servers: failover and scale requests\n
  12. So, this how our search architecture works.\nSo....\n
  13. You’ve found what you’re looking for. \nWhat’s the next step?\n
  14. Well, you have to give us some money.\nWe’re not going to concentrate on this\n
  15. We have to know what you own.\nPersonal collection of music/books\nHow to model this in software (when you have to store millions of users collections)\n(Collections can be ma-hou-sive)\nClients use this to obtain what a user owns, so you can see what you own on the clients\n
  16. The familiar clients and api layer.\nRoutes to Library sub-system.\n\n
  17. The familiar clients and api layer.\nRoutes to Library sub-system.\n\n
  18. Why do we need to shard? Why not one big database (horizontal vs vertical [expensive] scaling) \nClone, copy, master-master\nEach shard replicated twice - failover and redundancy when building big things. Hot failover.\nThin service runs on 8 servers, 12 db servers, 6 sharding servers\nSpring and hibernate, Open Source. Open Source MySql.\n
  19. Not really an intermission. We’re just half way through our slides.\n
  20. Mix radio - product on Nokia Lumia phones for streaming free music.\nHand crafted - created by experts to suit mood and taste.\nMobile optimised - codec with great sound and small file size\nHow might you do this with software?\n\n
  21. Back to our old friend EAPI.\nCan see the two paths - not going to talk about personalisation today\nLooking for curated radio stations\nThese are stored in a service called Catalogue\n
  22. Catalogue is a big list of all the music and books we offer. Metadata store.\nAlso stores curated radio stations\nEAPI retrieves the radio station you selected (which the client will then play)\nHowever, take a quick look at this EAPI thing. What is it\n
  23. Conceptually a thin layer - actually a bit more to it (because of it’s centralness)\nClient agnostic. Stateless. \nContinuous change, integration and delivery\nHighly modular allowing collaboration reducing checkin conflicts (with git).\nPairing, TDD.\nDanny and Neil talking in more detail later about how we work\n
  24. Ok\n
  25. How do we make noise come out of your phone\n
  26. Sub-systems that make noise come out of your phone\nResponsible for \nmaking sure you’re licensed to download your selection\nactually serving up the location of the music or book\nadding images and meta-data to your download\nNAS for storing music + books - massive\n\n
  27. So how big is this thing?\n
  28. Mention VCDN. What is a (Content Delivery Network) CDN?\nContent Delivery Network, a big cache out in the cloud.\nPowers ‘most’ of the internet, act as caches for content.\nLocated all over the world, reduce load.\nGreat Firewall of China.\nStores our eaac32 formatted tracks.\n
  29. \n
  30. \n
  31. \n