Talks
Speakers
Events
Topics
Sign in
Home
Talks
Speakers
Events
Topics
Leaderboard
Use
Analytics
Sign in
Suggest modification to this talk
Title
Description
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 titled "Rescuing Legacy Codebases with GraphQL and Rails" presented at Euruko 2017, Netto Farah shares a compelling nine-month success story of upgrading a legacy Rails application using GraphQL. The presentation emphasizes the importance of selecting the right architecture and technologies when revamping an existing codebase to improve maintainability and performance. **Key Points Discussed:** - **Introduction and Background:** - Netto expresses excitement to share his experience and acknowledges the diversity at the event. - **Legacy Codebase Challenges:** - The challenges faced with IFTTT's seasoned Rails 3 monolithic application, which had multiple API versions and was becoming increasingly difficult to deploy and test. - **Team Composition and Project Goals:** - Mention of the small team comprising backend and mobile developers under tight deadlines to rebuild a new product while managing existing features. - **Incremental Approach for Legacy Code Rescue:** - Rather than moving to a microservices architecture, Netto explains the strategy of creating a hybrid approach using a rich API through GraphQL, allowing them to serve specific client needs without fully splitting the codebase. - **GraphQL Introduction:** - GraphQL is described as a flexible API query language that allows defining and querying APIs effectively, reducing ambiguities associated with traditional APIs. - It helps improve maintainability due to its strong type system and built-in documentation. - **Implementation Impacts:** - Using GraphQL as an integration layer allowed the team to build new functionalities outside of the Rails app while maintaining the monolithic core. - Positive outcomes included a 60% reduction in database operations and enhanced performance, thanks to better handling of queries and integration approaches. - **Challenges with GraphQL:** - Issues like N+1 query problems were also discussed, with strategies to overcome these through better schema design and optimizations. - **Concluding Remarks:** - Netto encouraged the audience to explore GraphQL further and highlighted opportunities for joining his team. **Conclusions and Takeaways:** The session concluded with strong advocacy for GraphQL's use in modernizing legacy applications, emphasizing its role in improving performance while maintaining the integrity and function of existing monoliths. As developers consider future upgrades, factoring in a client-centered API design is crucial for successful project outcomes.
Suggest modifications
Cancel