Talks
Speakers
Events
Topics
Sign in
Home
Talks
Speakers
Events
Topics
Leaderboard
Use
Analytics
Sign in
Suggest modification to this talk
Title
Description
All the Starcraft n00bs know exactly how to win. They take all the resources they can, and upgrade all the expensive tech and think to themselves, "soon i'll be unstoppable". Unfortunately "eventually unstoppable" is the same as dead right now. This type of premature optimization and abstraction can kill a business faster than not being able to scale. In this talk we'll take a look at how to pick the right unit composition (databases vs. NoSQL), balance your macro and micro (scale out vs. up), and choose the right race (programing language). If you've never played Starcraft, and can't tell a ultralisk from a firebat, don't worry there's still a room for you. Sorry, no Zerg allowed. Help us caption & translate this video! http://amara.org/v/FGgV/
Date
Summarized using AI?
If this talk's summary was generated by AI, please check this box. A "Summarized using AI" badge will be displayed in the summary tab to indicate that the summary was generated using AI.
Show "Summarized using AI" badge on summary page
Summary
Markdown supported
In Richard Schneeman's talk at Aloha RubyConf 2012, titled "My Server for Aiur: How Starcraft Taught Me To Scale," he draws parallels between the strategy of the game Starcraft and the principles of web application scaling. ### Main Topics: - **Introduction to Scaling:** Schneeman emphasizes the importance of balancing speed and throughput, translating gaming strategies to real-world web server optimization. - **Speed and Throughput:** He differentiates between speed (how fast requests are processed) and throughput (how many requests are handled at once). Lessons from Starcraft, such as proper resource utilization, are applied to improve web application performance. - **Optimizing for Speed:** - Utilizing efficient algorithms to minimize slow operations. - Implementing caching strategies to reduce the cost of expensive operations. - Importance of logging and monitoring to identify bottlenecks, akin to analyzing replays in Starcraft to assess performance. - **Improving Throughput:** - Strategies for adding server capacity through horizontal scaling (adding more servers) rather than vertical scaling (upgrading existing servers). - Implementing workers for non-blocking tasks using tools like Resque, allowing for a more responsive user experience. - **Client-Side Performance:** Emphasis on optimizing user experience through fast loading of assets, employing techniques like Gzip compression, CDNs, and browser caching. - **Avoiding Premature Optimization:** He warns against the trap of focusing too early on optimizations without understanding the actual needs, advocating for a more measured approach. ### Key Takeaways: - Always measure performance and analyze logs to discover inefficiencies in your applications. - Use caching effectively while being cautious of the pitfalls of premature optimization. - Understand the balance between speed and throughput to enhance performance and scalability. - Implement best practices for server capacity and optimize client-side speed to ensure a robust web application. Schneeman concludes with a reminder to continually assess performance and to explore the right strategies for scaling effectively, reiterating that both gaming and software development require discipline and informed strategic choices.
Suggest modifications
Cancel