Como mover o aplicativo do Windows para uma máquina Linux?

2

Eu tenho um aplicativo .NET em execução no servidor Windows dedicado. Não precisa de muitos recursos e o servidor nos custa muito dinheiro. Então decidimos mudar este aplicativo para o nosso servidor Linux principal.

Eu sei que existem muitas maneiras de executar programas do Windows no Linux - vinho, mono, muitas técnicas de virtualização como o Xen e o Virtual Box. Eu quero saber qual deles é o mais adequado para a situação, quando eu preciso executar um aplicativo do windows leve em uma caixa linux, que já possui seu próprio material.

    
por lexsys 02.07.2009 / 09:48

4 respostas

1

Bem, o Mono é provavelmente a opção mais leve, com a melhor integração do sistema. Também tem o maior risco de problemas de compatibilidade.

Meu conselho:

Experimente o Mono primeiro. Se você não conseguir fazê-lo funcionar, provavelmente precisará usar a virtualização. Eu já ouvi coisas boas sobre o Xen, mas outras também são boas. Provavelmente faz sentido tentar uma solução de virtualização que você já está usando, se houver uma.

    
por 02.07.2009 / 10:14
2

Para aplicações de servidor, o vinho não seria uma boa escolha.

O Mono provavelmente seria a melhor opção se o aplicativo puder operar atualmente com o subconjunto da estrutura .Net que o mono atualmente fornece. Se o aplicativo não for seu, isso não será um bom caminho, pois é improvável que você receba suporte do seu fornecedor, a menos que ele ofereça suporte oficial para o mono. Seria uma opção mais leve que a virtualização.

A minha reação aqui é usar uma solução de VM, apesar dos recursos extras do sistema que isso possa precisar. VMWare tem uma ferramenta para migrar máquinas Windows físicas para VMs que eu usei com sucesso no passado (o único problema que tivemos foi o tempo que demorou para migrar uma máquina grande e ter que reativar o Windows depois), então isso pode ser sua caminho de menor resistência.

    
por 02.07.2009 / 10:15
1

A melhor maneira de atacá-lo provavelmente seria por dedução, então aqui estão os passos Mono que eu tomaria:

Eu tive algum sucesso (e alguma falha) usando o Mono.

Como ponto de partida, o Mono tem MoMA :

The Mono Migration Analyzer (MoMA) tool helps you identify issues you may have when porting your .Net application to Mono. It helps pinpoint platform specific calls (P/Invoke) and areas that are not yet supported by the Mono project.

No mínimo, isso dirá que não funcionará no Mono sem alterações. Se você tiver acesso ao código-fonte, poderá conseguir alterá-lo para que funcione, embora isso resulte em uma penalidade maior nos testes.

    
por 02.07.2009 / 10:05
0

Se você não pode usar mono, você deve usar a virtualização.

Estou usando xen desde 3 anos - funciona muito bem.

Mas o kvm com libvirt e virt-manager é tão fácil de instalar - experimente.

    
por 02.07.2009 / 10:18