Aconselhamento para uma estratégia de arquitetura e implantação do EC2 [closed]

1

Atualmente, minha empresa está migrando vários sites e aplicativos da Web PHP (pilha LAMP padrão) de três servidores internos para o Amazon EC2. Como tínhamos apenas três servidores, agrupamos vários sites de baixo tráfego com talvez um aplicativo da web de alto tráfego e os fornecemos do mesmo servidor. O administrador do servidor praticamente copiou a arquitetura anterior para as instâncias do EC2, simplesmente aumentando o tamanho da instância para dar conta do cliente de tráfego mais alto que ocupa essa instância em particular.

Esta arquitetura pode estar bem se não for para implantação. Sempre que um desses sites / aplicativos é alterado, isso significa reimplementar a instância inteira, junto com os 30 sites / aplicativos que ela hospeda, em vez de apenas atualizar uma.

Como podemos arquitetar nossa nuvem de maneira mais modular? Cada aplicativo deve ter sua própria instância de tamanho adequado? Qual é a melhor estratégia para implantação nesse tipo de situação?

    
por Mark 22.08.2014 / 00:08

1 resposta

1

O administrador do seu servidor basicamente transferiu seus sites de um centro de dados para outro. Você está pensando em instâncias do EC2 como servidores tradicionais. Agora é hora de mudar seu pensamento. Pense nas instâncias do EC2 como contêineres para seus aplicativos da Web e até mesmo parte de seu aplicativo da Web, em vez de simplesmente algo em que você os hospeda.

Modularizar seus sites é uma boa ideia. Você pode dividi-los em uma instância do EC2 por site. Dessa forma, quando você implanta uma atualização, apenas esse site é afetado (para o bem ou para o mal).

Além disso, você pode colocar seus sites atrás de grupos adequados de balanceadores de carga e / ou dimensionamento automático para acomodar as alterações de carga, com base nos requisitos exclusivos de cada site.

Dê uma olhada no Elastic Beanstalk. Ele tenta ser um mecanismo de implantação "pronto para uso" para sites (PHP, .NET, Ruby, etc.). Se tudo correr bem, você não precisará fazer login na sua instância. Ele usa uma (ou mais) instâncias do EC2 por aplicativo da Web, com base na sua configuração.

A desvantagem disso é o custo: você pagará mais porque está usando mais instâncias do EC2. Mas esse é o trade-off para modularidade e confiabilidade.

    
por 22.08.2014 / 16:13