|
|[Home](home)|[Sprints](sprints)|[Requisitos](requisitos)|[Arquitetura](arquitetura)|[Configuração](configuracao)|[Mockups](mockups)|[Banco de Dados](banco_dados)|[Instalação](instalacao)|[Gerência de Projeto](gp)|[Git](git)|[Boas Práticas](boas-praticas)|[Merge Request Template](mr-template)|
|
|
|[Home](home)|[Sprints](sprints)|[Requisitos](requisitos)|[Arquitetura](arquitetura)|[Configuração](configuracao)|[Mockups](mockups)|[Banco de Dados](banco_dados)|[Instalação](instalacao)|[Gerência de Projeto](gp)|[Git](git)|[Boas Práticas](boas-praticas)|[Merge Request Template](mr-template)|
|
|
|---|---|---|---|---|---|---|---|---|---|---|---|
|
|
|---|---|---|---|---|---|---|---|---|---|---|---|
|
|
|
|
# Instalação da aplicação
|
|
|
|
|
|
# Página de Instalação do Usuário
|
|
O projeto Radar do Investidor teve como objetivo desenvolver uma aplicação web para coparação de fundos de investimento. A aplicação compara dois ou mais fundos, também apresentando um gráfico para auxiliar o usuário na comparação.
|
|
|
|
|
|
Aqui deve ser explicado como o Projeto deve ser instalado pelo Usuário Final, onde esta página deve ser apresentado para o Usuário final poder usufruir do programa desenvolvido. |
|
A aplicação foi implantada utilizando os serviços AWS. Como cada parte do serviço foi implantada usando diferentes serviços, iremos explicar com detalhes o processo.
|
|
\ No newline at end of file |
|
|
|
|
|
## Instruções de instalação
|
|
|
|
|
|
|
|
Antes de implantar a aplicação, precisamos de uma conta AWS - Amazon Web Service. O ideal é uma conta com privilégios administrativos, ou com pelo menos permissão para editar as proprias IAM Roles, que é como uma regra que permite ao seu usuário usar serviços específicos da AWS.
|
|
|
|
|
|
|
|
Além disso, para a realização de alguns passos, será necessario que a ACCESS KEY e a SECRET ACCESS KEY sejam configuradas.
|
|
|
|
|
|
|
|
Tenha em mente que alguns dos serviços usados nessa aplicação são pagos, e o padão de moeda da AWS é o dolar.
|
|
|
|
|
|
|
|
Além dos recursos da AWS será necessário um Docker, para a criação de uma imagens com todos os recursos necessários para a aplicação, os Dockerfiles com as dependencias estão nos seus respectivos repositórios.
|
|
|
|
|
|
|
|
## VPC e Subnets
|
|
|
|
|
|
|
|
Primeiramente, devemos configurar a rede onde a aplicação vai ficar. Para isso utilizamos a Amazon Virtual Private Cloud (Amazon VPC) que é um serviço que permite iniciar recursos da AWS em uma rede virtual isolada. Para detalhes sobre a criação de uma VPC na AWS visite a documentação oficial [aqui](https://docs.aws.amazon.com/directoryservice/latest/admin-guide/gsg_create_vpc.html).
|
|
|
|
|
|
|
|
Depois de criar a VPC, precisamos criar algumas subnets privadas, para manter o nosso serviço seguro. Criamos duas subnetes privadas e uma publica. Para entender mais sobre subnetes visite a [documentação](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Subnets.html) da AWS.
|
|
|
|
|
|
|
|
## Frontend
|
|
|
|
|
|
|
|
Na implantação do Frontend utilizamos o ECR (Elastic Container Registry) ECS (Elastic Container Service) junto com o AWS Fargate.
|
|
|
|
|
|
|
|
Para que utilizassemos a imagem docker na AWS primeiro criamos um repositorio de containers, usando o ECR - Elastic Container Registry, para isso seguimos esse [tutorial](https://docs.aws.amazon.com/pt_br/AmazonECR/latest/userguide/getting-started-console.html), e para dar push em imagens seguimos essa parte da [documentação da AWS](https://docs.aws.amazon.com/pt_br/AmazonECR/latest/userguide/docker-push-ecr-image.html).
|
|
|
|
|
|
|
|
Após isso, precisamos gerenciar a imagem, para isso usamos o ECS - Elastic Container Service, que gerencia o container com a imagem Docker. Usamo o ECS juntamente com o Fargate, que é uma maneira Serveless de gerenciar os recursos. Para a criação de um ECS com Fargate veja esse [passo a passo](https://docs.aws.amazon.com/pt_br/AmazonECS/latest/userguide/fargate-getting-started.html).
|
|
|
|
|
|
|
|
Depois de criar o cluster, basta criar uma task para o serviço, seguindo [este tutorial](https://docs.aws.amazon.com/pt_br/AmazonECS/latest/userguide/create-task-definition.html).
|
|
|
|
|
|
|
|
## Backend
|
|
|
|
|
|
|
|
No deploy do Backend utilizamos o [Code Builder](https://docs.aws.amazon.com/pt_br/codebuild/latest/userguide/sample-github-pull-request.html) para a criação de uma imagem, similar as imagens geradas pelo Docker, e usamos o ECS juntamente com o AWS Fargate. Para a criação de um ECS com Fargate veja esse [passo a passo](https://docs.aws.amazon.com/pt_br/AmazonECS/latest/userguide/fargate-getting-started.html).
|
|
|
|
|
|
|
|
## Banco de dados
|
|
|
|
|
|
|
|
Para o deploy do Banco de Dados utilizamos o RDS. Para a criação da instância do banco de dados, siga o passo a passo dessa [documentação](https://docs.aws.amazon.com/pt_br/AmazonRDS/latest/UserGuide/USER_CreateDBInstance.html). Para conectar o banco de dados com o Backend é necessario ao criar a task editar as variaveis de ambiente passando o link do banco de dados, ou atualizar indo na task e atualizando as váriaveis de ambiente, pode seguir [esse guia](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/update-task-definition.html).
|
|
|
|
|
|
|
|
## Scrapper
|
|
|
|
|
|
|
|
No deploy do Scrapper foi utilizado o AWS Lambda com containers. Para isso usamos o ECR e o AWS Lambda.
|
|
|
|
|
|
|
|
Para que utilizassemos a imagem docker na AWS primeiro criamos um repositorio de containers, usando o ECR - Elastic Container Registry, para isso seguimos esse [tutorial](https://docs.aws.amazon.com/pt_br/AmazonECR/latest/userguide/getting-started-console.html), e para dar push em imagens seguimos essa parte da [documentação da AWS](https://docs.aws.amazon.com/pt_br/AmazonECR/latest/userguide/docker-push-ecr-image.html).
|
|
|
|
|
|
|
|
Para criar uma função lambda baseado na imagem do ECR, deve seguir esse [tutorial](https://docs.aws.amazon.com/pt_br/lambda/latest/dg/getting-started-create-function.html), no tópico "Criar uma função definida como uma imagem de contêiner". |