Como distribuir uma máquina virtual para permitir que os usuários experimentem um programa com dependência pesada?

3

Eu escrevi um software acadêmico que tem muitas dependências de softwares de terceiros (e requer um RDBMS). Eu gostaria de criar uma imagem de máquina virtual Linux pré-carregada com todas as dependências necessárias e contas de usuário configuradas, para que meus usuários possam baixar e testar meu software sem ter que instalar todas as dependências.

Qual é a melhor maneira de fazer isso e qual formato de arquivo de máquina virtual devo usar?

    
por mojones 29.10.2010 / 16:05

4 respostas

3
Pessoalmente, eu ofereço nos formatos Virtualbox e VMWare, já que o Virtualbox é gratuito e o player da VMWare é gratuito e bem suportado e popular.

O que você quer dizer com a melhor maneira de fazer isso? Se você quer oferecer aos usuários, você sempre pode criar um CD / DVD e oferecê-lo gratuitamente pelo correio e / ou oferecê-lo através de um CDN ou site pessoal; você não menciona quais recursos você tem disponível para você. Você tem um website? Isso é parte de um negócio? É um passatempo colateral?

Qual será o tamanho das imagens resultantes? Eles reduzem tudo?

É provável que seja um download popular que pode sobrecarregar seu site ou tributar quaisquer limites de transferência que você tenha com seu provedor?

Dependendo de quão experiente é seu público-alvo, você também pode oferecê-lo via bittorrent para ajudar a aliviar a pressão sobre sua rede (ou se você pode fazer acordos com outros sites para distribuir para eles como sites iniciais). Você pode até ter as imagens hospedadas fora do site para empresas especializadas em hospedar arquivos grandes, para que você não precise se preocupar com a entrega de conteúdo de arquivos grandes.

Isso se resume a uma questão de quais recursos você está disponível para você e como os usuários finais vão ser experientes em relação a como elaborar os requisitos que você imporá ao usuário final apenas para testar seu produto. Alguns podem não gostar de ter que baixar produtos separados para testar sua VM. Outros sysadmins provavelmente já possuem VMWare ou VMWare player ou Virtualbox instalado.

    
por 29.10.2010 / 16:14
4

Provavelmente, você deve estar interessado em OVF , que é o candidato mais provável a se tornar um padrão do setor para dispositivos virtuais . É predominantemente suportado pelo VMware e pelo VirtualBox, que são as duas plataformas que você provavelmente deseja segmentar; O Xen é suportado no XenServer e o KVM é suportado no RHEV, com suporte nativo para ambos os produtos de hypervisor subjacentes ainda disponíveis.

    
por 29.10.2010 / 17:00
1

Você está ciente de que seus usuários têm acesso a um hipervisor específico ou a outro? isso ajudaria muito.

Um método, longe de ser gratuito, seria usar o sistema ThinApp do VMWare para empacotar uma VM e empacotá-la com um hypervisor leve em um único arquivo .exe - é de muito baixo impacto para os usuários, mas custa.

    
por 29.10.2010 / 16:12
0

Eu prefiro evitar qualquer uso de uma imagem virtual completamente para esse propósito. Considere o uso de Puppet sem usar as funções de mestre / agente. (ou Chef , ou qualquer outra alternativa) Você enviará as especificações necessárias em um único arquivo.

A única coisa que você precisará fornecer é suas classes Puppet e um exemplo de definição de nó. Em seguida, diga ao usuário para instalar o agente Puppet em um dos sistemas operacionais suportados e execute

puppet apply myapplication.pp

Vantagens:

  • Você envia apenas um arquivo de texto contendo a especificação do que está sendo instalado. (idealmente, se todas as dependências puderem ser satisfeitas a partir de locais públicos gerais)
  • É reutilizável para outros sistemas operacionais e versões.
  • O software na VM está sempre atualizado (em termos de segurança, ou pelo menos não é mais seu trabalho).
  • Pode ser executado em configurações existentes de máquinas.
  • O usuário final pode revisar as alterações feitas em seu sistema, em vez de iniciar uma máquina virtual a partir de uma fonte externa não confiável em sua rede confiável.
  • Enviando uma atualização do arquivo Puppet, os usuários podem atualizar facilmente, sem a necessidade de instalar uma nova máquina virtual.

Desvantagens:

  • Faz algum esforço para criar um arquivo Puppet bom e livre de bugs.
  • Nem tudo pode ser Puppetized muito facilmente.
por 22.01.2013 / 00:35