Talks
Speakers
Events
Topics
Sign in
Home
Talks
Speakers
Events
Topics
Leaderboard
Use
Analytics
Sign in
Suggest modification to this talk
Title
Description
API Optimization Tale: Monitor, Fix and Deploy (on Friday) - Maciek Rząsa - rubyday 2021 I saw a green build on a Friday afternoon. I knew I need to push it to production before the weekend. My gut told me it was a trap. I had already stayed late to revert a broken deploy. I knew the risk. In the middle of a service extraction project, we decided to migrate from REST to GraphQL and optimize API usage. My deploy was a part of this radical change. Why was I deploying so late? How did we measure the migration effects? And why was I testing on production? I'll tell you a tale of small steps, monitoring, and old tricks in a new setting. Hope, despair, and broken production included. The ninth edition of the Italian Ruby conference, for the third time organised by GrUSP, took place online on April 7th 2021. Speaker and details on https://2021.rubyday.it/
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
This video, titled "API Optimization Tale: Monitor, Fix and Deploy", features Maciek Rzasa, who shares his experiences and lessons learned from a complex API optimization project undertaken at Toptal. The main theme centers around the challenges of API deployment and the importance of monitoring and optimizing the system effectively, especially when pushing changes to production environments. Key points discussed include: - **Initial Scenario**: Rzasa faced anxiety upon seeing a green build on a Friday afternoon and the decision to push it to production despite recent experiences of breaking production. - **Service Extraction**: Toptal's billing team initiated a project to extract billing code from a monolithic Rails application to create a service-based architecture while maintaining operational integrity. - **Incremental Approach**: The team used feature flags and fallback mechanisms to safely roll out the new features, evaluating the API’s functioning before full deployment. - **Transition to GraphQL**: Midway through the project, the team decided to switch from REST to GraphQL to enhance flexibility and performance, introducing further monitoring measures. - **Optimization Strategies**: They utilized various techniques including preloading, caching, and joining to tackle performance bottlenecks, especially in relation to excessive API requests. - **Challenges Encountered**: Missteps were acknowledged, such as implementing overly aggressive parameter sanitization that caused significant performance issues, showcasing the real risks involved with late Friday deployments. - **Post-Deployment Reflection**: Rzasa emphasized the lessons learned from mistakes, the importance of good monitoring practices, and how these experiences contribute to refining development processes. Concluding takeaways include the necessity for a safe deployment environment, rigorous testing, and an iterative approach to learning from failures. The talk highlights the evolution of the team's practices toward more effective and reliable API management, aiming to encourage other developers to embrace challenges and learn from their experiences with production environments.
Suggest modifications
Cancel