Sep 092021
 

Grazie a Alex Pagnoni per avermi coinvolto!!!

Il problema del Body Rental è molto diffuso in Italia nel mondo del lavoro per quanto riguarda l’ambito IT. Purtroppo molte aziende spacciano il Body Rental con la Consulenza offrendo contratti di lavoro che possono arrivare anche ad un vero e proprio sfruttamento delle persone (non risorse).

La vera consulenza non è il Body Rental dove vieni abbandonato a te stesso presso un Cliente.

Una situazione che può capitare, e che può produrre ciò che viene definito “Debito Tecnico”, è quella di avere persone nel proprio gruppo di lavoro che non sono minimamente esperte di Informatica o di Ingegneria Informatica. Questo porta ad ottenere un prodotto scadente, che in futuro avrà non pochi problemi di manutenzione o di sicurezza.

Oltre a problemi tecnologici si arriva a problemi contrattuali nella definizione della R.A.L. che una persona vuole raggiungere dopo anni di esperienze lavorative. Se un ex-elettricista decidesse di reinventarsi e quindi lavora come programmatore, una persona che ha dedicato il proprio tempo e denaro alla propria formazione (ad esempio seguendo un corso di studi che lo ha portato ad una Laurea Magistrale in Ingegneria Informatica), questultima non potrà ottenere uno stipendo in funzione delle proprie capacità, ma semplicemente in relazione al mercato.

La presenza di persone non esperte fa si che la R.A.L. di riferimento si abbassa e quindi un vero e proprio esperto del settore non potrà ottenere quanto merita.

Non stiamo dicendo che persone che si reinventano non sono accettate (anzi tutto il contrario), ma occorre dare a Cesare quello che è di Cesare e quindi stipendiare correttamente le persone che lavorarno in un gruppo di lavoro in base ai titoli raggiunti e alla propria esperienza lavorativa, nonchè alle proprie competenze.

 Posted by at 11:26 am
Mar 092020
 

In tutti i progetti di sviluppo software ai quali si partecipa occorre eseguire una pratica comune: scrivere i log applicativi.

Laggare vuol dire monitorare il comportamento del sistema e permettere un’analisi delle attività registrate per migliorare i sistemi sviluppati o reperire informazioni relative ad un comportamento anomalo dell’applicazione.

Esistono diverse librerie e diversi tool per loggare un sistema e tutte dipendono dal linguaggio di programmazione che si usano, inoltre ogni libreria di log prevedere una configurazione specifica (semplice a piacere).

Lavorando con architetture a microservizi è stato notato che è possibile utilizzare i microservizi stessi per ottimizzare i log da inoltrare ad un qualunque tool che viene utilizzato per la raccolta e l’analisi, un esempio potrebbe essere un sistema come ELK (Elasticsearch, Logstash, e Kibana).

Di seguito un’architettura a microservizi che prevede la possibilità di inoltrare i log delle singole attività sfruttando la potenza dei microservizi stessi. La gestione dei log avviene attraverso le code utilizzando un qualunque sistema AMQ (Advanced Message Queuing), nel nostro esempio utilizzeremo RabbitMQ:

microservice architecture

Supponendo di utilizzare RabbitMQ come software open-source di message-broker, possiamo utilizzare una componente del software chiamata exchange che permette di inoltrare i messaggi in code specifiche se etichettati nel modo opportuno. Nel nostro caso possiamo etichettare i singoli messaggi come “logger” e quindi inoltrarli tutti in un’unica coda dalla quale uno o più microservizi ( nel gergo delle code definiti consumatori) catturano il messaggio e lo inoltrano al sistema ELK designato. Il livello di log può essere definito tramite configurazione del microservizio che inoltrerà al sistema ELK i log di diverso livello seguendo la gerarchia già nota a tutti gli sviluppatori e riportati in figura (la X rappresenta l’attivazione dei livelli di log):

FatalErrorWarnInfoDebugTraceAll
OFF
FatalX
ErrorXX
WarnXXX
InfoXXXX
DebugXXXXX
TraceXXXXXX
AllXXXXXXX

Così implementato il sistema permette di gestire i log anche utilizzando delle modalità proprietarie definita da un possibile Cliente che per esigenze interne non può richiedere particolari strisce di log che rispettano lo standard interno già definito.

Migliorato e tradotto in inglese ecco il mio stesso articolo nel blog della società dove lavoro https://insights.kdmforce.com/2020/03/10/custom-logging/