DEV Community

Cover image for ☁️ Serviços da AWS que vão te salvar em uma entrevista de system design (Part 2/4)
Vanessa Telles
Vanessa Telles

Posted on

4 2 2 2 2

☁️ Serviços da AWS que vão te salvar em uma entrevista de system design (Part 2/4)

Parte 2 da série de recursos da AWS que me ajudaram e provavelmente vão te ajudar durante uma entrevista de System Design.

A primeira postagem você pode encontrar clicando aqui.

Lembrando novamente que aqui é apresentado um pequeno resumo com palavras chaves em uma linguagem informal sobre cada recurso para que você possa ler e refrescar a memória minutos antes da entrevista, portanto para que seja efetivo é necessário que anteriormente haja uma leitura mais aprofundada desses recursos.

Dessa vez trouxe três serviços que se encaixam no inicio do pipeline de qualquer aplicação web.

  • Route 53
    • Serviço de DNS (Domain Name System).
    • Realiza a conexão, tradução, do nome para o endereço IP.

Image description

  • CloudFront
    • Serviço de CDN (Content delivery Network).
    • Basicamente é uma rede de servidores distribuídos globalmente.
    • Distribui o conteúdo através de uma área geográfica.
    • Visando distribuir o conteúdo de forma eficiente e escalável.

Image description

  • AWS Cognito
    • Serviços para a autenticação e autorização dos usuários.
    • Faz o controle de acesso.
    • Suporte para autenticação federada (Google, Facebook, Apple, etc).

Image description

Por experiência própria é mais fácil entender esse tipo de coisa com exemplos de aplicação reais então criei uma arquitetura bem simples tentando utilizar os recursos dessa postagem e os da Parte 1.

Image description

A imagem acima é a representação de uma arquitetura básica para hospedar páginas web estáticas na AWS. Nesse exemplo apenas usuários autorizados podem acessar a página e a cada acesso recebem uma mensagem de boas vindas.

Basicamente o que está acontecendo é o seguinte:

1. Os arquivos da página web são armazenados no bucket S3.
2. O Route 53 é utilizado para associar o endereço IP com o nome de domínio escolhido. A solicitação do usuário para se conectar a pagina web é repassada ao CloudFront que tem como responsabilidade de distribuir o conteúdo.
3. O CloudFront encaminha essa solicitação para o Cognito autenticar e autorizar o acesso.
4. Após o Cognito verificar as credenciais e liberar o acesso, uma solicitação de autorização confirmada é enviada ao CloudFront.
5. O CloudFront então encaminha a solicitação para o endpoint configurado no API Gateway.
6. O API Gateway encaminha a solicitação para a função Lambda associada ao endpoint.
7. A função Lambda processa a solicitação e retorna a resposta para o API Gateway.
8. Por sua vez o API Gateway retorna a resposta para o CloudFront que então repassa a resposta com a mensagem de boas vindas para a interface do Usuário.
9. Pronto, aplicação concluída!

Image description

Parece muita coisa, mas é bem simples 😅 Leia com calma cada passo que você vai entender. Confia!

O que vocês acharam de incluir um exemplo usando os recursos, ajudou o entendimento de alguma forma?

Quanto a arquitetura tem algo que vocês fariam de forma diferente?

Eu adoraria ouvir opiniões, sugestões e responder quaisquer dúvidas sobre o assunto! Fiquem à vontade 😁

Top comments (2)

Collapse
 
raulferreirasilva profile image
Raul Ferreira

Adorei a arquitetura, ajuda bastante no entendimento, ter algo pra ver como realizar o processo, simplesmente incrível o artigo, ansioso para a continuação.

Que aplicativo usou para fazer a arquitetura?

Muito obrigado por compartilhar seu conhecimento 🦤.

Collapse
 
vanessatelles profile image
Vanessa Telles

Obrigada pelo feedback Raul, já estou pensando em uma aplicação interessante para a parte 3!

Para desenhar a arquitetura utilizei o excalidraw, os ícones da AWS é só baixar a biblioteca AWS Serverless Icons 😉

Image of Docusign

🛠️ Bring your solution into Docusign. Reach over 1.6M customers.

Docusign is now extensible. Overcome challenges with disconnected products and inaccessible data by bringing your solutions into Docusign and publishing to 1.6M customers in the App Center.

Learn more