ruby on rails - Architecture for RoR SaaS application -


i have done decent amount of base ror work, haven't faced concerning scaling , running multiple applications.

i in process of building application client hope market other users in similar industries, struggling high level architecture. seems unnecessary run separate instance of application each client, don't know how load different configurations/layouts/features various users. don't expect each individual application have extremely high traffic seems waste each have unique instance/database. yet, each instance require own css potentially different configuration of available functionality.

is can done using subdomains? can load different configurations based on this? have insight how 37 signals applications manage different configurations based on account?

when making same decision our application, considered several things...

first , foremost, considered complexity. when start adding multiple customers same database, need consider how going segment data. if you've written app 1 customer, haven't had worry much. in many cases, these issues rooted in core data model, lead lot of refactoring (if not total rewrite).

additionally, never escape complexity. in business facing application, exposing 1 customer's data customer can deadly. you'll need add code , lot of testing protect this.

second, considered cost. when considered run multiple customers in own rails instances on same amazon ec2 instance own amazon rds databases within same rds instance, cost became attractive. since have business facing app , won't have more 200 customers anytime soon, we're talking few thousand dollars in hosting costs on 3-5 year period.

when compared cost vs. complexity, concluded keeping in own instances worth theoretical scaling issues.

the downside approach have make sure able keep maintaining, monitoring, , upgrading multiple instances. simple scripts , tools chef can go long way here.


Comments

Popular posts from this blog

c# - How to set Z index when using WPF DrawingContext? -

razor - Is this a bug in WebMatrix PageData? -

visual c++ - Using relative values in array sorting ( asm ) -