Commit f10fc6e5 authored by Felipe Vasques Heyman's avatar Felipe Vasques Heyman
Browse files

Merge branch 'wiki/infra' into 'main'

ajustes wiki infra

See merge request !1
1 merge request!1ajustes wiki infra
Showing with 42 additions and 20 deletions
+42 -20
......@@ -2,35 +2,57 @@
Wiki do projeto Visual Interactive Reading para a ages de 2024/2
## Getting started
# VIR Infrastructure
To make it easy for you to get started with GitLab, here's a list of recommended next steps.
This document describes the infrastructure for the VIR project, as depicted in the attached diagram.
Already a pro? Just edit this README.md and make it your own. Want to make it easy? [Use the template at the bottom](#editing-this-readme)!
## Overview
## Add your files
![Diagrama](assets/infraestrutura_v3.drawio.png)
- [ ] [Create](https://docs.gitlab.com/ee/user/project/repository/web_editor.html#create-a-file) or [upload](https://docs.gitlab.com/ee/user/project/repository/web_editor.html#upload-a-file) files
- [ ] [Add files using the command line](https://docs.gitlab.com/ee/gitlab-basics/add-file.html#add-a-file-using-the-command-line) or push an existing Git repository with the following command:
```
cd existing_repo
git remote add origin https://tools.ages.pucrs.br/VIR/vir-wiki.git
git branch -M main
git push -uf origin main
```
## Integrate with your tools
The VIR infrastructure utilizes Amazon Web Services (AWS) to host its application and database. It consists of the following components:
- [ ] [Set up project integrations](https://tools.ages.pucrs.br/VIR/vir-wiki/-/settings/integrations)
* **Client:** Users interact with the application through a web browser or a mobile application.
* **EC2-WebServer:** An Amazon Elastic Compute Cloud (EC2) instance running a web server (NGINX or Apache) to handle incoming client requests and serve static content.
* **EC2-Backend:** An EC2 instance responsible for application logic and API endpoints, using Flask framework as API, swagger for API documentation, Gunicorn as WSGI and NGINX as Webserver and postgresql as database.
* **S3 Storage:** Amazon Simple Storage Service (S3) is used for storing files and other data.
## Collaborate with your team
- [ ] [Invite team members and collaborators](https://docs.gitlab.com/ee/user/project/members/)
- [ ] [Create a new merge request](https://docs.gitlab.com/ee/user/project/merge_requests/creating_merge_requests.html)
- [ ] [Automatically close issues from merge requests](https://docs.gitlab.com/ee/user/project/issues/managing_issues.html#closing-issues-automatically)
- [ ] [Enable merge request approvals](https://docs.gitlab.com/ee/user/project/merge_requests/approvals/)
- [ ] [Automatically merge when pipeline succeeds](https://docs.gitlab.com/ee/user/project/merge_requests/merge_when_pipeline_succeeds.html)
## Network Configuration
* **Virtual Private Cloud (VPC):** All components should reside within a VPC for security and isolation.
* **Subnets:** Divide the VPC into public and private subnets. Place the WebServer in the public subnet and the Backend and Database in the private subnet.
* **Route Tables:** Configure route tables to direct traffic appropriately. The public subnet's route table should have an internet gateway for outbound internet access.
## Security Considerations
Security best practices should be implemented throughout the infrastructure:
* **Security Groups:**
* **WebServer:**
* Allow inbound traffic on ports 80 (HTTP) and 443 (HTTPS) from the internet.
* Allow inbound traffic from the load balancer if applicable.
* Allow all outbound traffic to the backend instance on the application's port.
* **Backend:**
* Allow all outbound traffic to API endpoints.
* Allow inbound traffic on the database port (e.g., 5432 for PgSQL) from the backend instance only.
## Pricing and Cost Considerations
![Pricing and Costs pg1]('assets/aws_01.jpg')
![Pricing and Costs pg2]('assets/aws_02.jpg')
## Operational Considerations
* **Monitoring:** Implement monitoring tools like Amazon CloudWatch to track resource utilization, application performance, and identify potential issues.
* **Logging:** Centralize logs from all components to facilitate troubleshooting and security analysis. Consider using Amazon CloudWatch Logs or a dedicated logging service.
* **Backups:** Implement regular backups for the database and important data stored in S3. Utilize automated backup features provided by AWS services.
This README provides a basic understanding of the VIR infrastructure. Further documentation and diagrams may be necessary to detail specific configurations, security measures, and operational procedures.
## Test and Deploy
......
assets/infraestrutura_v3.drawio.png

312 KB

Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment