|
|
|
| [Home](home) | [**Escopo**](escopo) | [Processo](processo) | [Design/Mockups](design_mockups) | [Configuração](configuracao) | [Arquitetura](arquitetura) | [Gerência](gerencia) | [BD](Banco de Dados) | [Qualidade](qualidade) | [Frontend](frontend) | [Backend](backend) | [Analytics](Analytics) |
|
|
|
|
| :----------: | :------------------: | :------------------: | :------------------------------: | :--------------------------: | :------------------------: | :------------------: | :------------------: | :--------------------: | :------------------: | :----------------: | :----------------: |
|
|
|
|
|
|
|
|
# Página da Arquitetura do Projeto Soul Amada
|
|
|
|
|
|
|
|
## **Arquitetura na nuvem:**
|
|
|
|
|
|
|
|
![Infraestrutura_AGES](uploads/1d0d19ad968b9e39fcd97b21ee6208d2/AGES_-_Infrastructure.jpeg)
|
|
|
|
|
|
|
|
A API utilizada para a aplicação do projeto Soul Amada é executada em um container Docker dentro que é executado dentro de uma EC2, que está em uma VPC privada dentro de uma sub rede própria desta EC2. A aplicação backend se comunica com o banco de dados que guarda os dados da aplicação
|
|
|
|
Para o banco de dados, o RDS é utilizado como um banco de dados auto gerenciado e escalável.
|
|
|
|
Além disto, um bucket do S3 é utilizado para o armazenamento de arquivos da aplicação, tornando o manejo de arquivos por parte da API um processo mais fácil.
|
|
|
|
|
|
|
|
## **Pipeline de Deploy:**
|
|
|
|
|
|
|
|
![AGES_CI_CD_Pipeline](uploads/bc82117402fd2d81cb60209d50cd01e0/AGES_-_CI_CD_Pipeline.jpeg)
|
|
|
|
|
|
|
|
O processo de deploy acontece quando um commit é feito na branch "main" do repositório do backend da aplicação.
|
|
|
|
Com isto, um runner do Gitlab é executado na própria EC2 onde a API está hospedada, onde executará os testes e enviará as migrações do Prisma para o banco de dados no RDS.
|
|
|
|
Após realizar a etapa de enviar as migrações para o banco de dados, o runner faz o "build" da imagem da API, finaliza algum container da API que já esteja em execução caso este exista, e executa um novo container com a nova imagem criada.
|
|
|
|
|