Talks
Speakers
Events
Topics
Sign in
Home
Talks
Speakers
Events
Topics
Leaderboard
Use
Analytics
Sign in
Suggest modification to this talk
Title
Description
"Stack Smashing" refers to an internal project where I took our production Rails application environment down from over 100 virtual machines to 2 physical machines. Our application environment for Major League Gaming consists of 13+ inter-connected applications with millions of users to provide functionality such as single-sign on, online video (both video on demand and UGC), news and live competition information, photo galleries, profiles, and much more. We simply needed a simpler infrastructure in which to develop and deploy our applications. In this talk, we will cover the following: Network topology before and after, as well as the makeup of our virtual and physical machines. Detailed discussion of Chef recipes, NGINX, HAProxy configurations and updates to standard configurations. Application and service monitoring and configuration. Application migration from the old stack to the new stack. Rails 3 to Rails 3.1 upgrade insights. Unicorns! Strategies for service configuration to handle failure. Offline processing with queueing and queue management. Simplifying, standardizing and sexy-fying your Capistrano-based deployment tasks into a reusable gem. Behavior driven infrastructure monitoring and validation. Adopting an opt-in continuous deployment strategy that is integrated with our continuous integration environment. This will be a very code and example-focused talk. Come and learn about the ways that you can simplify your existing infrastructure. Help us caption & translate this video! http://amara.org/v/FGkX/
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 video *Stack Smashing*, David Czarnecki discusses an internal project that transformed a complex application environment for Major League Gaming from over 100 virtual machines down to just 2 physical machines. This consolidation was motivated by the need for a simpler infrastructure to support their 13 inter-connected applications, which serve millions of users with functionalities like single-sign-on, live competition information, and online video streaming. Czarnecki provides insights into various technical aspects of this process, detailing the steps taken and lessons learned during the migration and upgrade of their application stack. Key points discussed include: - **Network Topology Changes:** A detailed comparison of the network infrastructure before and after the migration, highlighting the interrelationships among applications and databases. - **Server Provisioning and Management:** The use of Chef recipes for server management, emphasizing the importance of automation instead of manual installations. Czarnecki discusses the migration of applications, starting from internal systems to public-facing applications, which allowed them to encounter and solve issues progressively. - **Rails Upgrades:** The upgrade from Rails 3 to 3.1, focusing on the benefits of the new asset pipeline as well as switching from Thin to Unicorn servers, which improved application performance. - **Service Configuration:** Strategies for preventing service failures were shared, including using DNS aliases to avoid redeploying applications when changing database servers. - **Deployment Automation:** Czarnecki explains how they improved their deployment tasks using Capistrano, creating reusable gems for consistency across applications. - **Monitoring and Continuous Deployment:** The necessity of visual monitoring tools for historical data analysis, along with insights into their continuous integration and deployment processes. Throughout the talk, several technical examples illustrate how to simplify and optimize infrastructure. Czarnecki concludes with several important takeaways: - Simplifying infrastructure is crucial for manageability and efficiency. - Understanding the roles of all servers in your system is essential for effective operations. - Employing continuous integration and deployment practices can significantly reduce deployment headaches. - Treating infrastructure management with the same rigor as application development ensures higher reliability and performance. These strategies are not only applicable to gaming environments but can benefit any organization dealing with complex infrastructures.
Suggest modifications
Cancel