DataOps & Cloud Project — Extracción, almacenamiento y visualización de datos musicales de Last.fm con despliegue automatizado en Microsoft Azure.
LastFMCollector es un proyecto personal orientado a Data Engineering / Cloud Automation, que combina desarrollo en Python, gestión de bases de datos relacionales, e infraestructura como código en Azure.
El sistema permite recopilar y analizar la actividad musical de usuarios de Last.fm, almacenando la información en MySQL o PostgreSQL y desplegando el entorno completo con Terraform + Ansible + Docker.
- 00:00 - Script de despliegue automatizado
- 00:30 - Infraestructura Terraform
- 02:30 - Configuración Ansible
- 06:33 - Instalación dependencias Python
- 06:50 - Extracción datos LastFM
- 12:10 - Despliegue Frontend Flask
- 12:50 - Verificación final
- 00:00 - Presentación y estadísticas rápidas
- 00:40 - Ejecución completa ETL (40,000+ registros)
- 08:45 - Inspección archivos JSON/CSV
- 10:20 - Extracción selectiva de datos
- 11:50 - Manejo de errores y validación
- 00:00 - Presentación y ejecución completa
- 08:35 - Verificación de tablas y estructura
- 09:40 - Consultas SQL de validación
- 00:00 - Presentación y ejecución completa
- 07:45 - Verificación de tablas y estructura
- 08:42 - Consultas SQL de validación
- GitHub Pages: Visualización de registros
→ Ejemplo de los datos extraídos y procesados por el pipeline
Last.fm API → Python ETL (lastfm.py / lastfm_db.py) → BBDD (MySQL/PostgreSQL)
- Flask App + Nginx → Azure VM (Terraform + Ansible)
- Visualización en GitHub Pages
Componentes principales:
- Backend: scripts Python para extracción y almacenamiento de datos desde la API de Last.fm.
- Cloud: despliegue automático en Azure mediante Terraform y Ansible.
- Frontend: aplicación Flask servida por Nginx con contenedores Docker.
- Visualización: datos expuestos en tablas interactivas a través de GitHub Pages.
| Categoría | Tecnologías |
|---|---|
| Lenguaje | Python, Bash |
| Infraestructura | Azure Cloud, Terraform, Ansible |
| Contenedores | Docker |
| Bases de datos | MySQL, PostgreSQL |
| Web | Flask, Nginx |
| Otros | API REST, Pandas, JSON, CSV, HTML5, CSS3 |
El proyecto incluye automatización completa de infraestructura en Azure:
- Terraform: crea la red, máquina virtual Debian 12 y seguridad.
- Ansible: instala Docker y lanza contenedores (MySQL, PostgreSQL, Nginx, Flask).
- Python: extrae los datos de Last.fm y los carga en las bases de datos.
📘 Ver detalles en
cloud/azure/README_AZURE.md
├── backend/ # Scripts Python (extracción y carga de datos)
├── cloud/azure/ # Terraform + Ansible para despliegue automatizado
├── docs/ # GitHub Pages (visualización de datos)
├── logs/ # Salidas de los procesos
├── screenshoots/ # Capturas del sistema y despliegue
└── README.md
Imágenes del dashboard y despliegue en Azure:
![]() |
![]() |
|---|---|
| Frontend - portada Flask | Visualización de artistas |
![]() |
![]() |
|---|---|
| Canciones registradas | Historial de reproducciones |
- Diseño de pipelines de datos reproducibles (ETL real con Python y SQL).
- Automatización de infraestructura cloud mediante Terraform y Ansible.
- Integración de contenedores Docker para aplicaciones y bases de datos.
- Publicación de resultados y visualizaciones con GitHub Pages.
David Vázquez Rodríguez
📍 Madrid, España
💼 LinkedIn
💻 GitHub
© 2025 - Proyecto personal orientado a aprendizaje y portfolio profesional.


