Implementing a Service Oriented Design with Ruby can lower maintenance costs by increasing isolation, scalability and code reuse. That's the theory, anyway. It's true, but in practice there are lots of nitty gritty details of rolling out a service oriented design that can reduce the expected benefits -- or even leave you worse off than you started.
This talk will shed light on what it takes to successfully leverage a service oriented architecture. Emphasis will be on less discussed considerations like testing strategies, dependency and release management, operations and developer tools rather than the happy path of how to implement and consume services. Examples will be provided from our experience building tool to analyze home energy use in order to help people save on their power bills.
In the end, you'll walk away with a deeper understanding of how to weigh the pros and cons of introducing services into your architecture, and you'll have learned some techniques to make the transition smoother if you decide it's right for you.