Sendo uma empresa que nasceu dentro de outra, ou seja, a AWS nasceu para oferecer a infraestrutura tecnológica que conecta os diferentes centros de distribuição e operações da gigante do comércio eletrônico da Amazon, temos que conceber que a infraestrutura oferecida aos seus consumidores é igualmente gigantesca e marca presença em dezenas de localidades espalhadas pelo planeta.
Mas, desde que colocou seus serviços no mercado em 2006, as operações da AWS, não mais mantém servidores, denominados Zonas de Disponibilidade, somente próximos a centros de distribuição da Amazon, pois buscam estar também próximos à concentrações de clientes. Sobre esta infraestrutura temos que:
A infraestrutura de nuvem global da AWS é a mais segura, abrangente e confiável plataforma de nuvem e oferece mais de 200 serviços completos de datacenters em todo o mundo. Se você precisa implantar workloads de aplicações em todo o mundo em um único clique ou deseja criar e implantar aplicações específicas mais próximos dos usuários finais com latência inferior a 10 milissegundos, a AWS fornece a infraestrutura de nuvem onde e quando você precisar. (AWS 2022, Documento Online).
Além de ter uma extensa gama de serviços em nuvem, a AWS atende praticamente todo país ou território do planeta somando milhões de clientes e milhares de empresas parceiras em todo e qualquer ramo de atividade comercial e governamental.
A estrutura da AWS apresenta como divisões hierárquicas as regiões e as zonas de disponibilidade. Servidores são agrupados em datacenters, os datacenters por sua vez são agrupados em uma zona de disponibilidade, e uma região apresenta algumas zonas de disponibilidade.
Para a alta disponibilidade e segurança, cada data center é separado geograficamente do outro, com redundâncias diversas como de energia, rede e conectividade, o que faz destes centros de processamento tolerantes a falhas e escaláveis. Em constante ampliação, no ano de 2021 a infraestrutura global da AWS somou “[…] 80 zonas de disponibilidade em 25 regiões geográficas ao redor do mundo, e há planos para adicionar mais zonas de disponibilidade e regiões.” (AWS 2021, p.06).
O grande benefício de tamanha infraestrutura computacional não se resume à sua imensa capacidade de abrigar projetos complexos com alto desempenho, e sim por permitir que o cliente usufrua desta estrutura distribuindo suas instâncias e aplicações nas diversas regiões e zonas de disponibilidade. Desta forma, a alta disponibilidade inerente a infraestrutura da AWS, também pode ser oferecida aos clientes de da aplicação em desenvolvimento ou nela abrigada.
Atualmente, a AWS apresenta mais de 270 pontos de presença em locais de borda. Estes pontos de presença são considerados uma forma de cache permitindo que aplicações e serviços estejam muito mais próximos dos usuários, mesmo que seus desenvolvedores, os clientes AWS estejam em localidades distantes.
Também denominados AWS Edge Locations, os pontos de presença são como simplificações de data centers destinados a colocar uma melhor latência a serviço das aplicações sem que o serviço em si esteja implementado em uma região/zona de disponibilidade além daquela nativa do desenvolvedor. Serviços AWS que fazem uso destes pontos de presença são o AWS CloudFront e o AWS Route53.
Com estes AWS Edge Locations existe o aumento da disponibilidade dos serviços oferecidos, o que promove elevadas taxas de uptime, ou seja, para o AWS CloudFront temos um SLA de 99,9%, extremamente alto e o Route53 um uptime praticamente absoluto, com 100% de uptime.
Quando um desenvolvedor cria seu usuário raiz na AWS, ele ganha acesso a todos os serviços disponíveis e somente começará a configurar tais serviços quando necessitar utilizá-los, com a exceção da zona de disponibilidade. A AWS separa o globo terrestre em regiões e dentro de cada região implementa algumas zonas de disponibilidade em quantidade suficiente para promover tolerância a erro e alta disponibilidade.
Portanto, quanto o desenvolvedor cria seu usuário ele deve escolher onde seus serviços ficarão abrigados, ou seja, em qual região e dentro da região, em qual zona de disponibilidade. Para a AWS (2022a, Documento Online), as zonas de disponibilidade podem ser definidas como,
Uma zona de disponibilidade (AZ) é um ou mais datacenters distintos com energia, rede e conectividade redundantes em uma região da AWS. As AZs proporcionam aos clientes a capacidade de operar aplicativos e bancos de dados de produção com alta disponibilidade, tolerância a falhas e escalabilidade em níveis superiores aos que um único data center pode oferecer. Todas as AZs em uma região da AWS estão interconectadas por redes de alta largura de banda e baixa latência, usando fibra metropolitana dedicada e totalmente redundante para proporcionar redes de alto throughput e baixa latência entre AZs. Todo o tráfego entre as AZs é criptografado.
Uma forma de se compreender a relação do desenvolvedor com as zonas de disponibilidade é o uso do recurso de armazenamento oferecido pelo sistema AWS S3. Quando o cliente inicia o uso do S3 e nele cria um bucket, tem a liberdade de selecionar uma região e em seguida uma zona de disponibilidade em sua Região. Além da latência, a principal diferença impactante da escolha entre regiões no uso de serviços como o S3 está no custo do armazenamento, que muda drasticamente de uma região para outra.
Embora a própria AWS ofereça consultoria e dicas, o desenvolvedor pode abrigar suas instâncias e armazenamento na zona de disponibilidade dentro da região que desejar, mas claro que esta independência de nada adiantará se não for executada com consciência, considerando detalhes técnicos como a localização da maioria dos consumidores da aplicação e da possibilidade ou não das edge locations.
Portanto, usar a infraestrutura de regiões e zonas de disponibilidade com sabedoria permite oferecer aplicações web com elevado desempenho, confiabilidade e alta disponibilidade, requisitos para uma adequada experiência de usuário. Este processo de provisionamento é estratégico o suficiente para que a própria AWS se sinta praticamente obrigada a oferecer aconselhamento e acompanhamento, pois ela: