Melhor desempenho?

Bom dia galera.

Tenho uma dúvida.

Estou construindo um CMS(Content Management System) e surgiu uma discussão se seria vantajoso criá-lo de forma separada, ou seja:

  • uma aplicação WEB onde o usuário faz todo o cadastramento de informação, conteudo, define tudo em relação ao site…isso num servidor
  • e uma outra aplicação, em outro servidor, onde só serão feitas as consultas necessárias nesse mesmo banco(num terceiro servidor) para exibição das informações(construção do site) e inserções casuais.

Considerando que será para varios clientes e será um 1 cliente/aplicação.

Essa arquitetura realmente fará alguma diferença? Ou desenvolvemos o CMS da forma padrão, ou seja, tudo numa única aplicação.

Vlws

Depende das suas intenções…

O seu sistema terá um grande fluxo de clientes/dados?


Escalando as camadas (Web/Business/EIS) em servidores diferentes, haverá um ganho em perfomance, escalabilidade e confiabilidade do sistema. Haverá um (ou mais) servidor dedicado para cada tarefa específica da aplicação. Isso pode ser útil futuramente, se a sua aplicação precisar crescer; utilizando esta abordagem, você poderá facilmente detectar e balancear a carga (aumentando servidores, por exemplo) no ponto exato... no local aonde realmente é necessário. Utilize este conceito se a sua aplicação poderá crescer (a demanda por recursos) no futuro. Isso vai facilitar a sua vida e garantirá uma infra-estrutura muito mais sólida e modular para "abrigar" o seu sistema. 


A resposta exata da pergunta: Se você tiver um pequeno fluxo de requisições e dados, talvez não faça diferença escalar servidores. Mas, se este fluxo aumentar, é altamente recomendável escalar os servidores, por que cada servidor terá uma tarefa específica e a executará com um melhor desempenho se for de forma separada... Aí sim, com certeza fará uma diferença enorme na performance. Portanto escolha: Se a sua aplicação tiver chance de crescer, faça a arquitetura dela com a escalabilidade de servidores desde o começo... se não, talvez não comepense o investimento em hardware (pra ter vários servidores) e rede. Decida.

Abraço,

Até,

Visite o Blog do Perereca: http://www.blogdoperereca.blogspot.com

[quote=rodrigo.ferreira]Depende das suas intenções…
A resposta exata da pergunta: Se você tiver um pequeno fluxo de requisições e dados, talvez não faça diferença escalar servidores. Mas, se este fluxo aumentar, é altamente recomendável escalar os servidores, por que cada servidor terá uma tarefa específica e a executará com um melhor desempenho se for de forma separada… Aí sim, com certeza fará uma diferença enorme na performance. Portanto escolha: Se a sua aplicação tiver chance de crescer, faça a arquitetura dela com a escalabilidade de servidores desde o começo… se não, talvez não comepense o investimento em hardware (pra ter vários servidores) e rede. Decida.
[/quote]

Como o desenhotorix disse, o sistema é um CMS, por essa razão, imagino que não dê pra saber o real fluxo de dados, pois cada cliente é um cliente.

Pra alguns imagino que seja uma boa solução, mas para outros isso pode ser:

  • Matar mosquito com bala de canhão
  • Cortar pudim com serrote
  • Pesca girino com dinamite
    Escolha um…

Agora, qual o real impacto que isso que eu falei pode ter, não sei dizer. Nunca vi um CMS com as estruturas separadas… Como dizem: “Sempre há uma primeira vez!”

Prá que complicar um sistema simples??

Um CMS tem muito mais leitura do que escrita de dados, então é melhor você pensar em uma boa arquitetura de cache, que já facilita muito.