Talks
Speakers
Events
Topics
Sign in
Home
Talks
Speakers
Events
Topics
Leaderboard
Use
Analytics
Sign in
Suggest modification to this talk
Title
Description
You've probably heard it over and over that extracting services from Rails monoliths is tricky business. But we're here to assure you—it's even trickier when you've got 40+ million active global customers and development teams distributed across the world. So to help illustrate the work that goes into that process, two Groupon engineers are here to talk about the lessons they've learned along the way. Help us caption & translate this video! http://amara.org/v/FGZM/
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
The video titled "Service Extraction at Groupon Scale" features Groupon engineers Jason Sisk and Abhishek Pillai discussing the challenges and strategies involved in transitioning from a Ruby on Rails monolithic architecture to a service-oriented architecture (SOA) at scale. The presentation highlights the significant challenges faced by Groupon due to rapid growth and high traffic, particularly when their systems encountered performance issues that led to outages. Key points from the presentation include: - **Transitioning from Monolith to SOA**: Groupon initially utilized a monolithic Rails application, affectionately dubbed the 'cobra,' which became difficult to manage as the business grew and the codebase expanded to nearly 2 million lines. - **Identifying Pain Points**: The engineers discuss the performance degradation experienced during high traffic, reflecting on lessons learned from early scaling pains and how they contributed to the decision to explore service extraction. - **Service Extraction Process**: Groupon utilized a methodical approach to separate components by creating new services, starting with the order service, to alleviate database contention issues. - **Service Wall Tool**: To simplify the extraction process, they developed a 'service wall' that helped maintain separation of concerns, allowing teams to manage dependencies without directly coupling their services. - **Greenfield Approach**: The presentation also covers building new services from scratch (greenfield services) that connect to legacy systems via a message bus, providing a modern approach to handle critical interactions. - **Manager Accessor Pattern**: This pattern allowed them to manage data from various sources and hide complexity behind a simple interface in the codebase, further supporting the scalability of their services. - **Strategic Planning for Service Extraction**: Sisk and Pillai emphasize the necessity of having a clear strategy for breaking down monoliths, including understanding domain boundaries, preparing for unexpected challenges, and maintaining good coding practices. They stress the importance of effective communication between teams. In conclusion, the speakers remind the audience that while rail systems can be advantageous for rapid development, they can become burdensome without appropriate planning and strategy for splitting services. They encourage developers to share knowledge and solutions to common issues faced during this transition. The overarching message revolves around the importance of being prepared for changes and challenges when evolving from a monolithic architecture to a distributed system of services.
Suggest modifications
Cancel