Talks
Speakers
Events
Topics
Sign in
Home
Talks
Speakers
Events
Topics
Leaderboard
Use
Analytics
Sign in
Suggest modification to this talk
Title
Description
This is the story of Ruby at Square. As Square grew, we invested heavily in a service oriented architecture (SOA) and mainly used Java as our language of choice for new service development. Recently we finished a project, named Minecart, to deeply tie Ruby applications into our Java service infrastructure. To accomplish this we had to dive into the bowels of JRuby. To date, Square is roughly around 50/50 Java services vs Ruby services and everyone enjoys the benefits of a standard ecosystem. I will share many of our learnings along with a couple of practical examples and pitfalls for integrating Ruby into a custom Java framework. Help us caption & translate this video! http://amara.org/v/FG7J/
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 presentation titled *Minecart - A Story of Ruby at a Growing Company*, Matt Wilson, an engineer at Square, discusses the integration of Ruby applications within the Java service infrastructure as Square transitioned towards a service-oriented architecture (SOA). The key themes and insights from the talk illustrate the versatility of JRuby and the techniques involved in achieving a seamless workflow between Ruby and Java environments. **Key Points Discussed:** - **Rise of JRuby:** Wilson begins by highlighting the advantages of JRuby, such as mature garbage collection and the capability to utilize Java libraries, emphasizing that it is a platform that can interpret Ruby applications effectively despite some challenges like slow startup times. - **Square's Transition to SOA:** The talk outlines Square's journey from monolithic applications to a more modular service-oriented approach, stressing the need for a common framework that facilitates collaboration among engineers without conflicting changes. - **Service Communication Challenges:** Wilson elaborates on overcoming the challenges of service communication, specifically the construction of a message bus and the nuances involved in implementing features across Ruby and Java, including maintaining code parity and dealing with race conditions. - **Integration with Major Projects:** The narrative recounts experiences from two major projects, Wallet and Starbucks, illustrating the learning curves around decision sequencing and effective communication between teams. The Starbucks project notably increased the number of services Square handled, signifying a clear expansion. - **Minecart Project Overview:** The central part of the presentation introduces the Minecart project, which was designed to provide a thin API layer that harmonizes Ruby development with the existing Java infrastructure, achieving interoperability while preserving best practices in Ruby. - **Infrastructure Management:** Wilson details the various components that make communication between services robust, including mutual SSL for security, protocol buffers for API definitions, and a custom protocol, Sake, which streamlines request management and improves error handling. - **Optimizing Development and Production:** The ultimate goal of Minecart is to create a cohesive environment where developers can focus on adding value without being encumbered by the complexities of intertwined services. **Conclusion and Takeaways:** - The presentation emphasizes the importance of optimizing a production environment for developers, ensuring they can communicate effectively and build applications that are compatible across technology stacks. By leveraging JRuby and planning appropriately, engineering teams can thrive in a multifaceted environment, as demonstrated by the success of Minecart and other projects at Square. - Wilson concludes with his belief in the scalability of the framework, allowing for effortless integration and development of new services, with the potential for anyone at Square to innovate seamlessly in the integrated system.
Suggest modifications
Cancel