Como construir a arquitetura de servidor para aplicações Java

Pessoal, Boa Tarde!

Em minha empresa estamos desenvolvendo uma nova arquitetura, por este motivo gostaria de um auxílio de vocês sobre como montar esta arquitetura. Inicialmente teremos ambientes de Desenvolvimento, Testes Integrados, Homologação e Produção.

Vamos ter apenas um servidor físico, gostaria de saber se é interessante instalar um servidor de aplicação para cada ambiente, juntamente com banco de dados, tendo em vista que a JDK e a JRE serão instalados apenas uma vez no servidor físico. Como funcionaria?

Obrigado desde já.

Abraços,
Jefferson Araujo.

Olá jsa.araujo, blz?

Vamos lá, a princípio como você disse que só terá um servidor físico, aconselho a vc trabalhar com Virtualização, e neste servidor físico você conseguirá instalar diversas Máquinas Virtuais - VM’s, tudo isso vai depender das configurações do seu server físico.

Não aconselho a você deixar no mesmo servidor instâncias de Bancos de Dados e de App Servers (JBoss/Tomcat/etc), pois se você tiver instabilidades, por exemplo, no DB pode afetar a performance do seu servidor de aplicações, e vice-versa…

Caso você consiga aumentar sua infra (quantidade de servidores) aconselho a você primeiro a separar os ambientes (Desenvolvimento / QA / Homologação e Produção) separando principalmente estes ambientes em VLANs, para evitar via rede o acesso indevido aos ambientes, e após essa separação de cada ambiente você pode colocar um servidor virtual por serviço, um para DB, outro para App Server, outros demais conforme a necessidade, isso em cada ambiente.

Espero que tenha sido claro.

[quote=joaosouza]Olá jsa.araujo, blz?

Vamos lá, a princípio como você disse que só terá um servidor físico, aconselho a vc trabalhar com Virtualização, e neste servidor físico você conseguirá instalar diversas Máquinas Virtuais - VM’s, tudo isso vai depender das configurações do seu server físico.

Não aconselho a você deixar no mesmo servidor instâncias de Bancos de Dados e de App Servers (JBoss/Tomcat/etc), pois se você tiver instabilidades, por exemplo, no DB pode afetar a performance do seu servidor de aplicações, e vice-versa…

Caso você consiga aumentar sua infra (quantidade de servidores) aconselho a você primeiro a separar os ambientes (Desenvolvimento / QA / Homologação e Produção) separando principalmente estes ambientes em VLANs, para evitar via rede o acesso indevido aos ambientes, e após essa separação de cada ambiente você pode colocar um servidor virtual por serviço, um para DB, outro para App Server, outros demais conforme a necessidade, isso em cada ambiente.

Espero que tenha sido claro.
[/quote]

joaosouza muito obrigado pelas informações, foram muito úteis! Entendi perfeitamente, na verdade, o que acabei fazendo é, virtualizar os ambientes (DEV/TI/TH/Produção) e dividir as coisas sim, separar os DBs dos App Servers em cada ambiente. Posteriormente, caso haja possibilidade de inclusão de um novo servidor, o intuito será colocar apenas a produção no mesmo, dificultando a questão de acessos impróprios.

Obrigado mais uma vez!

Abração!

Excelente,

Se precisar de mais alguma coisa posta aí…