This presentation will take you through the requirements, problems, design decisions, implementation details and lessons learned while building a planetary scale network telemetry system at Yahoo. You’ll see all the joys and wonders of using Python for building a scalable, distributed system and all the mistakes (and their solutions too!) we made along the way.
10. • Multiple methods to collect data: SNMP, APIs, Streaming
• Horizontal Scalability
• No Single Point Of Failure
• Survive Network Partitions
10
System Requirements
18. • cProfile
• Built in since Python 2.5
• pstats lets you do slicing/dicing/reporting
• Use with a signal handler to profile daemon processes
• objgraph
• Lets you hunt down memory leaks
• Draw graphs of object counts and relations
18
Tools
- Build it so that you *can* throw more hardware at the problem!
- It might be a long time before it becomes financially unviable and you have to optimize – but that’s generally a good problem to have