# Rails Architecture,big app or multiple small app

**URL:** <https://www.ruby-forum.com/t/rails-architecture-big-app-or-multiple-small-app/148316>\
**Category:** Rails\
**Created:** [September 11, 2008, 5:52pm UTC](https://www.ruby-forum.com/t/rails-architecture-big-app-or-multiple-small-app/148316 "2008-09-11T17:52:45Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![di3go](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/d/a9a28c/32.png) [@di3go](https://www.ruby-forum.com/u/di3go)\
**Post date:** [September 11, 2008, 5:52pm UTC](https://www.ruby-forum.com/t/rails-architecture-big-app-or-multiple-small-app/148316/1 "2008-09-11T17:52:45Z")

</div>

Hi guys 🙂

I have a question, i have a big program to code, its a issue tracking +  
time tracking + alot of others tracking that my client needs, the  
question:

- make a big rails application
- split the application into smaller applications with the same  
database
- split the application and the database

The client want to offer the full app (issue, time,…) and want to  
offer separated parts of the program too like the issue tracking, time  
tracking,…  
The data from modules are very integrated, ex, in a issue, i need know  
the time spent on it and know the files attached to it, 3 diff apps  
here.

ps: im coding in rails, but dont mean that i need do it in rails, can be  
other framework if would be more easy like merb, ramaze,…

Thanks 😉

---

<div class="post-metadata">

**Author:** ![di3go](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/d/a9a28c/32.png) [@di3go](https://www.ruby-forum.com/u/di3go)\
**Post date:** [September 11, 2008, 6:08pm UTC](https://www.ruby-forum.com/t/rails-architecture-big-app-or-multiple-small-app/148316/2 "2008-09-11T18:08:48Z")

</div>

On 11 Sep 2008, at 16:52, Diego B. wrote:

> database
> 
> - split the application and the database
> 
> The client want to offer the full app (issue, time,…) and want to  
> offer separated parts of the program too like the issue tracking, time  
> tracking,…  
> The data from modules are very integrated, ex, in a issue, i need know  
> the time spent on it and know the files attached to it, 3 diff apps  
> here.

Personally I prefer small applications with separate databases. Easier  
to maintain, easier to scale one part of the app without doing the  
same to others etc… Exactly how practical that is can depend on the  
degree of interapplication communication you need. Things like  
ActiveMessaging or just an internal API which the apps use to request  
data off each other can be useful

Fred

---

<div class="post-metadata">

**Author:** ![di3go](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/d/a9a28c/32.png) [@di3go](https://www.ruby-forum.com/u/di3go)\
**Post date:** [September 11, 2008, 11:14pm UTC](https://www.ruby-forum.com/t/rails-architecture-big-app-or-multiple-small-app/148316/3 "2008-09-11T23:14:57Z")

</div>

what is the difference of activeresource and this activemessaging? i  
dont know activemessaging…

have any pros comparing with activeresource?

thanks again 🙂

---

<div class="post-metadata">

**Author:** ![di3go](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/d/a9a28c/32.png) [@di3go](https://www.ruby-forum.com/u/di3go)\
**Post date:** [September 12, 2008, 2:12am UTC](https://www.ruby-forum.com/t/rails-architecture-big-app-or-multiple-small-app/148316/4 "2008-09-12T02:12:26Z")

</div>

On Fri, Sep 12, 2008 at 7:14 AM, Diego B.  
[removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> what is the difference of activeresource and this activemessaging? i  
> dont know activemessaging…  
> have any pros comparing with activeresource?

Unless you are insanely huge, one app will always be faster. This is  
because there is no translation to get the other resources.

Plus, if you do one big app for the customer, then integration between  
the parts is a snap, with a decent database (say Postgres) even if  
your app gets big you can partition tables and do all sorts of things  
to scale.

Multiple small apps increase your complexity, and if it is just you  
designing, then you probably want to go the one app route.

Mikel
