JavaFree.org | RubyOnBr.org

Aplicativo RoR - SaaS

Acompanhar Aplicativo RoR - SaaS 7 posts, 4 participantes

Avatar Eric Alves 21 posts

Bom dia,

Estou desenvolvendo um sistema simples mas bem util, para controle financeiro. Ele está quase pronto, pretendo oferece-lo através de SaaS, o cliente irá pagar o pelo tempo que irá utilizar.

Dúvida:

- Qual a melhor forma de fazer isso? Utilizar o mesmo banco para todos os clientes existentes? Acho que ficaria pesado, forme os clientes forem aumentando e os registros também.

Pensei na idéia de cada cliente ter seu próprio banco, só que não sei como fazer isso, como configurar o banco de dados quando o cara logar no site.

Existe algum exemplo de como fazer isso?

P.S.: Se não deu para perceber, sou novato no Ruby e no RoR, meu primeiro Post aqui no Forum, pretendo aparecer mais por aqui. Valeu e abraços para todos da comunidade.

 
Cad10cd22abe80cca76b7579af2906e8 Ronaldo Possan 974 posts

Acho mais fácil seu servidor se limitar em ter um banco para cada cliante do que colocar tudo num banco só.
A idéia é trabalhar com arquitetura distribuida.

Hoje em dia temos banco de dados e soluções que escalam infinitamente, sem contar que não há limite em hardware (TEORICAMENTE).

Então, o que sugiro a você, é dar uma estudada em: memcached, Banco de dados NOSQL (CouchDB ou MongoDB) e projetar uma boa arquitetura para o seu sistema, pensando já no modo de trabalhar de forma ditribuida, por ex: Um servidor responde a X, Y e Z serviços … um outro servidor irá processar os relatórios da aplicação. Etc … E no final, vc teria apenas um servidor central que seria o frontend da asua aplicação que ficaria consumindo serviços de outras sub-aplicações (servidores).

Espero ter ajudado.

Abraço
\^/

 
Avatar Mereghost 1476 posts

Eric:

O problema de acesso ao banco pode ser minimizado pelo uso de replicação master/slave (slaves lêem e master escreve). Agora eu já fico com o pé atrás em já colocar um sistema, que não sei qual será o futuro, já com sharding etc.

IMO é um dos famosos casos de otimização prematura. Mas que é bom tu acompanhar os assuntos que o Ronaldo postou aí em cima é. E uma boa suite de testes com boa cobertura para quando tu tiver que mudar poder fazer isso da maneira mais indolor o possível.

 
Avatar Eric Alves 21 posts

Beleza pessoal, eu estava um pouco perdido, não sabia nem pelo que procurar, vou pesquisar e estudar os tópicos que o Ronaldo disse.

Mto obrigado. Abraços.

 
Cad10cd22abe80cca76b7579af2906e8 Ronaldo Possan 974 posts

Fui bem abstrato. Pega cada um do que sugeri e começa a dar uma estudada / implementar.
Ai se tiver dúvidas, posta ai que seremos mais específicos na ajuda, mas acho que o caminho é esse mesmo.

Sucesso
\^/

 
Maironbrasil#pic-0 Mairon Brasil 823 posts

pensando já no modo de trabalhar de forma ditribuida, por ex: Um servidor responde a X, Y e Z serviços … um outro servidor irá processar os relatórios da aplicação. Etc … E no final, vc teria apenas um servidor central que seria o frontend da asua aplicação que ficaria consumindo serviços de outras sub-aplicações (servidores).

cara ouvi muito sobre isso e sei que o oracle trabalha massa assim
mas para o posgresql vejo tb bastante coisa assim e a minha ideia eh realmente dar uma tunado no meu pg dividindo ele somente com o essencial
massa

 
Avatar Eric Alves 21 posts

nem esquenta Ronaldo, era isso mesmo q eu estava imaginando, precisava só saber por onde começar hehehhehe.

qnto ao PG, na minha opnião é o melhor banco free, uso ele para programar desktop e estou seguindo usando ele em ror.

Isso ae pessoal.