Talks
Speakers
Events
Topics
Sign in
Home
Talks
Speakers
Events
Topics
Leaderboard
Use
Analytics
Sign in
Suggest modification to this talk
Title
Description
By Mando Escamilla Once you've properly structured your Rails app, you'll begin to find logical seams in your domain logic. These seams can be the perfect opportunity to extract a software component into a stand-alone service. Using a live-in-production example, we'll walk through how we build and integrate services at Union Metrics. We'll go over some tips and patterns we've discovered as well as about some of the pitfalls and things to avoid when building and deploying stand-alone services. Help us caption & translate this video! http://amara.org/v/FG3u/
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 video, Mando Escamilla discusses how to architect and build standalone services within a software system, using his experience at Union Metrics as a foundation. The focus is on implementing a service-oriented architecture (SOA) and leveraging micro philosophies in software development to enhance system modularity and reusability. Key points discussed include: - **Identifying Service Candidates**: Look for reusable data or functions crucial for multiple application areas. Services beneficial to gather data or perform actions are ideal for extraction from monolithic architectures. - **Writing a Specification**: Developing a detailed service specification is essential. Mando emphasizes the importance of creating clear specifications early in the process to guide development and integration efforts. - **Example of the 'Spectator' Service**: Mando provides a practical example of building a service called Spectator, which gathers social media data. This example outlines the critical specifications, error handling strategies, and client-server interaction necessary for functional service development. - **Client Development**: The approach of writing the client first is highlighted for establishing necessary error handling measures before the completion of the service functionality. This also ensures that if the service goes down, user experience is minimally affected. - **Configuration and Unified Client Access**: A unified access pattern using a configuration file is discussed to maintain consistency across HTTP clients and simplify the communication process. - **Testing Practices**: While formal test-driven development was not strictly followed, Mando explains how employing mock tools facilitated testing and understanding service behavior without relying on live services. - **Integration Efforts**: Integration between the service and client is crucial and often requires significant effort to ensure seamless communication without disruption to existing functionalities. - **Operational Overhead**: Mando addresses the burden new services can place on operations teams, calling for a balanced growth approach to include both development and operational capabilities. - **Rewards of SOA**: Advantages of adopting a service-oriented structure include simplified deployments and improved developer satisfaction through independent component development and enhanced team agility. In conclusion, while the transition to a service-oriented architecture can yield significant benefits, developers must remain cognizant of potential risks, such as operational complexities and context maintenance. Mando encourages audience engagement in discussions around service design and analytics, highlighting the dynamic nature of these frameworks in the tech landscape.
Suggest modifications
Cancel