Salta el contingut

Cas pràctic: Migració a contenidors

Descripció del projecte

L'empresa TecnoSapa SL té 5 servidors físics antics que gestionen els seus serveis TIC (web, correu, monitoratge, VPN i backup). La direcció ha decidit migrar tots els serveis a contenidors Docker en un servidor nou, amb l'objectiu de reduir costos, facilitar el manteniment i millorar la disponibilitat.

Durada total: 6 setmanes (3 sprints de 2 setmanes). Equip: 4 tècnics de sistemes.


Visió del projecte i Product Goal

Product Goal:
Al final del projecte, tots els serveis de TecnoSapa SL
estaran desplegats en contenidors Docker al servidor nou,
amb monitoratge actiu, documentació actualitzada
i procediment de backup verificat.

Product Backlog inicial

Epic 1: Infraestructura base

ID Historia Story Points Prioritat
S01 Com a sysadmin, vull que el servidor nou tingui Docker i Docker Compose instal·lats i configurats, per poder desplegar contenidors. 3 Alta
S02 Com a sysadmin, vull tenir un repositori Git per als fitxers de configuració (docker-compose.yml, .env, configs), per poder versionar els canvis. 2 Alta
S03 Com a sysadmin, vull definir la xarxa Docker interna i el sistema de volums persistents, per garantir que les dades sobreviuen als reinicis. 5 Alta

Epic 2: Migració de serveis

ID Historia Story Points Prioritat
S04 Com a usuari, vull que el servidor web (Nginx + aplicacio PHP) funcioni al contenidor nou amb el mateix domini, per no notar la migració. 8 Alta
S05 Com a usuari, vull que el servidor de correu (Postfix + Dovecot) funcioni al contenidor nou, per enviar i rebre correu sense interrupcio. 13 Alta
S06 Com a sysadmin, vull que la VPN (WireGuard) funcioni al contenidor nou, per permetre l'acces remot segur. 5 Alta
S07 Com a sysadmin, vull que el sistema de monitoratge (Zabbix o Prometheus+Grafana) monitoritzi tots els contenidors nous, per detectar problemes rapidament. 8 Mitjana
S08 Com a sysadmin, vull que els backups automatics es facin als nous contenidors i s'enviïn a l'emmagatzematge extern, per no perdre dades. 5 Alta

Epic 3: Documentació i transició

ID Historia Story Points Prioritat
S09 Com a sysadmin, vull que tota la configuració estigui documentada al wiki intern, per poder operar i recuperar el sistema sense l'autor. 3 Mitjana
S10 Com a director tecnic, vull un procediment de rollback documentat per a cada servei, per poder revertir en cas d'incident durant la migració. 5 Alta
S11 Com a sysadmin, vull realitzar les proves d'acceptació amb el client final (direccio) i obtenir el sign-off, per tancar el projecte formalment. 3 Alta

Planificació dels sprints

Sprint 1 — Infraestructura i primer servei

Sprint Goal: El servidor nou té l'entorn Docker operatiu i el servei web migrat i funcionant.

Item SP
S01 — Docker instal·lat i configurat 3
S02 — Repositori Git de configuració 2
S03 — Xarxa i volums Docker 5
S04 — Servidor web migrat 8
Total 18

Sprint 2 — Serveis crítics

Sprint Goal: Correu i VPN migrats i en produccio. Backups verificats.

Item SP
S05 — Servidor de correu 13
S06 — VPN WireGuard 5
S08 — Backups automatics 5
Total 23

Sprint 3 — Monitoratge, documentació i tancament

Sprint Goal: Monitoratge actiu, tota la documentació al wiki, sign-off del client.

Item SP
S07 — Monitoratge 8
S09 — Documentació wiki 3
S10 — Procediment rollback 5
S11 — Proves d'acceptació 3
Total 19

Definition of Done del projecte

Un item es considera DONE quan:
[ ] El contenidor esta desplegat i el servei respon correctament.
[ ] La configuració esta al repositori Git (commit signat).
[ ] El servei esta documentat al wiki (URL, ports, variables d'entorn, procediment de reinici).
[ ] S'han executat les proves dels criteris d'acceptació i estan documentades.
[ ] El Scrum Master ha verificat i tancat l'issue a l'eina (Jira / GitHub Projects).
[ ] No hi ha alertes crítiques actives relacionades amb el servei.

Activitat RA5 — Sprint 1

Executeu el primer sprint del projecte de migració:

  1. Feu el Sprint Planning: reviseu el backlog, confirmeu l'Sprint Goal i descomposeu els items en tasques.
  2. Manteniu el tauler actualitzat durant tot el sprint (Daily Scrum cada dia de classe).
  3. Al final del sprint, feu la Sprint Review: demostreu el servidor web funcionant al professor.
  4. Feu la Retrospectiva: que ha anat bé? Que milloreu al Sprint 2?
  5. Documenteu el Burndown Chart i la Velocity del Sprint 1.