Update README.md

Co-authored-by: Ezequiel Bellver <ebellver@itba.edu.ar>
This commit is contained in:
Santiago Lo Coco 2022-12-14 11:48:14 -03:00
parent 9d8b0ac5a0
commit 66a009d314
2 changed files with 16 additions and 29 deletions

View File

@ -2,51 +2,38 @@
Best Stock Management System application. Best Stock Management System application.
## Descripción de los módulos ## Módulos
### ACM - ACM
### API Gateway - API Gateway
Construye una API REST que puede recibir requests POST, GET, PUT, DELETE y OPTIONS. En el caso de GET, va directo a la lambda de lectura de la tabla (`lambdaDB`). Por otro lado, en el caso de un POST, se encola en el SQS para luego ir a otra lambda (`lambdaSQSDB`). Finalmente, el OPTIONS se utiliza para poder soportar y habilitar `CORS` y que, por ende, funcionen correctamente los llamados a la API desde el sitio estático. - CloudFront
Ver [apigw/README.md](terraform/modules/apigw/README.md) - Cognito
### CloudFront - Dynamo DB
Funciona como CDN y realiza caché de la API y del S3 (que hostea el sitio estático). - Lambda
### Cognito - Route53
### Dynamo DB - S3
Guarda el stock de los productos de los usuarios. Tiene una tabla compuesta por `user` (partition key), `id` del producto (sort key) y `stock`. - SNS
### Lambda - SQS
Definimos 9 lambdas. - Step Functions
### Route53 - VPC
### S3 - WAF
Definimos 3 buckets. Uno para logs y dos para el frontend (el sitio estático en sí y uno `www` que se redirecciona al primero).
### SNS ## Diagrama de arquitectura original
### SQS <img src="docs/original.png" alt="original" width="800"/>
Se encarga de encolar POSTs recibidos por la API. Luego, dispara la lambda correspondiente (en este caso `lambdaSQSDB`).
### Step Functions
### VPC
Este módulo es [externo](https://registry.terraform.io/modules/terraform-aws-modules/vpc/aws/latest). Se define en este toda la parte de networking que se detalla en el diagrama de la arquitectura (el cual se encuentra al final de este documento).
### WAF
Protege la aplicación mediante 3 rules. Esto lo hace mediante la creación de un web ACL asociado a la distribución de CloudFront.
## Diagrama de arquitectura deployada ## Diagrama de arquitectura deployada

BIN
docs/original.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 143 KiB