Update README.md
Co-authored-by: Ezequiel Bellver <ebellver@itba.edu.ar>
This commit is contained in:
parent
9d8b0ac5a0
commit
66a009d314
45
README.md
45
README.md
|
@ -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
|
||||||
|
|
||||||
|
|
Binary file not shown.
After Width: | Height: | Size: 143 KiB |
Loading…
Reference in New Issue