Ricerca in FOLBlog

[SdSM] Chi Piu’ Risparmia…

 Scritto da alle 06:27 del 03/08/2013  Aggiungi commenti
Ago 032013
 
closeQuesto articolo è stato pubblicato 3 anni 9 mesi 26 giorni giorni fa quindi alcuni contenuti o informazioni presenti in esso potrebbero non essere più validi. Questo sito non è responsabile per eventuali errori causati da questo problema.

Gustave_Doré_-_Dante_Alighieri_-_Inferno_-_Plate_10_(Canto_III_-_Charon_herds_the_sinners_onto_his_boat)

Ritorniamo a parlare di $noiguardiamolavostrarobba di cui avevo gia’ detto abbastanza.

Quando, due anni fa, l’allora SL di belle speranze e di tasche gonfie di soldi prestati dalla banca aveva iniziato la sua ventura, si era deciso di avere due ambienti paralleli, uno per la “produzione” ed uno per il test. In modo da poter provare le cose in maniera piu’ o meno veritiera prima di scaraventarle su internet a pigs&dogs. Ora, tutti sanno che il problema dell’avere un ambiente di ‘test’ veritiero e’ il tenerlo il piu’ possibile “allineato” con quello di produzione, se i due ambienti si sballano piu’ di tanto non ha alcun senso.

Dato che, visti gli ultimi ribaltamenti, SL ed UL hanno deciso di farsi i rilasci da soli, lo stato di tali ambienti e’ andato piu’ o meno alla deriva per cavoli loro. E dato che hanno deciso di aggiungere altri servers all’ambiente di produzione, per evitare “costi eccessivi”, hanno anche deciso di dismettere l’ambiente di test sostenendo che “non e’ utile alla funzionalita’ del sistema” (cioe’ hanno preteso di farsi le prove in casa sulla stessa macchina su cui fanno lo sviluppo). Ovviamente la mia osservazione che un ambiente di test su cui si fa anche lo sviluppo non e’ proprio il meglio per fare dei test non e’ stata bene accetta.

Comunque sia, dopo i ribaltamenti di cui ho gia’ accennato i due sarchiaponi sono andati avanti per cavoli loro. Fino ad oggi, quando, all’alba delle 9.30 ricevo una bella telefonata da SL che vuole sapere quanto e’ il “carico” del loro foxxutissimo database server. Probabilmente pure lui ha letto lo stesso articolo di questa gente.

Dopo avergli spiegato pure a lui che il load average non e’ il modo migliore di giudicare il carico di un sistema (spiegazione che, come previsto, non e’ stata minimamente recepita) il tipo si mette a parlare di come a mezzogiorno vogliono fare un mega-rilascio e quindi sono preoccupati per il carico del database.

SL – …e quindi vogliamo, se possibile, aggiungere una CPU al nostro databaseserver.
IO – Hummm (guardo lo stato dell’host) In tal caso sarebbe meglio spostare la macchina virtuale su un diverso host dato che quello su cui si trova ha gia’ tutte le cpu occupate, mentre quest’altro host ne ha a bizzeffe.
SL – Ma quanto ci vuole a spostare la macchina?
IO – Spegnere la macchina, spostarla da un host all’altro, aggiungere cpu, avviare, aggiornare tools, riavviare… un 10~15 minuti credo.
Urla, gemiti, grida, rantoli di terrore ed orrore, immaginatevi un girone infernale dantesco a caso ed avete una vaga idea della cosa
SL – QUINDICIMINUTI!!! No no,.. troppo tempo, non possiamo avere tutto questo downtime!
IO – Ma non dovete anche fare un mega-rilascio?
SL – Si’.
IO – Con aggiornamento del database?
SL – Si’.
IO – E non fate anche un backup del database prima di aggiornarlo?
Urla, gemiti, grida, rantoli di terrore ed orrore, immaginatevi un girone infernale dantesco a caso ed avete una vaga idea della cosa
SL – No. Non possiamo permetterci tutto questo downtime!
IO – Quindi volete fare un update del database senza una possibilita’ di rollback? Vabbe’ il server e’ il vostro eh…
SL – Comunque, quanto costerebbe aggiungere la CPU?
IO – Hmmm… Bho, momento…

E detto questo gli passo DB per i dettagli monetari. Dopo una mezz’ora DB compare asciugandosi la faccia.

DB – Maronna! SL e’ una cosa insopportabile… Quando mia moglie ha fatto il parto cesareo si lamentava di meno…

(mi trattengo dal dirgli che forse sua moglie era anestetizzata)

IO – Quindi che si fa?
DB – Ok per l’aggiunta della cpu.
IO – Con downtime di 15 minuti?
DB – Si’ alla fine si e’ deciso.

Detto questo vado avanti a fare quello che dovrei fare fino alle 12, quando SL ricompare al telefono con sottofondo di geremiadi per darmi il via per il trasferimento. Eseguo mentre lui ed UL madonnano uno contro l’altro al telefono per installare, copiare ed aggiornare le varie cose nel loro mega-ambientone. Non c’e’ bisogno di dire che la nuova macchina virtuale e’ in funzione da una mezz’ora prima che questi arrivino al punto di ‘aggiornare il database’.

Tanto per divertimento guardo un po’ che cosa e’ cambiato nel loro megasistema… ed e’ cambiato parecchio di sicuro: non funziona piu’ un tubo. Dopo una quindicina di minuti mando una mail ad SL domandando se la cosa e’ attesa oppure no. Ricevo in risposta una mail che piu’ o meno dice “ci stiamo lavorando”.

La giornata trascorre con mail ad intervalli randomici che dicono “e’ a posto” seguite da “merda non e’ a posto per niente”. Alcuni dei server vengono riavviati a raffica (apparentemente e’ l’unico modo per far funzionare la nuova versione dell’applicazione). La cosa si trascina fino a circa le 8 di sera quando mi becco una telefonata da DB che mi domanda se posso richiamare SL prima che gli venga (a tutti e due) un collasso.

SL – (Urla, gemiti, gri…ok avete capito) E’ possibile fare un restore del database?
IO – Quale database? Quello di cui non facciamo piu’ i backup perche’ avete deciso che costava troppo?
SL – Si’ quello…
IO – Mah… l’ultimo backup e’ di 1 mese fa… non sono del tutto sicuro se funzioni.
SL – Non c’e’ un backup piu’ recente?
IO – Se non ne avete fatto uno voi prima di aggiornare no.
SL – No, non ho fatto un backup perche’ ci mette troppo tempo e volevamo ridurre il downtime.
IO – (mepensa: e adesso sei ad 8 ore di downtime, bella pensata del ca$$o) E allora non e’ che ci sia molto da fare. A meno che voi non possiate rifare l’aggiornamento a rovescio.
SL – Come sarebbe a dire?
IO – Rifare gli stessi aggiornamenti a rovescio, cioe’ invece di aggiungere togliere e roba cosi’…
SL – … non e’ che potreste darci una mano?
IO – Alle 8 di sera?

Per farla breve, sono stato fino quasi a mezzanotte per ‘rigirare’ lo script di aggiornamento e rimuovere selettivamente tutto quello che era stato modificato, certe cose ovviamente non possono essere rimosse (se fai un Update non ho idea di cosa ci fosse nei campi prima) ma a mezzanotte e’ sembrato che il loro foxxuto coso comiciasse a funzionare, se non altro non doveva riavviarsi ogni 5 minuti.

Come al solito, quando si cerca di salvare il centesimo si finisce con lo spendere le decine per rimettere a posto i casini. Ci sara’ da divertirsi quando SL ricevera’ la fattura per interventi straordinari fuori orario d’ufficio.

Davide

legenda personaggi

Articoli simili:

  • Facebook
  • Twitter
  • Delicious
  • StumbleUpon
  • Wikio
  • Reddit
  • Technorati
  • Segnalo
  • Live
  • Add to favorites
  • Email
  • RSS

 Lascia un commento

Puoi usare questi tag e attributi HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

(richiesto)

(richiesto)

Pinterest
EmailEmail
PrintPrint
%d blogger hanno fatto clic su Mi Piace per questo: