Tales from the Machine Room


Home Page | Comments | Articles | Faq | Documents | Search | Archive | Tales from the Machine Room | Contribute | Login/Register

Ridondondondandandante

Allora, quest'oggi una storia che parla di paranoia, sicurezza, dubbi di dimensione fallica ma soprattutto parla di quante cazzate la gente puo' sparare quando non sanno di cosa stanno parlando. Che e' sempre.

Tempo addietro $noivendiamoschifezze, nella persona di SL, ha contrattato per mettere in hosting un qualche sito interdet, che fino a li' non c'e' niente di anormale. Il sito avrebbe dovuto essere sviluppato da $porciconleali in Java (sigh) e fare uso di un qualche database (come al solito). Tutto normale insomma.

Poi per qualche motivo strano ad SL hanno incominciato a venire delle strane idee, suppongo che abbia parlato con l'amico della fidanzata del figlio dell'amico il quale si e' messo a raccontargli ca$$ate e tali ca$$ate si sono ancorate saldamente al suo cervello, invece di essere scaricate nella tazza del cesso come sarebbe convenuto. Comunquesia SL e' ritornato alla carica ed ha deciso di cambiare tutto l'hosting passando ad un hosting virtuale basato su quattro (4) server Web attaccati ad un load-balancer con funzioni di cache e due (2) server di database in configurazione master/master.

Ed a te che te ne frega? Direte voi. A me me ne frega perche' io sono il povero pistola che ha dovuto installarsela quella roba e cercare di farla funzionare.

Poi SL ha cominciato pure a blaterare di clustering e roba cosi'. A questo punto ho deciso che forse forse forse bisogna che ci si parli con sto' tipo per estrargli dal marasma che si trova al posto del suo cervello cosa esattamente sta' pensando.

SL - ...e quindi quello che voglio io e' che i servers possano condividere le informazioni di sessione in modo tale che indipendentemente da quale server viene usato l'utente abbia sempre le sue informazioni distribuite in maniera ridondante!
IO - Hummm... Ma che senso ha? Il load balancer e' preparato per mandare le richieste provenienti da un ip sempre allo stesso server, quindi non c'e' nessun bisogno di 'condividere' le sessioni.
SL - Ma supponiamo che il server muoia!
IO - Come muoia?
SL - Mettiamo che si sfascia, non funziona piu'! A questo punto se la sessione e' distribuita continua a funzionare tutto come se niente fosse no?
IO - Heee... un momento eh... Allora, prima di tutto le uniche informazioni utili che potrebbero essere nella 'sessione' sono se l'utente ha fatto qualche cosa di "attivo", tipo se gestite un qualche tipo di e-commerce o roba cosi', ma anche se fosse basta ficcare tutto nel database e collegarlo ad un banale cookie, si recupera il cookie dal browser dell'utente e si recuperano i dati dal database. Ma poi, come potrebbe esattamente il server "sfasciarsi"?
SL - Mettiamo che c'e' un guasto hardware!
IO - Voi vi rendete conto si' che i vostri "server" sono virtuali, quindi non esistono in realta' e sono solamente un parto della fantasia di un pezzo di software?
SL - Ma mettiamo che il server vero si rompe...
IO - Il server vero e' a sua volta un cluster con doppio alimentatore eccetera eccetera, e si appoggia ad una NAS che e' a sua volta ridondante eccetera eccetera. Ma a parte quello, se quella roba subisce un qualche tipo di crash hardware tutte le macchine virtuali vengono spazzate via completamente, insieme con il database. Ma perche' un tale avvenimento si verifichi significa che a) il datacenter e' stato colpito da una bomba o b) l'intero foxxuto paese e' affondato e stiamo nuotando! A quel punto avrete altri problemi di cui preoccuparvi piuttosto che le sessioni del server.

Piccola pausa mentre SL rimungina il concetto...

SL - Ma mettiamo il caso che invece che un difetto hardware sia un problema software...
IO - Tutti i server sono uguali, quindi hanno lo stesso software, le probabilita' che un server si schianti e gli altri continuino a funzionare sono le stesse che tutti i server si schiantino allo stesso tempo. Ma poi, che cavolo di software vi schianta il server esattamente?
SL - Bhe', per esempio mettiamo che la nostra web-application abbia dei problemi... voglio dire, prendiamo per esempio una roba come Google! Come fanno loro...
IO - Ecco, quello e' semplice. Notare che ho detto "semplice" e non "facile" che non e' la stessa cosa.
SL - Semplice?
IO - Si'. Si paga una mandria di sviluppatori per produrre una applicazione che non si sfascia e poi la si testa per un paio di settimane per essere sicuri che non si sfasci e solo dopo averla testata la si mette in produzione!
SL - Ma l'applicazione e' testata.
IO - Ah si? E allora come e' che abbiamo avuto 6 sottoversioni e bug-fixes in una settimana? E come e' che ogni volta che io avvio questa cacchio di cosa mi sputa fuori un bazilliardo di "exceptions"?
SL - Ah, si', ho detto questa cosa agli sviluppatori e loro mi hanno assicurato che quella roba li' non e' importante, e' perche'... hemmmm... (legge da una qualche mail che aveva tra la sua carta) la libreria fancazzola ci ha la piripincinciaccola con i piripincinciaccolini che...
IO - E se lo sanno e sanno quale e' il problema perche' non lo mettono a posto?
SL - Ma dicono che non e' un vero problema...
IO - Dissento e mi dissocio! E' come se io andassi da un concessionario a comperare una macchina, una bella macchina molto luccicante, ma al momento di girare la chiave di accensione tutti e quattro le portiere cadono per terra e la ruota di scorta viene catapultata fuori dal negozio, ma il venditore mi dice che "non e' un problema". Quando un pezzo di hardware o di software mi sputa fuori degli errori lo fa per dirmi che "qualche cosa non e' proprio per il verso giusto" e che magari bisognerebbe metterlo a posto.

SL rimane pensoso per un po'...

SL - Comunque ritornando al nostro discorso, se volessimo mettere il clustering di application per distribuire le sessioni che...

Ma Ma Ma Porka Porka Porka Mignotta Mignotta Mignotta! (ridondante, nel caso una fallisca).

Davide
13/12/2010 08:00

Previous Next

Comments are added when and more important if I have the time to review them and after removing Spam, Crap, Phishing and the like. So don't hold your breath. And if your comment doesn't appear, is probably becuase it wasn't worth it.

21 messages this document does not accept new posts
Lorenzino By Lorenzino - posted 13/12/2010 08:29

Inutile, con il cliente non si discute, Il cliente ha sempre ragione.

con il cliente si fanno fatture punitive in modo da togliergli dalla testa idee balzane. e se proprio non ci si riesce... tanto di guadagnato.

--
Lorenzino


Messer franz By Messer franz - posted 13/12/2010 09:15

Fagli conoscere il super server delle pompe funebri.Così ti chiederà di virtualizzarglielo in una macchina 386 con un programma in php richiedendo le stesse prestazioni.Ed allora si' che potrai andar fuori di testa!

--
Messer franz


Dotnette By Dotnette - posted 13/12/2010 09:43

Digli di si e poi fai tutto come al solito...

--
Dotnette


Antonino Russo By Antonino Russo - posted 13/12/2010 10:03

> Ma Ma Ma Porka Porka Porka Mignotta Mignotta Mignotta! (ridondante, nel caso una fallisca).

 

Mai vista una mignotta fallire... cheeky

--
Antonino Russo


Alberto By Alberto - posted 13/12/2010 10:20

Anche i cervelli dei CL dovrebbero essere ridondati, magari così si avrebbe la possibilità che ogni tanto funzionino correttamente.

Sarebbe stato interessante avere maggiori informazioni sul sito che si voleva così fortemente rinforzare: mi immagino che sia un sito da 100 visite al giorno dove le sessioni memorizzano informazioni a basso valore aggiunto (ovvero, non è un sito di commercio elettronico, ma un semplice sito vetrina di qualche azienda).

--
Alberto


Mallin Shetland@ Alberto By Mallin Shetland - posted 13/12/2010 18:15

 

> Anche i cervelli dei CL dovrebbero essere ridondati, magari così si avrebbe la possibilità che ogni tanto funzionino correttamente.

 

Hai presente il parlamento? Uno qualsiasi, tanto l'idiozia è infinita in tutti.

--
Mallin Shetland


Anonymous coward@ Alberto By Anonymous coward - posted 13/12/2010 21:10

 

> Anche i cervelli dei CL dovrebbero essere ridondati, magari così si avrebbe la possibilità che ogni tanto funzionino correttamente. 

 Io ho paura che invece di funzionare correttamente a moltiplicarsi sarebbero gli errori. Assumendo infatti che il cervello fornisca un fattore moltiplicativo di guadagno, diciamo k allora un CL, in quanto tale, fornisce un fattore 1/k. Ora, due CL (da un post precedente di D.B.) non fanno 2*CL, ma CL^2. E' quindi lapalissiano che un CL con due cervelli fornirebbe (1/k)^2 < (1/k) => FA PIU' DANNO. INESORABILMENTE. La magra consolazione è che infiniti CL con due cervelli farebbero un danno limitato...

--
Anonymous coward


ringo@ Alberto By ringo - posted 13/12/2010 22:52

Anche i cervelli dei CL dovrebbero essere ridondati, magari così si avrebbe la possibilità che ogni tanto funzionino correttamente.

I cervelli dei CL sono ridondati. Quando per sbaglio, durante una eclissi di sole, dovessero improvvisamente pensare a qualcosa di giusto, subentra immediatamente il backup dell'idiozia che si sovrappone alla parte pensante, riportandola immediatamente al livello standard: zero!

--
ringo


Davide Inglima By Davide Inglima - posted 13/12/2010 10:24

SL - ...e quindi quello che voglio io e' che i servers possano condividere le informazioni di sessione in modo tale che indipendentemente da quale server viene usato l'utente abbia sempre le sue informazioni distribuite in maniera ridondante!

E se si é rivolto a te e non ai suoi galoppini che gli hanno scritto il software c'é davvero qualche problema, ma l'avevamo già capito da supercazzola.jar. Penso che a $porciconleali ci sia un rapporto capoprogetto-sviluppatori come nella serie televisiva della BBC Yes Minister.

Comunque mi ha fatto venire in mente l'immagine dello spot di google con i netbooks bruciati, schiacciati o congelati e sbattuti contro uno spuntone ma con le teste dei vari SL di turno al posto dei pc. Buona giornata.

--
http://limacat.blogspot.com


Kurgan By Kurgan - posted 13/12/2010 10:49

Eh, l' SL che crede di sapere tutto, mixato con la moda del momento, mixato con un bel consulente geniale che fa presto a dire "cluster", tanto mica lo deve fare (o pagare) lui.

Fai un bel cluster di 5 macchine virtuali, tutte ridondate fra loro, e mettile sulla stessa macchina fisica. Poi aspetta che si rompa la macchina fisica.

--
Il massimo danno con il minimo sforzo


Nik By Nik - posted 13/12/2010 11:09

E' sempre sempre sempre la stessa stessa stessa storia storia storia

Anche l'idiozia è ridondante.

--
Chronicles of a Broken Heart


Franco By Franco - posted 13/12/2010 11:18

Melius ridondare quam deficere!!!! cheeky

--
Franco


Andrea Ballarati By Andrea Ballarati - posted 13/12/2010 11:25

Sulla faccenda della virtualizzazione si va da un estremo all'altro: gente che non vuole sentirne neanche parlare ed altri che metterebbero in una macchina virtuale anche il gatto di casa. Comunque se su un server sono presenti più vm ognuna delle quali ha la stessa probabilità di crashare in un dato momento, la probabilità che tutte crashino è sempre inferiore, esclusi i casi di probabilità sia nulla (le vm non si guastano mai) o unitaria (le vm non funzionano mai).

--
Andrea Ballarati


argaar By argaar - posted 13/12/2010 12:48

tanto è inutile...se non sanno come funziona hanno paura che non funzioni..è inutile spiegargli che "se ha da zompà, zompa il sito e tutto l'ambaradan" e in quel caso non c'è ridondanza che tenga (sopratutto se sono VM)

--
Noi esploriamo...e ci chiamate criminali...


Riccardo Cagnasso By Riccardo Cagnasso - posted 13/12/2010 12:59

Non ho capito una cosa.

Cioe', in realta' l'ho capita ma sto cercando di fare finta di non averla capita.

Questi tizi hanno preso un cluster, poi ci hanno installato un software di macchine virtuali (e fin qui' posso capire che la cosa abbia anche un senso) e poi ci hanno fatto sopra 6 macchine virtuali su cui hanno fatto un cluster virtuale? 

Ma sono io che non capisco le nuove incredibili frontiere della amministrazione dei sistemi oppure effettivamente questa e' una minchiata senza senso che non sta ne in cielo ne in terra?

--
Riccardo Cagnasso


Davide Inglima@ Riccardo Cagnasso By Davide Inglima - posted 14/12/2010 15:41

> Questi tizi hanno preso un cluster, poi ci hanno installato un software di macchine virtuali

> (e fin qui' posso capire che la cosa abbia anche un senso) e poi ci hanno fatto sopra 6

> macchine virtuali su cui hanno fatto un cluster virtuale? 

No, é molto più semplice: da quello che leggo, hanno comprato solo le sei macchine ridondate. La cosa atroce non é nemmeno la domanda di SL, é che SL non ha capito a chi porla.

Avere sessioni sharate, per garantire continuità, é uno dei "soliti" problemi che si vede in una infrastruttura intranet di una azienda di certe dimensioni (diciamo X dipendenti con X > 9000?), perché o si debbano poter effettuare degli hot deploy senza dover finire alle tre di notte, o perché comunque si debba permettere all'applicazione di autodistruggersi su un solo nodo senza che tutto il sistema si porti appresso i dati importantissimi dell'utente urlando "!viva la revoluciòn!".

Solo che la risposta giusta alla domanda é: non sono cazzi di DB, sono cazzi di SL e $porciconleali, che il software se lo devono fare perché si "shari le sessioni".

Se vuoi una cosa del genere hai bisogno di un project manager pagato $CIFRONE e che non ti rifili supercazzole, hai bisogno che il suo team non sia pieno di stagisti non pagati che si divertano a guardare film porno tutto il giorno e a scrivere "hacia abajo las manos por el Real Madrid" in prima pagina quando gli sbattono fuori la squadra del cuore dalle coppe, e hai anche bisogno che il software sia pagato $CIFRONE_IN_PIU perché c'é bisogno o di usare $FRAMEWORK_PROPRIETARIO, oppure di sviluppare il framework in casa (no, l'ultima volta che ho controllato non c'erano di webclustering pronte con plugin per eclipse da craccare per fare questo con tre click, mi dispiace).

--
http://limacat.blogspot.com


Adriano@ Riccardo Cagnasso By Adriano - posted 14/12/2010 17:42

> Questi tizi hanno preso un cluster, poi ci hanno installato un software di macchine virtuali (e fin qui' posso capire che la cosa abbia anche un senso) e poi ci hanno fatto sopra 6 macchine virtuali su cui hanno fatto un cluster virtuale? 

"Yo dawg, I heard you liked virtualization, so I put a cluster in your cluster so you can virtualize while you virtualize"

--
Adriano


orso By orso - posted 13/12/2010 12:59

"Ma perche' un tale avvenimento si verifichi significa che a) il datacenter e' stato colpito da una bomba o b) l'intero foxxuto paese e' affondato e stiamo nuotando! A quel punto avrete altri problemi di cui preoccuparvi piuttosto che le sessioni del server"

comincio a pensare che dopo tanti anni passati a "curare" cl e sl tendi a dimenticare un fattore importante ...

te quando parli , loro non ascoltano , o perlomeno , aspettano solo che tu dica si , avete ragione , facciamo come volete voi

comunque grazie per la perla ....

--
orso


robibo By robibo - posted 13/12/2010 14:03

>Ma Ma Ma Porka Porka Porka Mignotta Mignotta Mignotta! (ridondante, nel caso una fallisca)

Eheheh!

Mi sa che quel tipo ha dei problemi dall'infanzia, continua a sentire nelle orecchie la mamma che gli dice "ma metti che...."

--
robibo


Andrea By Andrea - posted 13/12/2010 14:20

Lo sproloquio ridondante! Ecco la vera ancora di salvezza dell'inforNatico moderno!

Tu sei un maledetto genio.

--
Andrea


Renaissance By Renaissance - posted 24/12/2010 22:10

Mi sembra abbastanza evidente che il tuo boss non abbia ben capito che un cluster non protegge  da applicazioni scritte a c***o. :-\)

bye G.L.

--
Renaissance


21 messages this document does not accept new posts

Previous Next


This site is made by me with blood, sweat and gunpowder, if you want to republish or redistribute any part of it, please drop me (or the author of the article if is not me) a mail.


This site was composed with VIM, now is composed with VIM and the (in)famous CMS FdT.

This site isn't optimized for vision with any specific browser, nor it requires special fonts or resolution.
You're free to see it as you wish.

Web Interoperability Pleadge Support This Project
Powered By Gojira