Talks
Speakers
Events
Topics
Sign in
Home
Talks
Speakers
Events
Topics
Leaderboard
Use
Analytics
Sign in
Suggest modification to this talk
Title
Description
Building applications in Ruby is fast and fun. Features fly, progress is quick and everyone's happy, until you have to deploy. While services like Heroku make deployment easier than it ever has been before, there's only so much they can do for you, and no-one is happy when customers can't use your application! This talk will go over steps developers can take to protect against common production errors as well as more advanced techniques to keep your application running smoothly over the long term. Help us caption & translate this video! http://amara.org/v/FGcW/
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 MountainWest RubyConf 2013, Jason Roelofs discusses best practices in application development to ensure operational efficiency and resilience during production deployment. His presentation revolves around the practices developers can adopt to minimize production errors and maintain smooth application performance. Key points discussed include: - **The Importance of Documentation**: Roelofs emphasizes that proper documentation is crucial for understanding what the application does, its resource needs, and how to run it on different machines. This should come in various forms, like README files and executable documentation. - **Frequent Deployments**: He advocates for deploying code as frequently as possible, ideally several times a day, maintaining code in a deployable state through tools like Capistrano and Heroku. - **Configurable Applications**: The speaker stresses that applications should avoid hard-coding configurations and instead utilize environment variables or configuration files, allowing seamless transitions between development and production environments. - **Thread Safety**: While thread safety has not been a major concern traditionally in Ruby, as the language evolves, developers are encouraged to avoid sharing mutable states between requests to maintain stability. - **Security Best Practices**: Roelofs underlines the necessity of robust security measures, including protection against attribute injection, using secure password hashing (e.g., bcrypt), and cautious serialization practices to avoid remote code execution risks. He mentions middleware tools like Rack Protection and rate-limiting mechanisms like Rack Attack as essential for fortifying applications against automated attacks. - **Storage Solutions**: Utilizing reliable cloud storage solutions like Amazon S3 is recommended over local file storage to enhance security and scalability. - **Monitoring and Alerts**: Roelofs concludes by advocating for the use of monitoring tools like New Relic and alert systems like Dead Man's Snitch to efficiently track application performance and catch discrepancies early. The overarching message from Roelofs is that by implementing thoughtful documentation, frequent deployments, securing applications, and utilizing monitoring tools, developers can vastly improve operational readiness and efficiency, ultimately keeping both the operations team and customers satisfied with application performance.
Suggest modifications
Cancel