... | @@ -28,23 +28,19 @@ A camada de Controller será responsável por receber as requisições do aplica |
... | @@ -28,23 +28,19 @@ A camada de Controller será responsável por receber as requisições do aplica |
|
|
|
|
|
## Arquitetura da Infraestrutura - AWS
|
|
## Arquitetura da Infraestrutura - AWS
|
|
|
|
|
|
![ColaboraAiAWS](uploads/a5203110a98daeb9e1ab49c6b9a6b67b/ColaboraAiAWS.JPG)
|
|
![Screenshot_2024-11-24_at_19.03.52](uploads/c51a2dbb0c3ab17a5d6df980a43fee29/Screenshot_2024-11-24_at_19.03.52.png)
|
|
|
|
|
|
## Frontend Mobile
|
|
## Frontend Mobile
|
|
O frontend mobile, desenvolvido com Flutter, permite a criação de uma aplicação cross-platform, atendendo tanto iOS quanto Android. Para a hospedagem e entrega dos arquivos estáticos deste aplicativo, utilizamos o serviço Amazon S3 (Simple Storage Service). O S3 provê alta durabilidade e disponibilidade, ideal para armazenar conteúdos acessíveis publicamente ou privadamente, dependendo da configuração de acesso.
|
|
O frontend mobile, desenvolvido com Flutter, permite a criação de uma aplicação cross-platform, atendendo tanto iOS quanto Android.
|
|
|
|
|
|
## Frontend Web
|
|
## Frontend Web
|
|
Para o frontend web, escolhemos React devido à sua eficiência em renderizar componentes dinâmicos que melhoram a experiência do usuário. Assim como o frontend mobile, os arquivos estáticos do frontend web são hospedados no Amazon S3, garantindo rápida distribuição e baixa latência. Para otimizar ainda mais a entrega de conteúdo estático globalmente, pode-se integrar o Amazon CloudFront como CDN, reduzindo a carga sobre o servidor principal e melhorando o tempo de carregamento para usuários ao redor do mundo.
|
|
Para o frontend web, escolhemos React devido à sua eficiência em renderizar componentes dinâmicos que melhoram a experiência do usuário.
|
|
|
|
|
|
## Backend
|
|
## Backend
|
|
O backend é implementado usando Java com o framework Spring Boot, conhecido por sua agilidade e poder em criar aplicações complexas e de alto desempenho. Utilizamos contêineres Docker para encapsular o ambiente do backend, facilitando a escalabilidade e a manutenção. Esses contêineres são gerenciados através do Amazon EC2 (Elastic Compute Cloud), que oferece capacidade computacional redimensionável na nuvem, permitindo ajustar recursos conforme a demanda.
|
|
O backend é implementado usando Java com o framework Spring Boot, conhecido por sua agilidade e poder em criar aplicações complexas e de alto desempenho. Utilizamos contêineres Docker para encapsular o ambiente do backend, facilitando a escalabilidade e a manutenção. Esses contêineres são gerenciados através do Amazon EC2 (Elastic Compute Cloud), que oferece capacidade computacional redimensionável na nuvem, permitindo ajustar recursos conforme a demanda.
|
|
|
|
|
|
## Integração e Gerenciamento de Imagens Docker
|
|
|
|
|
|
|
|
Utilizamos o Amazon ECR (Elastic Container Registry) para armazenar as imagens Docker do backend. O ECR é um repositório de imagens Docker que integra-se facilmente com o EC2, automatizando o deploy e garantindo que sempre a versão mais recente esteja disponível para produção sem interrupções no serviço.
|
|
|
|
|
|
|
|
## Arquitetura de Comunicação
|
|
## Arquitetura de Comunicação
|
|
|
|
|
|
- Amazon EC2: Responsável por executar o backend da aplicação, lidando com a lógica de negócios e processamento de dados.
|
|
- Amazon EC2: Responsável por executar o backend da aplicação, lidando com a lógica de negócios e processamento de dados.
|
|
- Amazon S3: Além de hospedar os assets dos frontends, armazena dados gerados pelos usuários, como uploads de arquivos, garantindo segurança e acesso controlado.
|
|
- Amazon API Gateway: Atua como proxy reverso, redirecionando o tráfego HTTP para HTTPS. Ele garante que todas as requisições sejam seguras e oferece uma camada adicional de abstração e controle sobre as APIs.
|
|
- Amazon ECR: Mantém as imagens Docker, simplificando o processo de atualização e manutenção do ambiente de execução do backend. |
|
|