Agli ultimi Community Days, 2015 per i posteri, una delle mie slide era la seguente:

image

Nel contesto di quella presentazione, sempre per i posteri si parlava di NoSql, l’obiettivo era far notare come non ci fosse il giusto o lo sbagliato, in termini assoluti, quando si parla di database documentali, o in generale di lotta tra Sql e NoSql.

Allo stesso modo è sbagliato affermare che:

  • basso accoppiamento è bene, alto accoppiamento è male;
  • microservices è bene, monolite è male;
  • funzionale è bene, procedurale è male;
  • etc…

è interessante notare come tipicamente “bene” sia anche l’hype del momento e “male” sia qualcosa che arriva dal passato, spesso anche molto prossimo.

Quella distinzione tra bianco e nero è sbagliata a priori, è male :-), se non è calata in un contesto ben preciso. Dal mio punto divista ha senso dire:

In un determinato contesto, con determinate pre-condizioni e con determinati requisiti, una scelta è migliore di un altra.

(curioso come le scelte fatte, anche solo 6 mesi, spesso siano viste da chi le ha fatte con occhi ben diversi)

Credo però esista un motivo ben preciso che possa essere identificato come la causa principale della etichettatura “bene/male” in termini assoluti, motivo che vi deve spingere ad approfondire le teorie che ruotano intorno al concetto di “microservices” (prossimo falso mito).

Domanda: Quali sono i motivi per cui monolite dovrebbe essere “male”? e di conseguenza quali quelli per cui microservices invece sono “bene”.

.m