Tech Talks: Integrate HTTP Services like a Boss & Multi-tenancy in Rails Apps


Details
Get ready for round two! We've got two awesome talks this month:
Integrate HTTP Services like a Boss
Sam Moore, Betterment (https://www.betterment.com/)
Betterment builds best-in-class web applications using Ruby on Rails. We integrate with dozens of web services, some internal, some external. These integrations present some tough questions. How do we communicate with a service? How do we test apps with service integrations? How do we continue to build features locally at a blazingly fast pace? For us, the answers are clear. HTTP is the language of the internet and REST is the lingua franca of APIs, so that’s the only way we communicate between services. Tests must be fast, reliable, and free of external dependencies, so we test our applications out to their boundary contracts and no further. In order to maintain developer happiness (and sanity), we ensure that our local development environments are fully functional with or without any of our service integrations running locally or remotely. To make this easier, we built a gem called WebValve based on patterns for faking collaborator services developed by Thoughtbot. We’ll present WebValve - newly open sourced - how we use it and how to leverage it in your own app ecosystem.
Transforming into a multi-tenanted Rails application
Hanjie Ji & Nicholas Gordon, WeWork (http://wework.com)
The hyper-growth at WeWork has introduced a variety of business requirements, including a need to application-wide data segregation. In this talk we’ll share our experience with transforming a Rails+Postgres app to be multi-tenanted by leveraging Postgres schemas. By modifying ActiveRecord models to query on database views and custom middleware, we were able to leave the business logics intact. We’ll discuss the pros/cons of various approaches we considered, the unexpected challenges, and what we have learned along the way.
Dinner and refreshments will be served! We leave 15m in between talks, and 30m at the end, for people to hang out and get to know each other. Come meet like-minded engineers who are facing, or have faced, that challenges you're facing today!

Tech Talks: Integrate HTTP Services like a Boss & Multi-tenancy in Rails Apps