Storie dalla Sala Macchine


Home Page | Commenti | Articoli | Faq | Documenti | Ricerca | Archivio | Storie dalla Sala Macchine | Contribuire | Login/Register

Esperti

Scena: Giorno - Interno ufficio IT - Il sysadmin siede al suo tavolo tasteggiando allegramente al computer. Improvvisamente la porta si apre ed un CL entra brandendo una scarpa in condizioni abbastanza pietose.

CL - Mi serve una scarpa con il tacco robusto!
Io - Hemmm... questo qui e' l'ufficio IT, io non sono un calzolaio...
CL - (agitando la scarpa) SCARPA! TACCO! ROBUSTO!
Io - Aho' calma. Che cappero stai combinando?
CL - Mi serve una scarpa con il tacco robusto! Te l'ho gia' detto.
Io - Ed io ti ho gia' detto che non sono un calzolaio! A che accidenti ti serve la scarpa?
CL - (mostra un grosso chiodo) Devo piantare questo nel muro!
Io - ...e perche' non usi un martello invece?
CL - Martello? Ma che martello! Scarpa! Tacco!

La scena svanisce con effetto wibbidly-wobbidly.

Ok, ammetto che questo non e' (ancora) capitato, ma non e' che la cosa mi stupirebbe troppo.

Spesso e volentieri, ci sono individui che si "specializzano" nel fare determinate cose in un determinato modo, questo e' quello che si chiama "acquisire competenza" e non c'e' niente di male in cio'. Il problema e' quando la "competenza" acquisita diventa l'unica esistente e la persona in questione vede una sola soluzione per ogni problema, indipendentemente dal tipo di problema.

La situazione in genere viene peggiorata quando lo "specialista" in questione e' in possesso di informazioni frammentarie, incomplete o brutalmente sbagliate. In tal caso, si forma nella testa dell'individuo un'idea che viene applicata ripetutamente e che produce risultati inattesi. Questo in genere si traduce nel tentare ripetutamente una "soluzione" che non funziona.

E dopo questa introduzione teatrale, parliamo di $noisappiamotutto, una ditta che... faceva diverse cose.

Questa gente aveva acquisito una determinata specializzazione in un campo molto specifico ed era molto contenta di vendere tale "esperienza" a prezzo elevato (credo si chiami "consultanza"). Il problema non era il fatto che erano competenti in un campo molto piccolo, ma che si erano convinti che tale "competenza" si estendesse anche ad altri campi che non erano per niente correlati con il primo.
Per esempio, avevano deciso di mettere in piedi un qualche tipo di "database" e dare ad alcuni accuratamente selezionati clienti (aka: chiunque disposto a pagare $$$) accesso alle informazioni ivi contenute. E dato che erano "comptenti" (nel senso che avevano probabilmente letto un paio di articoli da qualche parte) avevano deciso la loro architettura, dopodiche avevano spedito una mail a MarketingMan il quale aveva passato la cosa a qualcun'altro, e questo era stato tutto il processo di "architettura di rete".

Fast Forward di un paio di mesi quando il loro database apparentemente entra in coma ed ovviamente $noisappiamo cominciano a strillare istericamente.

Dato che quel giorno io ero addetto agli strillamenti, mi misi a guardare dove stava il problema.

Il database sembrava funzionare correttamente, almeno io non vedevo nessun problema. L'applicazione usata per l'accesso sembrava funzionare altrettanto bene. Quindi il problema era da qualche altra parte.

Tuttavia, notai che ripetendo la richiesta diverse volte, di tanto in tanto beccavo un "error 500". Ma quell'errore non lo vedevo riportato nel log dell'applicazione... Qualche cosa quindi non funzionava come doveva.

Dopo un po' di tempo passato a ravanare scoprii che l'idea di $noisappiamo di "sistema ridondante" consisteva nell'avere due server di frontend con due indirizzi IP diversi e mettere entrambi gli indirizzi nel DNS. Il guaio era che uno di questi due server di Frontend era hostato da qualcun'altro, qualcuno con un range di indirizzi IP molto simile al nostro ma non identico. E quel particolare server sembrava avere qualche problema.

Ping rispondeva, potevo mandare una richiesta e dopo un certo tempo ricevevo un bel 500. A questo punto la mia ipotesi era che il server era KO o la connessione tra quel server ed il loro database era Ko. Ma questo avrebbe dovuto essere controllato dall'hosting che era responsabile di quel coso e non noi.

Quindi, quando il DNS ritornava l'IP del server "sifulo", ricevevo un errore, in ogni altro caso ricevevo la risposta che mi aspettavo. Ed ovviamente il DNS non era gestito da noi quindi non potevo farci un tubo.

Dopo aver composto una mail di risposta che sostanzialmente diceva "state abbaiando sotto l'albero sbagliato", chiusi il ticket e mi occupai di altro. Ma, ovviamente, questa non era l'idea di $noisappiamo. Dopo un quarto d'ora circa questi erano alla carica, per via telefonica, nella persona di CL.

CL - Come sarebbe a dire non siete voi che gestite quella roba?
Io - Il server che riporta errore e' gestito da $altroISP, pertanto dovete domandare a loro quale e' il problema, io non posso farci niente.
CL - Ma l'altro server dovrebbe rispondere.
Io - Ed infatti risponde benissimo, gli errori sono riportati dall'altro server.
CL - Ma se il server risponde non dovremmo ricevere nessun errore!
Io - Hummm... Non so se sono stato chiaro, gli errori sono riportati dall'altro server, quello che e' hostato da $altroISP che voi dovreste contattare per...
CL - Ho capito benissimo, noi siamo ESPERTI! Uno dei server risponde per tanto dovrebbe rispondere lui e non quello che non funziona! Perche' non lo fa?
Io - ...ok, a questo punto sono confuso, come potrebbe il server che abbiamo noi rispondere alle richieste che sono inviate all'altra macchina se non c'e' una connessione tra le due?
CL - Ma certo che c'e' una connessione, sono entrambi nel dns no?
Io - E questo che vuol dire?
CL - Come sarebbe a dire che vuol dire? Non dovreste essere anche voi esperti?
Io - Magari non ho capito io.
CL - Che tutti e due i server sono nel dns, quindi se uno dei due non risponde l'altro dovrebbe farlo.
Io - Hmmm... No, il DNS non funziona cosi'.
CL - Ma che state dicendo?
Io - Forse state parlando di un load balancer, ma non vedo nessun load balancer nella vostra infrastruttura...
CL - Ma quale load balancer quelle cose non servono a niente, noi abbiamo il DNS e quello dovrebbe rispondere sempre con il server buono.
Io - No, il DNS non funziona cosi'. Il DNS converte il nome host in uno o piu' indirizzi IP, e questo e' quanto. Il DNS non fa nessun controllo sulla funzionalita' dei server che sono dietro o altro.
CL - Ma che state dicendo? Esperti...

La discussione ando' avanti un po', poi venne chiamato in causa il capo, ed il capo del capo. Ed alla fine fummo tutti invitati ad una bella riunione. E gli venne spiegato da diverse persone che, NO, il DNS NON FUNZIONA COSI'. E quello che vogliono loro e' un Load Balancer.

CL - Si e poi se il load balancer si rompe?

Ora, qui e' il caso di aprire una piccola parentesi. Questa storia del "server che si rompe" e' un po' una cagata pazzesca oramai. Tanto (ok, non tanto tanto) tempo fa, avevamo a che fare con server e macchine fisiche costose e quindi tutti quanti cercavano di risparmiare all'osso, riutilizzando macchine che erano parecchio oltre la loro vita utile o riciclando roba che tanto di qualita' non era. Che l'hardware ad un certo punto cedesse non era una cosa cosi' tanto anomala. Ma siamo nel 201x! Sono passati diversi annetti da quando VMWare sconcerto' il mondo creando server virtuali, ed oggi c'e' una buonissima probabilita' che un qualunque "server" sia in effetti un'insieme di software eseguito da un qualche cluster di macchine, dove il crash di una singola macchina non viene manco notato. Ed i dischi sono anche loro "fette" di un qualche mega-volume da qualche parte. Percui il fatto che "il server si rompe" non e' piu' tanto un'evento da considerare. Ed anche se si verifica, un altro server identico puo' essere "installato" nel giro di pochi minuti quindi... No. Non e' un problema.

Tutto quanto risolto quindi? Se fosse cosi' non stareste leggendo questa roba. Perche' il problema di un "esperto" e' che in molti casi non accetta il fatto che la sua "esperienza" sia messa in dubbio. Percui $noisappiamo decise per non uno, ma DUE load balancer... In due hosting diversi... Ed ognuno dei due... Aveva un solo backend ovviamente. E gli IP dei load balancer erano entrambi nel DNS. Cosi' in caso uno dei due fosse malfunzionante, qualcuno avrebbe dovuto riconfigurare il load balancer per redirigere la connessione sull'altro server. Ed ovviamente noi non avevamo la possibilita' di riconfigurare il load balancer installato dall'altro ISP e viceversa.

Davide
14/01/2019 12:56

Precedente Successivo

I commenti sono aggiunti quando e soprattutto se ho il tempo di guardarli e dopo aver eliminato le cagate, spam, tentativi di phishing et similia. Quindi non trattenete il respiro.

8 messaggi posta messaggio
Messer Franz Di Messer Franz - postato il 04/03/2019 09:34 - rispondi

ho provato a leggere la tua storia appena alzato, quando mi snebbio con un po' di internet. Leggo la prima riga, e leggo " Il sysadmin siede al suo tavolo FESTEGGIANDO allegramente"..no, DB non festeggia mai al lavoro se non quando esce dalla porta e si dirige a casa sua o quando riceve lo stipendio (e si dirige a casa sua)...mi sa che devo rileggerlo quando sono più snebbiato...bello saper riconoscere i lapsus al primo sguardo, dà l'impressione "conosco il sito"..

--
Messer Franz


Messer Franz Di Messer Franz - postato il 04/03/2019 09:35 - rispondi

Due cose:

Primo: "Ma quale load balancer quelle cose non servono a niente"...si sa, difatti ,che i load balancer vengono utilizzati per rendere più trendy il server aggiungendo icone colorate che rendono il desktop più vivace e che così rendono il sistemista più alllegro e performante, ma i veri uomini vogliono il server monocromatico.. non bicromatico, nero e bianco (o nero e verde, per chi avesse ancora gli incubi a riguardo), ma nero e basta... e loro vogliono solo sistemisti che fanno paura anche a Chuck Norris...

Secondo: "un altro server identico puo' essere "installato" nel giro di pochi minuti"...anche quando non ti dicono cosa deve esserci dentro al server, che impostazioni fare e quanto grosso deve essere?...minuti per installarlo standard, mesi per litigare perchè dovresti aver fatto quello che non ti avevano detto di fare ma avresti dovuto capirlo con i poteri ESP del sistemista!...evidentemente non sei esperto quanto loro, vedi che hanno ragione?

 

--
Messer Franz


Davide Bianchi@ Messer Franz Di Davide Bianchi - postato il 04/03/2019 13:11 - rispondi

Secondo: "un altro server identico puo' essere "installato" nel giro di pochi minuti"...anche quando non ti dicono cosa deve esserci dentro al server,

Ok, la frase corretta sarebbe "un server puo' essere CLONATO nel giro di pochi minuti, gli snapshot aiutano".

 

 

 

--
Davide Bianchi


Anonymous coward Di Anonymous coward - postato il 04/03/2019 16:04 - rispondi

Secondo me alla riunione avresti potuto benissimo saltare alla gola di $ESPERTO e dilaniargli la carotide a morsi. Mi immagino la scena: sangue ovunque, colleghi impietriti ma sotto sotto felicissimi, tu che ululi sul cadavere di $ESPERTO, $ESPERTO2 inorridito dal fatto che il prossimo sarebbe stato lui.

Sei incensurato, un avvocato coi coglioni avrebbe gioco facile a farti dicharare infermo di mente. con 5 anni di ospedale psichiatrico te la caveresti... vuoi mettere la soddisfazione?

--
Anonymous coward


magaolimpia Di magaolimpia - postato il 04/03/2019 20:32 - rispondi

"Per cui il fatto che "il server si rompe" non e' piu' tanto un'evento da considerare. "



BWUAHAHAHAHAHAHA

--
magaolimpia


Guido Di Guido - postato il 05/03/2019 08:22 - rispondi

Dovresti mettere un disclaimer perche' leggere di uno che confonde DNS con "load balancer" e' pesa parecchio...

--
who uses Debian learns Debian but who uses Slackware learns Linux


Massimo m. Di Massimo m. - postato il 06/03/2019 20:42 - rispondi

Che il server si possa rompere, è possibilissimo.

L'unica differenza tra il server fisico e il virtuale è che quando si schianta il server fisico che ospita il virtuale, si schiantano N server virtuali.

--
Massimo m.


Davide Bianchi@ Massimo m. Di Davide Bianchi - postato il 07/03/2019 08:37 - rispondi

L'unica differenza tra il server fisico e il virtuale è che quando si schianta il server fisico che ospita il virtuale, si schiantano N server virtuali.

Se fai le cose "per bene", il server fisico non e' UN server ma un cluster di macchine, percui che UN server si rompa non fa nessuna differenza. La mia esperienza e' che non e' il server a rompersi ma l'admin che fa una qualche cagata.

 

--
Davide Bianchi


8 messaggi posta messaggio

Precedente Successivo


Il presente sito e' frutto del sudore della mia fronte (e delle mie dita), se siete interessati a ripubblicare uno degli articoli, documenti o qualunque altra cosa presente in questo sito per cortesia datemene comunicazione (o all'autore dell'articolo se non sono io), cosi' il giorno che faccio delle aggiunte potro' avvisarvi e magari mandarvi il testo aggiornato.


Questo sito era composto con VIM, ora e' composto con VIM ed il famosissimo CMS FdT.

Questo sito non e' ottimizzato per la visione con nessun browser particolare, ne' richiede l'uso di font particolari o risoluzioni speciali. Siete liberi di vederlo come vi pare e piace, o come disse qualcuno: "Finalmente uno dei POCHI siti che ancora funzionano con IE5 dentro Windows 3.1".

Web Interoperability Pleadge Support This Project
Powered By Gojira