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 at Ruby Unconf 2018, Darius Murawski discusses the challenges and solutions related to seeding data within a microservice architecture. The presentation begins by sharing Darius's background as a developer at Velocity, a search engine company, outlining his experiences transitioning from a monolithic application to a microservices model. **Key Points Discussed:** - **Initial Architecture:** The talk begins with an explanation of the initial monolithic structure, which included systems like the SAP system and a core application. Darius explains how data seeding was done using large JSON files, a process that was both time-consuming and error-prone due to issues like corrupt files. - **Transition to Microservices:** As the company moved toward a microservices architecture, they pulled search logic from the old system into a dedicated Search app. This created a need for efficient data seeding since the new app lacked initial data. - **Cumbersome Processes:** Developers had to manually trigger seeding from the old application, complicating onboarding for new team members and leading to inconsistent data seeding across the different applications that were developed. - **Global Seeding Process:** Given the growing complexity (with 13 applications), the need for a global seeding approach emerged to maintain data integrity and simplify the process for developers. This needed to ensure that associations among data types were maintained and made seeding straightforward. - **Development of 'vl-seeds':** To address these challenges, Darius and his team developed an internal gem known as 'vl-seeds.' This gem utilizes Virtus for a clean interface to manage data attributes and their associations, fostering a better structure when seeding data. - **JSON File Generation:** A further innovation included a client that generates a comprehensive JSON file of seed data from their CI server. This data could then map efficiently to the application structure, reducing the manual overhead previously required. - **Flexibility and Mapping:** The talk highlights the flexibility of the solution where different applications can structure the same underlying data differently, allowing seamless integration. **Conclusions and Takeaways:** Darius concludes the presentation by emphasizing how they navigated through the hurdles of building a complex microservice architecture, ultimately creating a comprehensive and effective seeding process. He invites questions from the audience to clarify any further points. Overall, the talk reflects on the importance of evolving tools and methods to manage data effectively in a microservices environment.
Suggest modifications
Cancel