Qual seria o melhor método para fornecer meu ambiente de servidor como um pacote de software a ser instalado em um servidor diferente?

1

Tenho algum software em execução na nuvem da AWS e gostaria de poder oferecer esse pacote de software como uma solução local para que qualquer pessoa possa configurá-lo em seus próprios servidores. Qual seria a melhor maneira de tornar esse processo o mais simples possível?

Para alguns contextos, estamos executando o node.js em um servidor Amazon Linux. Estamos usando alguns pacotes NPM de código aberto além do nosso código personalizado. Também estamos usando o MongoDB como um armazenamento de sessão e redis como um cache. Está tudo em uma instância por enquanto, mas a solução que forneceríamos teria mongodb e redis em seu próprio servidor, bem como um servidor de balanceamento de carga Haproxy na frente de vários servidores de aplicativos. Usamos o EBS para armazenar nossos dados do MongoDB.

    
por Justin Meltzer 13.02.2013 / 17:40

2 respostas

2

Esta é realmente uma questão de desenvolvimento de produtos mais do que uma de administração de sistemas.

Dito isto, praticamente o que ceejayoz disse : Forneça-o como um serviço de consultoria ou um dispositivo pré-construído.

Minha escolha para isso seria um dispositivo físico ou VMWare que tenha seu software instalado em um sistema operacional que você esteja confortável gerenciando e que seja vendido totalmente sem intervenção para o cliente: Sua equipe teria que gerenciar os sistemas finais até o fim.

À medida que você amplia, isso pode incluir soluções "rack-in-a-box", onde você vende ao cliente um ambiente integrado em um rack independente (tudo que eles fazem é fornecer energia e uma queda de rede para colocá-lo em seu ambiente) ou soluções em que você fornece um cluster VMWare que implementa o equivalente ao rack-in-a-box.

    
por 13.02.2013 / 19:33
1

Para um sistema tão complexo, eu procuraria ferramentas de configuração e provisionamento. Você tem dezenas de opções para o primeiro, e Puppet e cfengine são dois exemplos típicos do último.

Não espere que a automação completa seja uma tarefa fácil. Se você não espera produzir muitas cópias do sistema e gerenciá-las mais ou menos manualmente, você pode usar algum script bash de "bootstrap" para rodar em sistemas recém-instalados ...

    
por 13.02.2013 / 19:59