Production_rails

screenshot of Production_rails

Best practices for running Rails in production

Overview

Running a Ruby on Rails application in production comes with its own set of challenges and best practices. In this guide, you'll discover essential strategies derived from real-world experiences, specifically from work done at Instacart. The focus is on optimizing security, monitoring, and performance to ensure that your Rails application runs smoothly and efficiently.

Through a curated selection of tools and libraries, this guide offers practical solutions to common issues that arise during deployment and maintenance. Whether you're a seasoned developer or just starting out, following these best practices can have a significant impact on your application's reliability and user experience.

Features

  • Security Best Practices: Learn how to safeguard sensitive data and ensure your code is secure against vulnerabilities.

  • Error Monitoring: Implement an error reporting service like Rollbar along with tools like Safely to efficiently manage and report exceptions.

  • Centralized Logging: Utilize a service like Mezmo alongside Lograge to streamline the logging process and capture crucial request data.

  • Auditing Libraries: Adopt libraries like Audited to maintain thorough audit logs of changes made within your application.

  • Optimized Web Requests: Employ strategies such as using compression and a CDN like Amazon CloudFront to enhance asset delivery and minimize load times.

  • Efficient Background Jobs: Leverage high-performance frameworks like Sidekiq, using features like ActiveJob::TrafficControl to manage job execution effectively.

  • Comprehensive Monitoring: Incorporate performance monitoring services such as New Relic or AppSignal to trace transactions and ensure application uptime.

  • Feature Management: Utilize feature flipper libraries like Rollout for toggling new features on and off, facilitating smooth updates and A/B testing.