Link Shortener — FAS @ UniTN
URL shortener self-hosted con stack di osservabilità production-grade
Di cosa si tratta?
Un link shortener self-hosted realizzato come progetto di gruppo per il corso di Fondamenti di Amministrazione di Sistema a UniTN. L'applicazione Flask espone un REST API (documentata con Swagger/OpenAPI) per creare e risolvere link brevi, persistendo i dati in MySQL. L'intero stack gira su Docker Compose e può essere deployato su un server remoto tramite playbook Ansible.
Stack di Osservabilità
L'obiettivo principale del corso era costruire e operare uno stack di osservabilità production-grade accanto all'applicazione — non solo consegnare l'app, ma essere in grado di vederla girare.
- Prometheus raccoglie metriche applicative personalizzate: request rate, latenza P50/P95/P99, link creati totali, redirect totali.
- Loki + Promtail aggregano i log applicativi JSON strutturati in uno store di log centralizzato e interrogabile.
- Le dashboard Grafana sono auto-provisionate all'avvio dello stack — nessuna configurazione manuale richiesta.
- Sentry cattura e raggruppa le eccezioni dell'applicazione con stack trace completi per un debugging rapido.
Stack Tecnologico
Deployment
L'intero stack — applicazione, database e pipeline di osservabilità — è definito in Docker Compose. Un set di playbook Ansible gestisce il provisioning e il deployment su un server Linux remoto: un approccio infrastructure-as-code ripetibile dove l'intero stato del sistema è descritto in file versionati.
Team
Progetto di gruppo sviluppato con Ismaele De Giorgi.