Principais considerações ao usar a AWS para hospedagem na Web
Existem algumas diferenças importantes entre a Nuvem AWS e um modelo tradicional de hospedagem de aplicações Web. A seção anterior destacou muitas das principais áreas que você deve considerar ao implantar uma aplicação Web na nuvem. Esta seção destaca algumas das principais mudanças arquitetônicas que você precisa considerar ao trazer qualquer aplicação para a nuvem.
Não há mais dispositivos de rede físicos
Não é possível implantar dispositivos de rede físicos na AWS. Por exemplo, firewalls, roteadores e balanceadores de carga para aplicações da AWS não podem mais residir em dispositivos físicos, mas devem ser substituídos por soluções de software. Há uma grande variedade de soluções de software de qualidade empresarial, seja para balanceamento de carga ou estabelecimento de uma conexão VPN. Isso não é uma limitação do que pode ser executado na Nuvem AWS, mas uma mudança de arquitetura na aplicação se você usar esses dispositivos hoje.
Firewalls em todo lugar
Onde você já teve uma zona desmilitarizada
Considerar a disponibilidade de vários datacenters
Pense nas zonas de disponibilidade dentro de uma região da AWS como vários datacenters. As instâncias do EC2 em diferentes zonas de disponibilidade são separadas lógica e fisicamente e fornecem um modelo fácil de usar para implantar a aplicação em datacenters para alta disponibilidade e confiabilidade. A Amazon VPC como um serviço regional permite que você aproveite as zonas de disponibilidade e mantenha todos os seus recursos na mesma rede lógica.
Tratar os hosts como efêmeros e dinâmicos
Provavelmente, a mudança mais importante em como você pode arquitetar a aplicação da AWS é que os hosts do Amazon EC2 devem ser considerados efêmeros e dinâmicos. Nenhuma aplicação criada para a Nuvem AWS deve presumir que um host estará sempre disponível e deve ser projetado com o conhecimento de que todos os dados nos armazenamentos instantâneos do EC2 serão perdidos se uma instância do EC2 falhar.
Quando um novo host é ativado, você não deve fazer suposições sobre o endereço IP ou a localização dentro de uma zona de disponibilidade do host. O modelo de configuração deve ser flexível e a abordagem de bootstrapping de hosts deve considerar a natureza dinâmica da nuvem. Essas técnicas são essenciais para criar e executar uma aplicação altamente escalável e tolerante a falhas.
Considerar contêineres e sem servidor
Este whitepaper se concentra principalmente em uma arquitetura da Web mais tradicional. No entanto, considere modernizar as aplicações Web mudando para as tecnologias Contêineres
Considerar a implantação automatizada
-
O Amazon Lightsail
é um servidor privado virtual (VPS) que oferece tudo o que você precisa para criar uma aplicação ou site, além de um plano mensal de baixo custo. O Lightsail é ideal para workloads mais simples, implantações rápidas e introdução à AWS. Ele foi projetado para ajudá-lo a começar com pouco e, em seguida, expandir à medida que você cresce. -
O AWS Elastic Beanstalk
é um serviço de fácil utilização para implantação e escalabilidade de aplicações web e serviços desenvolvidos com Java, .NET, PHP, Node.js, Python, Ruby, Go e Docker em servidores familiares como Apache, NGINX, Passenger e IIS. Basta carregar seu código, e o Elastic Beanstalk se encarrega automaticamente da implantação, do provisionamento da capacidade, do balanceamento de carga, da escalabilidade automática e do monitoramento da integridade da aplicação. Ao mesmo tempo, você mantém total controle sobre os recursos da AWS que sustentam um aplicativo e pode acessar os recursos subjacentes a qualquer momento. -
O AWS App Runner
é um serviço totalmente gerenciado que possibilita que os desenvolvedores implantem aplicações Web e APIs conteinerizadas com rapidez e facilidade, em escala e sem a necessidade de experiência prévia com a infraestrutura. Comece com seu código-fonte ou uma imagem de contêiner. O App Runner cria e implanta automaticamente a aplicação Web e faz o balanceamento da carga de tráfego com criptografia. O App Runner também pode aumentar ou reduzir automaticamente a escala na vertical para atender às suas necessidades de tráfego. -
O AWS Amplify
é um conjunto de ferramentas e serviços que podem ser usados juntos ou individualmente para ajudar desenvolvedores de front-end de plataformas móveis e da Web a criar aplicações escaláveis e completas, desenvolvidas pela AWS. Com o Amplify, você pode configurar backends de aplicações e conectá-las em minutos, implantar aplicações Web estáticos com poucos cliques e gerenciar facilmente o conteúdo de aplicações fora do AWS Management Console.