Implementando aplicativos com dependências

1

Isso é extremamente básico (provavelmente também é óbvio), mas é tão básico que não há nada nele. Eu trato um servidor Linux remoto como um tratamento meu computador ao testar? Por exemplo, no meu computador eu instalei pip então usei isso para instalar o Django e um plug-in. Eu faria o mesmo em um servidor linux remoto sobre o ssh?

Desculpe se este é o site de troca de pilha errado para postar esta pergunta, mas de uma rápida olhada em todos eles, este parecia ser a melhor opção.

    
por sinθ 05.08.2012 / 04:58

3 respostas

3

Em suma, sim.

Ao implantar um aplicativo, geralmente temos três (ou mais; veja abaixo) máquinas envolvidas:

  • A máquina de desenvolvimento
  • A máquina de teste
  • O (s) servidor (es) de produção

Neste modelo muito comum, os desenvolvedores escrevem seu código nas máquinas de desenvolvimento, enviam alterações de código para a máquina de teste para testes e, finalmente, as alterações testadas entram em produção.

Para manter os mínimos no mínimo, geralmente queremos que os servidores sejam configurados o mais próximo possível.

Assim, você pode ssh em cada sistema e instalar o mesmo software (e as mesmas atualizações) em cada máquina, mas na produção, você pode ter mais de um servidor (por exemplo, para balanceamento de carga). Você pode descobrir que seu aplicativo se populariza e você precisa expandir para centenas ou milhares de servidores. Não seria legal ser o próximo Twitter e ganhar milhões de dólares? ... (espere) Mas você não pode mais ssh em cada um deles para aplicar suas atualizações se você tiver vários milhares de servidores, ou mesmo algumas dúzias.

É aqui que entram os sistemas de gerenciamento de configuração, como o Puppet e o Chef. Eles ajudam você a aplicar configurações idênticas a um grande número de máquinas de uma só vez (consulte seus respectivos sites para obter mais detalhes). Quando você ultrapassa o ponto de precisar de mais de um servidor, ajuda muito ter um sistema para mantê-los todos em sincronia e atualizados exatamente com o software que você espera exatamente na configuração esperada.

    
por 05.08.2012 / 05:21
4

Would I do the same on a remote linux server over ssh?

De um modo geral, sim.

No entanto,

Em um ambiente de servidor, uma das coisas mais importantes é ser capaz de realizar ações de configuração e implantação de uma maneira que seja muito confiável e muito reproduzível. Humanos sendo os seres inexatos que somos, são muito ruins em fazer as coisas manualmente de maneira confiável. É por isso que criamos sistemas de gerenciamento de configuração como Puppet, Chef e CFEngine.

Esses sistemas permitem que você implante a configuração em seu (s) servidor (es) de uma maneira muito confiável. Além disso, o trabalho necessário para implantar uma configuração em um servidor é mais ou menos o mesmo que é necessário para implantar em 10.000 servidores.

Sugiro que você procure configurar um sistema de gerenciamento de configuração em vez de fazer ssh manualmente para executar tarefas.

    
por 05.08.2012 / 05:15
-1

Acho que a MultiSSH escreveu por Linbit pode ajudá-lo: link

    
por 05.08.2012 / 05:07