Talks
Speakers
Events
Topics
Sign in
Home
Talks
Speakers
Events
Topics
Leaderboard
Use
Analytics
Sign in
Suggest modification to this talk
Title
Description
StillAlive.com was born from the 48 hour intense 2010 Rails Rumble and has grown! Having recently passed our 50,000,000th site result, this talk discusses the real world challenges and optimisations required to take a code base born from the fires of YAGNI to a production system. This talk isn't about how you can scale from 0 requests to 500 billion requests per microsecond, but give a practical view to some of the performance problems we faced as the application steadily grew from a hack job into a functioning system. The journey will go through the mistakes we made, challenges faced and real world optimisations discovered, including some tricks we learnt along the way from concurrent index creation to using the ZeroMQ messaging framework with Rails
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 the presentation titled "From Rails Rumble to 50,000,000 results," Mikel Lindsaar recounts the journey of creating StillAlive.com, a web monitoring service birthed from the 2010 Rails Rumble hackathon. The talk focuses on the real-world challenges faced and optimizations necessary to evolve a code base from a basic prototype to a fully-functional production system. Key themes include practical scaling techniques, error handling, and optimizing performance over time. **Key Points Discussed:** - **Introduction to StillAlive.com:** A monitoring service designed to catch bugs in websites before end-users do by performing live tests against the entire web stack, not just basic pings. - **Initial Development and Challenges:** The creation during the 48-hour Rails Rumble forced the team to prioritize simplicity and core functionalities, leading to rapid user feedback and validation of their concept. - **Importance of Performance Monitoring:** Emphasized the need to monitor applications actively to identify and troubleshoot issues, illustrating with examples like using StillAlive for self-monitoring. - **Scaling Features and Learning from Mistakes:** Focused on enhancing critical components, especially the worker functionality responsible for monitoring sites, and managing false alarms to improve user trust. - **Database Optimization Techniques:** Shared details on using PostgreSQL for improved performance through effective indexing strategies, including concurrent indexing for large tables. - **Adoption of ZeroMQ for Queuing:** Transitioned from delayed jobs to ZeroMQ, highlighting its efficiency and scalability by allowing multiple workers to process tasks without heavy database connections. - **Continuous Deployment and Configuration Management:** Recommended automating deployment processes and maintaining standardized environments for production and staging, advocating for the use of tools like Chef. The conclusion reinforces that effective scaling combines user engagement, timely communication, and strategic decision-making to focus on essential features that support business growth. Mikel's insights encourage developers to learn from practical experiences and to continually optimize their systems for better performance.
Suggest modifications
Cancel