GitHub
vcampitelliThreads
vcampitelliX Twitter
vcampitelli... é um modelo para possibilitar acesso ubíquo, conveniente e sob demanda via rede a um conjunto de recursos computacionais configuráveis (como servidores, aplicações e armazenamento) que podem ser rapidamente provisionados e disponibilizados com o mínimo de esforço de gerenciamento ou interação com o provedorProposta SP 800-145
* Instituto Nacional de Padrões e Tecnologia dos Estados Unidos
Self-service sob demanda
Cliente deve provisionar seus serviços sem interação humana com o provedor
Acesso generalizado à rede
Serviços devem ser disponibilizados e acessados via mecanismos padrões de rede
Agrupamento de recursos
Devem servir múltiplos clientes, sendo reatribuídos de forma dinâmica
Elasticidade rápida
Recursos devem ser escaláveis para suportar a demanda
Serviço mensurável
Deve ser possível medir e monitorar o uso de cada serviço
O principal provedor de cloud segundo o Gartner nos últimos 10 anos, com mais de 200 serviços disponíveis
aws.amazon.comRegiões (Regions)
Local físico onde um grupo de datacenters está localizado
Zonas de disponibilidade (Availability zones)
Cada grupo de datacenters em uma região com alta conectividade entre si, úteis para prover alta disponibilidade dentro de uma região
Zonas locais (Local zones)
Locais alternativos mais próximos a grandes cidades para diminuir a latência
34 regiões
108 zonas de disponibilidade
245 países e territórios atendidos
Como nosso frontend é composto apenas de arquivos estáticos (HTML, CSS, JavaScript, imagens etc...), podemos utilizar os serviços de armazenamento de arquivos da cloud, como é o caso do AWS S3 (Simple Storage Service)
aws.amazon.com/s3Para isso, criaremos um bucket, que é como um "disco" com configurações como localização geográfica, políticas de versionamento e backup, sendo o responsável por conter nossos arquivos
aws.amazon.com/s3Um Serviço de Rede de Entrega de Conteúdo (do inglês Content Delivery Network, resultando na sigla CDN) é responsável pelo caching e distribuição de conteúdo a partir de uma das localizações de borda mais próximas de seus clientes
O que é rede de distribuição de conteúdo (CDN)?Na AWS, iremos criar uma distribuição no CloudFront e apontá-la para o bucket S3 que criamos com os arquivos estáticos do frontend
aws.amazon.com/cloudfrontO Domain Name System é um serviço que tem como principal funcionalidade a conversão de domínios legíveis por seres humanos (por exemplo google.com) em endereços IP (por exemplo 142.251.132.238)
Existem diversos serviços, como o CloudFlare (gratuito) ou AWS Route 53 (pago, mas com diversas integrações com outras ferramentas da AWS)
cloudflare.com/learning/dnsPara executar o nosso backend, precisamos de uma plataforma de computação ("servidor"), como o AWS EC2 (Elastic Compute Cloud)
aws.amazon.com/ec2Para persistir as informações em nosso backend, precisamos utilizar um banco de dados, e optaremos pelo RDS (Relational Database Services) para simplificar a configuração, operação e dimensionamento do banco
aws.amazon.com/rdsEscalabilidade é uma característica desejável em todo o sistema, rede ou processo, que indica a capacidade de manipular uma porção crescente de trabalho de forma uniforme, ou estar preparado para crescer.Escalabilidade | Wikipédia
Serviço que monitora sua aplicação e ajusta automaticamente a capacidade (ligando ou desligando servidores) para manter um desempenho estável e previsível com o menor custo possível
aws.amazon.com/autoscalingFerramenta que distribui as requisições entre servidores diferentes
Cada vez que uma máquina é criada ou excluída pelo Auto Scaling, o Balanceador de Carga é avisado para que atualize seu cadastro interno de serviços disponíveis
GitHub
vcampitelliThreads
vcampitelliX Twitter
vcampitelli