Descripción del Proyecto
Este proyecto consistió en la implementación completa del ciclo de vida de desarrollo y despliegue para una API REST de TODOs en Node.js y MongoDB. El foco principal estuvo en la contenerización, la automatización de infraestructura como código (IaC) y el establecimiento de flujos de integración y despliegue continuo (CI/CD) en un entorno local controlado.
Arquitectura y Soluciones
- Contenerización: Dockerización de la API y la base de datos con configuraciones distintas para desarrollo (hot reload) y producción.
- Infraestructura como Código: Aprovisionamiento de máquinas virtuales con Terraform y configuración automatizada con Ansible.
- Integración Continua: Pipelines de GitHub Actions para el build y push de imágenes a Docker Hub.
- Despliegue Continuo: Ejecución en runners self-hosted y despliegue mediante playbooks de Ansible.
- Proxy Inverso: Configuración de Nginx para el enrutamiento de peticiones a la API.
Stack Tecnológico
Backend
Node.js, Express, MongoDB
Contenedores
Docker, Docker Compose
Infraestructura (IaC)
Terraform, Vagrant
Configuración
Ansible
CI/CD
GitHub Actions
Servidor
Nginx