venerdì, settembre 14, 2007

Le 10 lezioni più importanti dell'ultimo anno di lavoro

Nell'ultimo anno ho partecipato ad un progetto di grosse dimensioni. Mi sono occupato del setup degli ambienti di sviluppo, dei rapporti con la società che fa Facility Management per gli ambienti di certificazione e produzione, della gestione dei deploy. E ovviamente di ogni sorta di strani problemi, emergenze, malfunzionamenti, drammi e di un sacco di MERDONI (tecnically speaking).

Ho imparato molte cose dal punto di vista tecnico e non solo. Di seguito alcune delle più importanti lezioni:
  1. BACKUP! sempre backup, appena inizia il progetto, prima di iniziare, prima prima prima di tutto pensare ai backup. Ho visto droppare tutti gli utenti del database di certificazione per un equivoco, e ovviamente non era ancora stato messo sotto backup. Ho visto sparire un filesystem in produzione (è scappato un rm -rf ?) e grazie a dio c'erano i backup. Ho visto sparire la directory degli script dei programmi batch sull'ambiente di sviluppo (sempre un rm -rf di troppo) ad un mese dall'inizio dei test, ma grazie a dio gli script erano in subversion.
  2. La sicurezza è un'utopia. Se venissero rispettati tutti i requisiti di sicurezza, non si riuscirebbe a lavorare. Quindi, anche se ci sono un sacco di persone che cercano di blindare i sistemi, per permettere alle persone di lavorare ci sono sempre un sacco di buchi. Alcuni degli strumenti più utili per permetterci di lavorare sono stati:
    • SSH tunneling (detto anche port forwarding), che è la vera disgrazia per ogni firewall e la salvezza per tutti quelli che stanno dietro ad un firewall. A volte anche in combinazione con proxy SOCKS per rimbalzare da qui a la.
    • orabf: una vera beffa alla sicurezza, soprattutto se i DBA usano la stessa password per tutto, da oltre 5 anni, e la password è di 5 caratteri. Anche Oracle ci mette la sua... orabf funziona perché le hash delle password sono visibili da qualunque utente... i sistemi unix hanno adottato le shadow password da almeno 10 anni.
  3. Gestire 4 Terabyte di storage non è semplice. Nemmeno su un sistema che costa un sacco di soldi, con dischi superveloci, e tutto quello che volete. L'I/O è un vero collo di bottiglia. Non pensare di spostare 100GB in 5 minuti, anche se hai un sistema che costa 50K€. RAID 5 è una pessima idea (Really slow Array of Inexepensive Disk) a causa della lentezza nella scrittura dei dati. Forse l'unica soluzione è SAME, o Raid 10, che portano a dedicare metà dello storage fisico solamente alla ridondanza dei dati. Vallo a spiegare ai manager che se vogliono 4TB di filesystem devono comprare 8TB di dischi.
  4. Progetto grande==tante persone==tante riunioni==tante idee==tanto tempo sprecato a coordinare il tutto==tanti documenti che non leggerà mai nessuno!=KISS
Rimando le altre 6 lezioni più importanti ad un altro giorno... :-)

0 commenti: