Talks
Speakers
Events
Topics
Sign in
Home
Talks
Speakers
Events
Topics
Leaderboard
Use
Analytics
Sign in
Suggest modification to this talk
Title
Description
Even the simplest of Rails applications can eventually grow into a twisted mess of complexity. At some point you will need a background task, or a long-running service, or a scheduled job, or all of the above and more. All of these little bits of functionality added to an application ad hoc can keep you up at night with cold sweats and nightmares. But it doesn't have to be that way. In this presentation, we will examine a complex Rails application - complexity that is eventually common to most modern Rails apps: background tasks, scheduled jobs, WebSockets, long-running services, caching and more. We will look at the challenges inherent in these features for both development and deployment. Then we'll look to TorqueBox for simple solutions to these complex problems. You'll never have that long-runing service using the wrong Ruby code again; no more environment variable nightmares in your cron jobs. You can sleep better now. TorqueBox is a Ruby application server that is built on JRuby and JBoss AS7. It provides asynchronous messaging, scheduled jobs, long-running processes, caching, simple deployment, and much more. TorqueBox is designed to bring the power, scalability and stability of these time-tested JavaEE services to Ruby applications through a simple and expressive Ruby interface.
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
**Introduction** The video titled "Complex Made Simple: Sleep Better with TorqueBox" is a presentation by Lance Ball at Rails Conf 2012. It addresses the challenges of managing background tasks, scheduled jobs, WebSockets, long-running services, and caching in a complex Rails application. The solution presented is TorqueBox, a Ruby application server designed to simplify these complexities, enhancing the deployment and development experience for Ruby developers. **Key Points Discussed** - **Growing Complexity in Rails Apps:** - Rails applications often start simply but become complex as they scale. - Common complexities arise from needing background jobs (e.g., sending emails), scheduled tasks (e.g., monthly newsletters), and long-running processes (e.g., monitoring data feeds). - **Deployment Complexity:** - Developers often face a steep learning curve in managing different background workers, cron jobs, and deployment environments. - There’s a spectrum of deployment solutions ranging from rolling your own server setup to using a platform as a service like Heroku. TorqueBox positions itself as a middle-ground solution. - **Introduction to TorqueBox:** - Built on JRuby and JBoss AS7, TorqueBox centralizes server features into one manageable framework. - It facilitates background job management, caching, and scheduling without requiring extensive configuration. - **Case Study - ASAP Application:** - The talk includes a real-world case study involving ASAP, a nonprofit organization. - They initially deployed their Rails application on Heroku but sought a cost-effective, scalable solution by moving to a VPS with TorqueBox. - The conversion process included installing JRuby, configuring the application to accommodate TorqueBox’s features, and leveraging built-in capabilities like background jobs and caching. - **Benefits of TorqueBox:** - Simplified background job management using the `Always background` method to offload processing immediately. - Built-in caching that eliminates concerns over separate cache services like Memcached. - Handled scheduled jobs with minimal setup, ensuring background processes work seamlessly with the Rails application. - **Deployment and Production Environment:** - Setting up TorqueBox involves straightforward package installations and configuration for production environments. - It supports scaling through mod_cluster for load balancing and demonstrates high availability features through clustering. **Conclusions and Takeaways** The presentation concludes by emphasizing that TorqueBox significantly reduces the complexities associated with Rails applications. By integrating various functionalities seamlessly, it allows developers to focus more on application development rather than infrastructure management. For organizations working with complex Rails applications, leveraging TorqueBox can lead to simplified processes and better overall management, ultimately translating into improved productivity and efficiency.
Suggest modifications
Cancel