•  

Promiscuous: A robust service-oriented architecture framework

A session at RubyConf 2013

  • Nicolas Viennot

Sunday 10th November, 2013

2:45pm to 3:30pm (EST)

For anyone who has built an application that’s larger than what a small team can build in a few months, the euphoria of working with frameworks like Rails or Sinatra is quickly lost to the pain of a sprawling disorganized code base, slow tests, and long ramp up time for new developers. Extracting Service Objects or abandoning MVC for something like MOVE only complicates the code base and fails to make things simpler. Moving to Javascript MVC helps extract a lot of view logic but you’re still left with a monolithic backend. The solution we propose is to split up your monolithic app into many smaller, easy to maintain, applications.

Splitting applications is challenging for numerous reasons. One of the biggest challenge is to keep all the applications’ data in sync. We introduce Promiscuous[1], an open source replication framework that facilitates data replication across applications in a safe and consistent manner. Unlike traditional approaches such as Stripe’s MoSQL[2] and LinkedIn’s Databus[3], which operate at the database level, Promiscuous transparently instruments the ActiveModel interface to replicate model operations by using Redis and RabbitMQ. This makes it a great solution for separation of concerns, heterogeneous database replication, and asynchronous triggers in the datacenter.

We’ll dive into the mechanics of Promiscuous and how we used it to split our monolithic application into eight small, single purpose applications. We will also show our findings in scalability, deployment, migration, unit/integration testing, and general architecture best practices laced with real world examples.

References
[1] Promiscuous: http://github.com/crowdtap/promi...
[2] MoSQL: https://github.com/stripe/mosql
[3] Databus: https://github.com/linkedin/databus

About the speakers

This person is speaking at this event.
Nicolas Viennot
This person is speaking at this event.
Kareem Kouddous

NYC techie. Head of Technology at Crowdtap. Co-founder of the NYC Lean Startup Meetup. Creator. Dabbler. Finally a proud Egyptian. bio from Twitter

Sign in to add slides, notes or videos to this session

Tell your friends!

When

Time 2:45pm3:30pm EST

Date Sun 10th November 2013

Short URL

lanyrd.com/scrthg

Official event site

rubyconf.org

View the schedule

Share

See something wrong?

Report an issue with this session