Leveraging Flink, Kafka, and Pinot for real-time event processing ensures speed, reliability, and accuracy.
Assessing the necessity of real-time systems for predictive use cases depends on specific needs.
Resource constraints drive innovation in system design, emphasizing the balance between technology choices and available resources.
Deep dives
Building a Complex Real-Time System Using Open Source Technologies
The podcast episode delves into the process of building a complex real-time system using open-source technologies. The speaker emphasizes the key importance of relying on open-source tools such as Flink, Kafka, and Pino to power large-scale event processing pipelines efficiently. The conversation highlights the significance of leveraging real-time systems and the challenges faced when ensuring speed, reliability, and accuracy in processing events.
The Role of Real-Time Systems in Predictive Use Cases
The discussion also touches upon the role of real-time systems in predictive use cases. While acknowledging the increasing trend towards real-time systems, the episode explores whether such systems are necessary for small organizations or if a near real-time approach suffices. The speaker shares insights on the potential benefits of real-time data for predictive models, emphasizing the importance of understanding specific use cases and the impact of real-time processing.
Resource Constraints and Decision-Making in System Design
The conversation sheds light on the impact of resource constraints on decision-making in system design. The speaker reflects on the experience of building a real-time system with limited resources, highlighting the trade-offs and complexities faced in such scenarios. The episode discusses how constraints can drive innovative solutions and the significance of balancing technology choices with available resources.
Lessons Learned from ML Ops Challenges and Bug Incidents
The podcast episode also delves into ML Ops challenges and bug incidents. The speaker shares personal experiences with pushing bugs that had significant impacts on systems, emphasizing the importance of context, understanding, and system knowledge in mitigating such incidents. Lessons learned include the need for thorough code review, better testing practices, and improved monitoring to prevent and address ops issues effectively.
Insights on System Design, Learning, and Decision-Making in ML Ops
The episode provides insights into system design, learning curves, and decision-making in ML Ops. The discussion highlights the speaker's journey in handling real-time systems, navigating resource constraints, and learning from mistakes. It underscores the significance of context, system understanding, and technology choices in building resilient and efficient ML Ops solutions.
MLOps Coffee Sessions #97 with Jacob Tsafatinos, Real-Time Exactly-Once Event Processing with Apache Flink, Kafka, and Pinot co-hosted by Mihail Eric.
// Abstract
A few years ago Uber set out to create an ads platform for the Uber Eats app that relied heavily on three pillars; Speed, Reliability, and Accuracy. Some of the technical challenges they were faced with included exactly-once semantics in real-time. To accomplish this goal, they created the architecture diagram above with lots of love from Flink, Kafka, Hive, and Pinot. You can dig into the whole paper (https://go.mlops.community/k8gzZd) to see all the reasoning for their design decisions.
// Bio
Jacob Tsafatinos is a Staff Software Engineer at Elemy. He led the efforts of the Ad Events Processing system at Uber and has previously worked on a range of problems including data ingestion for search and machine learning recommendation pipelines. In his spare time, he can be found playing lead guitar in his band Good Kid.
Timestamps:
[00:00] Introduction to Jacob Tsafatinos
[00:40] Takeaways
[04:25] Jacob's band
[05:29] Lyrics about software engineers or artistic stuff
[06:20] Connection of hobby and real-time system
[08:43] How to game Spotify Algorithm?
[10:00] Data stack for analytics
[13:28] Uber blog
[16:28] Video mess up
[17:04] Considerations and importance of the Uber System
[21:22] Challenges encountered through the Uber System journey
[26:06] Crucial to building the system
[28:13] Not exactly real-time
[30:22] Design decisions main questions
[34:23] Testament to OSS
[36:58] Real-time processing systems for analytical use cases vs Real-time processing systems for predictive use cases
[38:46] Real-time systems necessity
[41:04] Potential that opens up new doors
[41:40] Runaway or learn it?
[46:09] Real-time use case target
[49:31] Resource constrained
[50:48] ML Oops stories
[52:45] Wrap up
Get the Snipd podcast app
Unlock the knowledge in podcasts with the podcast player of the future.
AI-powered podcast player
Listen to all your favourite podcasts with AI-powered features
Discover highlights
Listen to the best highlights from the podcasts you love and dive into the full episode
Save any moment
Hear something you like? Tap your headphones to save it with AI-generated key takeaways
Share & Export
Send highlights to Twitter, WhatsApp or export them to Notion, Readwise & more
AI-powered podcast player
Listen to all your favourite podcasts with AI-powered features
Discover highlights
Listen to the best highlights from the podcasts you love and dive into the full episode