Talks
Speakers
Events
Topics
Sign in
Home
Talks
Speakers
Events
Topics
Leaderboard
Use
Analytics
Sign in
Suggest modification to this talk
Title
Description
Let's be blunt: Most web apps aren’t so computation-heavy and won't hit scaling issues. What if yours is the exception? Can Rails handle it? Cue Exhibit A: Cloudinary, which serves billions of image and video requests daily, including on-the-fly edits, QUICKLY, running on Rails since Day 1. Case closed? https://cloudinary.com/ Not so fast. Beyond the app itself, we needed creative solutions to ensure that, as traffic rises and falls at the speed of the internet, we handle the load gracefully, and no customer overwhelms the system. The real question isn't whether Rails is up to the challenge, but rather: Are you?
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 "The Trail to Scale Without Fail: Rails?" at RailsConf 2021, Ariel Caplan discusses the scalability of web applications using Ruby on Rails, specifically focusing on Cloudinary, which handles a staggering 15 billion media requests daily. The main theme revolves around whether Rails can effectively manage scaling concerns for highly demanding applications, especially when the majority of web apps do not experience serious scaling issues. Key points discussed include: - **User Experience Focus**: The importance of not getting lost in technical details but rather maintaining a focus on delivering a superb individual user experience, as scaling is fundamentally about reaching more users effectively. - **Impressive Scale Examples**: Cloudinary along with comparison to other major Rails apps like Shopify and GitHub, illustrating the heights of traffic these applications manage. - **Architecture Layers**: Caplan describes how Cloudinary divides its services into various layers—CDN, IO Layer, and CPU Layer—to manage requests efficiently, with the CDN handling the majority of traffic. - **Sharding Approach**: The talk elaborates on how sharding databases helps distribute workloads, thereby enhancing performance and making it easier to read and write. - **Geographical Location**: The presentation highlights the benefits of having data centers located closer to users in different regions, optimizing response times. - **Deduplication of Work**: Caplan explains the significance of not repeating transformative processes on the same assets, which is managed through a unique locking system called Lobster. - **Managing Spikes in Traffic**: Strategies such as rate limits and background processing handle sudden surges effectively, ensuring no single customer can overwhelm the system. - **Developer Experience**: Caplan discusses the challenges of recruiting Ruby developers in Israel and hints at Cloudinary's plan to gradually migrate certain components to polyglot microservices to attract more talent. In conclusion, while the challenges of scaling with Rails are acknowledged, the overall message is optimistic regarding its capabilities. The key takeaway is that Rails can be a robust foundation for building scalable applications if developers strategically implement readable and maintainable architectures that prioritize user experience alongside technical performance.
Suggest modifications
Cancel