How We Built Airbnb Holiday Cards in Five Days
nerds.airbnb.com
How We Built Airbnb Holiday Cards in Five Days
1–10 of 15 posts
Re: How We Built Airbnb Holiday Cards in Five Days
#2Extricate focused concerns (like authentication or service discovery) so they can be well-tested, well-designed, and reused in new services.
Re: How We Built Airbnb Holiday Cards in Five Days
#3Re: How We Built Airbnb Holiday Cards in Five Days
#4It is actually pretty neat because the same login session can still be used within multiple engines. You can also release them as gems too.
I used to work on an enterprise app which we created the whole chat system with Rails engine. Then, we release the engine as a gem so that it can be used on the main app. I think it works quite well for us so far.
more info: http://stackoverflow.com/questions/6118905/rails-3-1-engine-...
Re: How We Built Airbnb Holiday Cards in Five Days
#5Was the implication that it's a layer on top of ZooKeeper or something completely different?
Re: How We Built Airbnb Holiday Cards in Five Days
#6Have you tried using Rails engine for this or different components of your app? It is actually pretty neat because the same login session can still be used within multiple engines. You can also release them as gems too. I used to work on an enterprise app which we created the whole chat system with Rails engine. Then, we release the engine as a gem so that it can be used on the main app. I think it works quite well f…
I've been using the same pattern. It works ok, but still feels clunky. ∞ bundle update. dev mode reloading for certain classes can be a major pain as well.
Re: How We Built Airbnb Holiday Cards in Five Days
#7I'd love to know more about the service discovery system and whether it's going to be open-sourced. Was the implication that it's a layer on top of ZooKeeper or something completely different?
Our service discovery system is indeed a layer that sits between ZooKeeper and the application. But it's also pluggable -- that means that you don't have to use ZooKeeper as the system that tracks which service nodes are available; you can use something else, and write a plugin for our service discovery system that will talk to that instead. So it's not necessarily a layer on top of ZooKeeper, although we certainly use it that way.
I don't want to say too much about the technical details yet since we're still rolling it out in production and may change some pieces before it's released. Also, I'm not one of the primary authors and don't want to steal their thunder. ;) But yes, we do plan to open source it once the code is fairly stable (and once we have some time to jump through all the usual hoops of open sourcing code), and then we'll do a detailed post about how it all works. It's really cool and stunningly simple.
Re: How We Built Airbnb Holiday Cards in Five Days
#8What else is there out there apart from ZooKeeper?
Re: How We Built Airbnb Holiday Cards in Five Days
#9TL;DR: Monolithic applications (in any technical stack, not just Rails) are bad. See also: http://en.wikipedia.org/wiki/Big_ball_of_mud Extricate focused concerns (like authentication or service discovery) so they can be well-tested, well-designed, and reused in new services.
Re: How We Built Airbnb Holiday Cards in Five Days
#10Have you tried using Rails engine for this or different components of your app? It is actually pretty neat because the same login session can still be used within multiple engines. You can also release them as gems too. I used to work on an enterprise app which we created the whole chat system with Rails engine. Then, we release the engine as a gem so that it can be used on the main app. I think it works quite well f…