No IIS, é melhor hospedar vários aplicativos como sites independentes ou como diretórios virtuais no site padrão?

5

Antecedentes

Eu desenvolvi recentemente um aplicativo MVC para um cliente e eles gostariam de hospedá-lo, juntamente com alguns outros aplicativos no mesmo servidor.

Eu sou mais um desenvolvedor do que um administrador de servidor, mas meu instinto foi configurar um novo site no IIS com sua própria ligação de subdomínio.

O cliente, no entanto, gostaria de criar um diretório virtual no site padrão que aponta para o aplicativo. Então, por exemplo, você teria:

COMPANY.COM/APP1 e COMPANY.COM/APP2

Em vez de:

APP1.COMPANY.COM e APP2.COMPANY.COM

Isso fez funcionar; no entanto, entrou em conflito com URLs relativas na marcação HTTP padrão, um problema que foi rapidamente resolvido.

Pergunta

É melhor hospedar vários aplicativos da web no mesmo servidor que sites separados ou como diretórios virtuais no site padrão? Há alguma armadilha com a abordagem de diretório virtual?

Eu não estou julgando a abordagem de diretório virtual, é apenas uma novidade para mim e quero garantir que isso não cause problemas agora ou no futuro.

    
por Matt Cashatt 14.09.2012 / 19:11

2 respostas

4

Sempre tentei me ater a sites individuais para aplicativos. Você obtém muito mais controle sobre tudo e, se estiver executando o ASP.NET, não encontrará problemas em cascata do Web.config que sejam fáceis de atingir. Além disso, você tem um controle mais detalhado sobre os pools de aplicativos e, na verdade, é capaz de observar o desempenho de cada aplicativo individual. Isso é tudo preferência.

Independentemente disso, provavelmente a melhor resposta é que você aplique ligações no nível do site e NÃO no nível do aplicativo. Portanto, se cada aplicativo precisar de seu próprio URL ou SSL, em vez de não SSL, você realmente precisará procurar sites individuais.

Além disso, como você mencionou, você quase tem que programar com o mecanismo de implantação em mente. Como qualquer uso de URLs relativas, quebra muitas coisas.

Por fim: por que eles não querem usar subdomínios? Ele fornece separação RESTfulish agradável de recursos, se você me perguntar.

    
por 14.09.2012 / 20:43
1

Eu diria que isso depende ... Os aplicativos são muito semelhantes entre si, na medida em que você poderia se sentir à vontade para fazer uma única alteração no nível mais alto que ocorreria em cascata em cada diretório virtual que não afetaria a funcionalidade de qualquer aplicativo único? Se você tiver um site separado para cada aplicativo, precisará gerenciar separadamente as configurações de cada site (Certs, IPs, portas, etc.), o que pode ser uma dor de cabeça se houver muitos deles, mas eles são totalmente independentes. configuração não afetaria outro aplicativo. O trabalho real é feito pelo processo de trabalho / Pool de aplicativos. Assim, em qualquer configuração, você pode compartilhar o mesmo pool de aplicativos para vários aplicativos ou ter um separado para cada aplicativo.

  • Aplicativos em sites separados = controle muito mais granular sobre o aplicativo e como conecte-se com o custo de mais manutenção para cada site
  • Aplicações no mesmo site = mais fáceis de gerir se forem todas muito semelhantes, mas você pode encontrar problemas de configuração se os aplicativos tiverem requisitos conflitantes
por 14.09.2012 / 20:39