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.