Video and slides synchronized, mp3 and slide download available at URL http://bit.ly/2d5hFq5.
Manny Pelarinos talks about the tension of optimizing APIs for different experiences, while supporting hundreds of endpoints and many web and mobile applications at scale. In the last few years ESPN has made many iterations on its API platform, eventually settling on developing a product centric architecture along with a new platform to build APIs. Filmed at qconnewyork.com.
Manny Pelarinos is the Senior Director of APIs at ESPN. He is a highly experienced technology leader with 15 years of extensive experience building progressive systems within media, healthcare, financial, and retail sectors, and a skilled problem-solver with expertise in the complete software development life-cycle.
2. InfoQ.com: News & Community Site
• 750,000 unique visitors/month
• Published in 4 languages (English, Chinese, Japanese and Brazilian
Portuguese)
• Post content from our QCon conferences
• News 15-20 / week
• Articles 3-4 / week
• Presentations (videos) 12-15 / week
• Interviews 2-3 / week
• Books 1 / month
Watch the video with slide
synchronization on InfoQ.com!
https://www.infoq.com/presentations/
espn-api
3. Presented at QCon New York
www.qconnewyork.com
Purpose of QCon
- to empower software development by facilitating the spread of
knowledge and innovation
Strategy
- practitioner-driven conference designed for YOU: influencers of
change and innovation in your teams
- speakers and topics driving the evolution and innovation
- connecting and catalyzing the influencers and innovators
Highlights
- attended by more than 12,000 delegates since 2007
- held in 9 cities worldwide
4. 2
1. Back Story
2. Next Gen API Platform
3. Real time consumer messaging…
at extreme scale
4. Q&A
QCON 2016
Agenda
5. 3
• Manny Pelarinos - Sr Director of Distribution
Platforms
• Second time at QCon
• 9 year career with ESPN
• We’re hiring! - jobs.espncareers.com
About me
20. 18
• Actual Fan preference data is small - IDs
• Content is big - News, Scores, Etc.
• Solution - Product API that conflates Fan
Preferences with sports data
Personalization
21. 19
ESPN Now
• Many disparate sources of
content - CMS, Blogs,
Twitter, Facebook, etc.
• Search API alone doesn’t
get you all the details
• Solution - Product API that
conflates search and all
our various content APIs
24. 22
• Make requests in parallel –
Product API should only be
as slow as its slowest core
API call
• But, mixing synchronous
programming with
asynchronous is hard
• Enforce asynchronous all
the time but needed
convenience and rails
• Ported JS Promises to
Java (With RxJava)
Promises
31. 29
Massive Scale
• How do we enable real time data with REST
APIs?
• How can we scale to millions of concurrently
connected Fans?
Real-Time Data at Sports Scale
32. 30
• FastCast is a real-time high-scale multicast
publishing platform that uses web sockets
as its underlying technology, allowing it to
work in both web and mobile spaces
• Client sets up a “Topic” via Admin Service
• Client publishes to Topic via Admin Service
• Fans subscribe to Topic via FastCast Core
• Fans receive messages as they are
published
Say Hello to FastCast
33. 31
The Details
• Reliable core node replication handled thru Redis
• Built-in checkpoint/snapshot feature
• Uses generic JsonDiff/Patch + payload compression
• Client/server healthCheck + Better analytics captures
• AutoScaling in AWS with multi-region latency based routing
36. 34
What Did We Learn?
• One size does NOT fit all - Need
to separate Core from Product
• Caching is Key
• Operational Tools are awesome
• REST APIs + WebSockets =
COOL
37. 35
• Error handling is complicated…
• What to do when circuit breaker
trips and nothing is in cache
• 50x vs. NULL
Playbook for Errors
38. 36
• Binder as an in-memory application side
‘join engine’
• On going discussion around pre-expanding
more
NoSQL = Joins
39.
40. Watch the video with slide
synchronization on InfoQ.com!
https://www.infoq.com/presentations/
espn-api