... | @@ -8,6 +8,7 @@ Esta página centraliza informações sobre o arquitetura do projeto e a infraes |
... | @@ -8,6 +8,7 @@ Esta página centraliza informações sobre o arquitetura do projeto e a infraes |
|
## Sumário
|
|
## Sumário
|
|
|
|
|
|
- [Diagrama de deploy](#diagrama-de-deploy)
|
|
- [Diagrama de deploy](#diagrama-de-deploy)
|
|
|
|
- [Ambientes utilizados](#ambientes-utilizados)
|
|
- [Arquitetura geral da aplicação](#arquitetura-geral-da-aplicação)
|
|
- [Arquitetura geral da aplicação](#arquitetura-geral-da-aplicação)
|
|
- [Backend](#backend)
|
|
- [Backend](#backend)
|
|
- [Frontend](#frontend)
|
|
- [Frontend](#frontend)
|
... | @@ -63,7 +64,23 @@ Para este custo mensal, os detalhes de estimativa de cada serviço considerados |
... | @@ -63,7 +64,23 @@ Para este custo mensal, os detalhes de estimativa de cada serviço considerados |
|
- Número mensal de GET, SELECT e todas as outras solicitações do S3 Standard: 1000
|
|
- Número mensal de GET, SELECT e todas as outras solicitações do S3 Standard: 1000
|
|
- Dados retornados pelo S3 Select: 3 GB por mês
|
|
- Dados retornados pelo S3 Select: 3 GB por mês
|
|
- Dados verificados pelo S3 Select: 3 GB por mês
|
|
- Dados verificados pelo S3 Select: 3 GB por mês
|
|
- Tamanho médio de objetos do S3 Standard: 5 MB
|
|
- Tamanho médio de objetos do S3 Standard: 5
|
|
|
|
|
|
|
|
## Ambientes utilizados
|
|
|
|
|
|
|
|
Durante a Sprint 2 (segunda Sprint de desenvolvimento de código no projeto) percebeu-se a necessidade de existir um ambiente de desenvolvimento para testar e validar as alterações sendo integradas no projeto, antes da entrega das mesmas no ambiente produtivo. Isso porque, durante esta Sprint, não era possível subir as alterações recém-feitas mas ainda não validadas no ambiente produtivo, pois este mesmo ambiente era utilizado pelos *stakeholders* ao acessar o aplicativo.
|
|
|
|
|
|
|
|
Assim, segmentou-se os containers executando na instância EC2 da AWS em dois ambientes distintos:
|
|
|
|
- **Ambiente produtivo:** onde é executado o código validado e entregue aos *stakeholders* ao final da última Sprint.
|
|
|
|
- **Ambiente de *staging*:** ambiente de desenvolvimento, o qual é atualizado a cada commit na branch develop durante um ciclo de desenvolvimento. É o ambiente a ser utilizado para testes anteriores ao *code freeze* durante a Sprint.
|
|
|
|
|
|
|
|
Para ersta segmentação, duplicou-se os containers do PostgreSQL e da API Backend do projeto e criou-se duas redes internas do Docker, como pode ser visto na imagem abaixo. As duas redes customizadas são compartilhadas com o container do *nginx*, enquanto o container do GitLab Runner fica em uma rede isolada.
|
|
|
|
|
|
|
|
<img src="./resources/images/arquitetura-diagrama-redes-docker.png" width="400">
|
|
|
|
|
|
|
|
Além disso, cada um dos ambientes poderia ser acessado a partir de URLs diferentes, configuradas por meio do Cloudflare:
|
|
|
|
- Ambiente produtivo: https://sembarreiras.me/
|
|
|
|
- Ambiente de *staging*: https://staging.sembarreiras.me/
|
|
|
|
|
|
## Arquitetura geral da aplicação
|
|
## Arquitetura geral da aplicação
|
|
|
|
|
... | | ... | |