Talks
Speakers
Events
Topics
Sign in
Home
Talks
Speakers
Events
Topics
Leaderboard
Use
Analytics
Sign in
Suggest modification to this talk
Title
Description
By, Akira Matsuda Help us caption & translate this video! http://amara.org/v/GTpm/
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 this talk at Ruby on Ales 2015, Akira Matsuda discusses the impressive architecture and scaling techniques used in the development of Cookpad, a cooking recipe-sharing platform that handles a massive user load while maintaining high performance. He emphasizes the application’s large scale, featuring: - **Application Size and User Base**: The Cookpad application consists of 1,700 models, 400,000 lines of code, and depends on 273 external libraries, attracting 50 million unique users monthly. This high user volume necessitates 300 Rails application servers. - **Scaling Strategy**: Akira presents their unique scaling approach, 'Cookpad on Scale', which involves spinning up disposable Linux images to handle traffic dynamically, ensuring response times of under 200 milliseconds. - **Deployment Tools**: The team created a custom deployment tool, Mamiya, that drastically reduces deployment time compared to traditional tools like Capistrano. - **Database Management**: With over 1,000 tables, they developed the SwitchPoint gem to efficiently manage connections and implement master-slave switching for parallel processing. - **Testing Framework**: Managing 20,000 RSpec examples, they improved testing efficiency by developing a parallel testing system that completes tests significantly faster. - **Prototyping and Legacy Management**: To navigate development conflicts among 50 developers, they utilize a framework called Chenko, and they consistently upgrade to newer Rails versions while maintaining functionality across versions using shadow proxy servers. Akira’s talk reinforces the idea that large applications can scale effectively using innovative strategies. Contrary to the trend of microservices, he argues that maintaining a healthy monolithic application like Cookpad is a viable approach, fostering community engagement and contribution to the Ruby and Rails ecosystem. His concluding message underlines the importance of understanding application needs before considering a transition to microservices.
Suggest modifications
Cancel