Principais considerações ao usar a AWS para hospedagem na Web - Hospedagem de aplicações Web na Nuvem AWS

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 simples (DMZ) e abriu as comunicações entre seus hosts em um modelo de hospedagem tradicional, a AWS impõe um modelo mais seguro, no qual cada host é bloqueado. Uma das etapas no planejamento de uma implantação da AWS é a análise do tráfego entre os hosts. Essa análise orientará as decisões sobre exatamente quais portas precisam ser abertas. Você pode criar grupos de segurança para cada tipo de host na arquitetura. Você também pode criar uma grande variedade de modelos de segurança simples e em camadas para permitir o acesso mínimo entre os hosts na arquitetura. O uso de listas de controle de acesso à rede na Amazon VPC pode ajudar a bloquear sua rede no nível da sub-rede.

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 e Sem servidor, aproveitando serviços como AWS Fargate e AWS Lambda para permitir que você abstraia o uso de máquinas virtuais para realizar tarefas de computação. Com a computação sem servidor, as tarefas de gerenciamento de infraestrutura, como provisionamento de capacidade e aplicação de patches, são gerenciadas pela AWS, para que você possa criar aplicações mais ágeis que permitem inovar e responder às mudanças mais rapidamente.

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.