Microservizi per tutti?

Tag

,

Introduzione

Spesso quando si vuole realizzare una nuova applicazione o si vuole reingegnerizzarne una esistente si pensa a una architettura a microservizi. Questo tipo di soluzione è emersa negli ultimi anni come risposta a una serie di problemi come la scalabilità o la possibilità di consentire un processo di sviluppo più agile. La sua adozione porta con sé una serie di requisiti sia di processo che organizzativi che devono essere valutati in maniera approfondita. Lo scopo di questo articolo è fornire una panoramica dell’architettura a microservizi e dei requisiti per poterla utilizzare in maniera proficua.

Cos’è una architettura a microservizi?

Prima di approfondire le implicazioni legate alla realizzazione di una architettura a microservizi è opportuno darne una definizione per stabilire un “terreno comune”. Come già visto in un precedente articolo del blog, con il termine microservizi “si identifica un nuova tipologia architetturale con la quale progettare applicativi software”. Se si cerca una definizione più dettagliata, si vedrà che non ne esiste una univoca (cfr. Wikipedia) ma piuttosto si nota una visione condivisa.

A livello pratico, le principali caratteristiche che definiscono i microservizi sono:
• Comunicazione tramite protocolli di rete standard come per esempio http
• Rilascio e aggiornamento in maniera autonoma
• Realizzazione e raggruppamento per funzionalità applicative
• Realizzazione con tecnologie a seconda delle conoscenze/esigenze dei gruppi di lavoro
• Piccole dimensioni, gestione da parte di un solo gruppo di lavoro e rilascio in modo automatico (ovvero tramite software di continuos delivery)

Continua a leggere

DevOps in pratica: come integrare filosofia e realtà enterprise

Tag

Negli ultimi anni il termine DevOps è diventata una buzzword per molti professionisti del mondo IT. Sono proliferati articoli specialistici e contributi che approfondiscono l’argomento, ne spiegano la filosofia, gli aspetti tecnici e le implementazioni pratiche. Questo testo non ha quindi l’obiettivo di spiegare cosa sia DevOps, né il suo impatto sul modo di lavorare delle aziende: per chi volesse approfondire tutto ciò è già presente una articolata bibliografia. Qui mi interessa prendere in considerazione alcune pratiche ampiamente diffuse per implementare DevOps e come queste vengono adottate nella pratica quotidiana, soffermandomi in particolare sull’approccio al cambiamento, sui processi gestionali e sui processi tecnici. In tutto questo il ruolo del consulente è fondamentale.

Continua a leggere

Ici, c’est Paris: SMWCon Fall 2019

Tag

,

foto di gruppo davanti alla Tour Eiffel

Parigi, settembre 2019: un gruppo di persone aspettava l’inizio del nostro intervento… Matteo Busanelli ed io eravamo al SMWCon nella sua veste autunnale, un evento che ogni anno riunisce sviluppatori, utenti, organizzazioni o semplicemente curiosi attorno all’ecosistema di Mediawiki e SemanticMediawiki sulle tematiche di knowledge management.

Imola Informatica da diversi anni utilizza le tecnologie semantiche per la gestione delle informazioni in contesti aziendali di medie/grandi dimensioni in diversi campi di applicazione (Enterprise Architecture, IT Governance, GDPR compliance e altri ancora).

Dopo la prima esperienza di Matteo a San Francisco, la scorsa primavera, ci siamo proposti in questa occasione di parlare di due estensioni alla piattaforma Mediawiki che abbiamo sviluppato per indirizzare due diverse tematiche:

La profilazione di utenti sulla base di determinate proprietà semantiche: Extension:SemanticAuthProfiling

La visualizzazione di dati semantici in diversi formati a partire da interrogazioni in formato SPARQL: Extension:SparqlResultFormat

Queste estensioni sono state rilasciate in modalità open source e sono scaricabili ed usabili gratuitamente. Chiunque fosse interessato a contribuire all’evoluzione di queste componenti, anche semplicemente con suggerimenti o a scrivendo codice, non esiti a contattarci!

Alla conferenza è stato molto interessante condividere con gli altri partecipanti, provenienti da tutta Europa e dagli Stati Uniti, il nostro approccio metodologico e tecnologico e il confronto su problematiche comuni (e possibili soluzioni) che si riscontrano in progetti Enterprise di questa tipologia.

Un altro aspetto che mi piace ricordare è l’ambiente informale e multiculturale che ha avuto il suo culmine quella sera stessa, in un ristorante sugli Champs Elysees, tutti insieme a tavola con un buon bicchiere di vino rosso, rigorosamente francese.

OiLab summer Camp, l’informatica da toccare con mano

Tag

Si è concluso l’Open innovation lab Summer Camp: la prima edizione ha coinvolto, per una settimana, una ventina di ragazzi e ragazze tra i 12 e i 18 anni in attività di gioco e programmazione insieme a tutor e consulenti di Imola Informatica.

I ragazzi hanno potuto scegliere tra diverse attività:

  • sviluppare un gioco online per imparare i principi architetturali di una applicazione a tre livelli;
  • realizzare un cluster di Rancher su Raspberry per lavorare a container e giocare con i principi di alta affidabilità tipica alle infrastrutture di rete moderne;
  • programmare delle macchine Arduino, dotate di sensori per seguire un percorso prestabilito alla massima velocità possibile.

Continua a leggere

Perché per un Biomedico è interessante sviluppare software IT?

Cosa fa un futuro ingegnere biomedico a Imola Informatica, una società di consulenza IT per il business? Sembrano due mondi diametralmente opposti, e invece grazie al mio tirocinio ho trovato modo di acquisire le competenze che cercavo.

Sono un laureando di Ingegneria Biomedica all’Università di Bologna. Uscito dal liceo Scientifico-Tecnologico, ho scelto questa branca di ingegneria per il forte carattere interdisciplinare che poteva offrire. Per sua natura, le materie trattate erano principalmente di origine elettronica, ma non mancavano ovviamente nozioni di meccanica, approcci base al management del comparto ospedaliero e anche alla programmazione di base.

Mano a mano che avanzavo nella carriera universitaria e mi informavo sul mondo dell’industria ospedaliera, ho notato come anche questa fosse simile al “normale” mondo business. Il passaggio all’industria 3.0 ha rivoluzionato anche il mondo della clinica e della diagnostica, per esempio tramite tutti gli approcci per bioimmagini, e inevitabilmente vedo che tutto il settore tende a muoversi in direzione dell’industria 4.0.
Continua a leggere

Microservizi: perché dovrebbero interessare anche il business e non solo i tecnici IT

Tag

Con il termine “microservizi” si identifica un nuova tipologia architetturale con la quale progettare applicativi software. È da un po’ di tempo che tanti articoli di informatica e blog dedicano spazio a questa tematica: digitando la parola microservizi su un qualsiasi motore di ricerca si possono trovare moltissimi contributi tecnici. Tipicamente viene analizzato un aspetto tecnico identificandone i vantaggi e gli svantaggi. Meno frequenti invece sono gli interventi che cercano di fornire una visione di prospettiva su come questo nuovo approccio innovativo alla creazione di software possa impattare sensibilmente il mondo del business, in senso generale.

Vediamo assieme perché i microservizi sono un elemento importante per le future opportunità di business.

Viaggiatori digitali

Il termine digitalizzazione è molto utilizzato in questo periodo. Bene o male, se è chiaro a tutti che digitalizzare attività e processi di business è una cosa importante, forse è meno chiaro che cosa fare esattamente e quali progetti intraprendere da subito. L’offerta di tecnologie informatiche e digitali in genere è infatti talmente ampia e talmente variegata che diventa veramente molto difficile fare la scelta migliore. È un po’ come entrare in un grande bazar ricco di mercanzie ed avere solamente un euro da spendere. Si deve scegliere cosa acquistare, ma cosa?

Ogni negoziante vi fa entrare nel proprio negozio ricco, dice lui, di oggetti utilissimi da acquistare, e voi non potrete fare altro che fidarvi di quello che più vi convince. Come fare allora?
Continua a leggere

OiLab Summer Camp per ragazzi e ragazze

Tag

,

A Imola è arrivata la prima edizione di OiLab Summer Camp, una settimana in cui proponiamo informatica avanzata a ragazzi e ragazze di età compresa fra 13 – 17 anni.

Dal 18 al 24 luglio, nella sala corsi di Imola Informatica, i giovani protagonisti del Camp possono scegliere se seguire una delle tracce di attività o se spaziare ed esplorare, in base a interessi e inclinazioni personali.

Locandina dell’evento Open Innovation Lab Summer Camp 2019

Le attività del Camp
Sono 3 i filoni tematici di attività in cui i ragazzi si debbono cimentare.

  • Sviluppo di un gioco online per imparare i principi architetturali di una applicazione a tre livelli.
  • Cluster di Rancher su Raspberry per lavorare a container e conoscere i principi legati alle infrastrutture di rete moderne ad alta affidabilità.
  • Macchine Arduino, dotate di sensori e programmate per risolvere problemi complessi, come il follow-line, e per implementare i sistemi di sicurezza tipici delle automobili moderne (cruise control, parcheggio automatico, etc.).

Difficoltà e guide

I ragazzi non hanno alcun obbligo di risultato: sono infatti liberi di tracciare una strada e di percorrerla, con creatività e divertimento.

Il livello di difficoltà è alto, ma il supporto non manca. Accanto ai ragazzi ci sono infatti persone esperte pronte ad aiutarli nelle prove e sulla parte tecnica. È raro trovare Camp che mettono a disposizione professionisti e temi IT reali per assecondare gli interessi di ragazzini appassionati di informatica.

Il modello è mutuato dagli appuntamenti di CoderDojo, attività che a Imola Informatica organizziamo e promuoviamo da 5 anni.

 

OiLab e studenti

Abbiamo aperto l’OiLab Summer Camp anche a ragazzi delle scuole superiori e del primo anno di università, in particolare, a chi ha lavorato alle esercitazioni durante l’alternanza scuola-lavoro o come tutor di CoderDojo. Imola Informatica offre loro una alternativa al classico lavoretto estivo e un duplice ruolo: questi ragazzi possono essere, al contempo, una figura guida sui temi che già conoscono e allievi che si avvicinano a temi più complessi.

Il 2019 è l’anno zero dell’OiLab Summer Camp. Dopo aver sperimentato questo format, il nostro obiettivo è di far crescere questa esperienza, insieme alle scuole e ad altre aziende IT del territorio imolese.

Blockchain e integrazione IT: quali scenari offre la tecnologia?

Tag

, , , , , ,

* Autori: Emanuele pagliara, Michele Cappelletti

 

Le blockchain stanno rapidamente prendendo piede come architetture rivoluzionarie che aprono la strada a nuove opportunità di business basate su interazioni sicure e decentralizzate.

Nell’ultimo periodo si è lavorato molto nel cercare di integrare all’interno dei processi business queste architetture, per cercare di sfruttarne al meglio le qualità, in particolare l’immutabilità delle transazioni e la decentralizzazione delle informazioni.

Questo articolo si focalizza sulle modalità di integrazione software con la blockchain, analizzandone le peculiarità. Ogni possibile soluzione di integrazione viene categorizzata e valutata secondo una serie di requisiti; lo scopo è intuire quali possano essere i contesti di maggiore applicabilità, dei quali riportiamo alcuni esempi in scenari molto diversi tra loro.

 

Modalità di integrazione tra client e Blockchain

La blockchain è di fatto una rete composta da nodi server che costituiscono il punto di ingresso per software che desiderano interagire con la blockchain con il ruolo di client. Un nodo è un software che implementa tutte le funzionalità relative alla blockchain, in particolare è in grado di mantenere tutto lo storico dei blocchi e delle transazioni ossia la blockchain e ha la capacità di comunicare nel protocollo nativo con gli altri nodi della rete.

Le principali tipologie di client software sono le seguenti:

  • Full client: software che utilizza un nodo dedicato della blockchain, è la modalità con maggiori funzionalità ma anche un maggior impiego di risorse. Fondamentale in applicazioni che necessitano di massima verificabilità delle informazioni scambiate;
  • Lightweight client con accesso diretto alla blockchain: si tratta di una modalità innovativa che sfrutta una validazione parziale delle informazioni scambiate, permette una connessione diretta ai nodi della blockchain ma si adatta all’utilizzo su dispositivi dalle ridotte capacità;
  • Lightweight client con accesso intermediato alla blockchain: il software client non si connette alla blockchain, bensì utilizza funzionalità intermediate da un server dedicato o di terze parti;

Continua a leggere

Sicurezza e password degli utenti: anatomia di un data breach

Tag

, ,

Nel nostro intervento al Devoxx Marocco di Novembre 2018 (per consultare il documento in inglese: Secure Software Development Lifecycle Demystified), abbiamo esordito fornendo al nostro pubblico una cifra: 439 milioni di dollari.

Questa è la stima (per difetto) del costo del furto di dati che ha subito Equifax Inc., una società americana di monitoraggio del credito. Nel caso di Equifax, i dati rubati comprendevano i dati personali di circa 145 milioni di cittadini americani: tra i dati trafugati vi erano i codici personali dell’assistenza sociale (SSN), che negli Stati Uniti hanno il valore legale di una firma, essenziali per l’acquisto di beni o attivazione di prestiti.

Equifax non è un caso isolato: quotidianamente una miriade di siti web e società sono vittime di reati informatici.

La preda più ambita in questi crimini sono tipicamente i numeri di carte di credito e le credenziali degli utenti. Secondo una stima di IBM, il costo medio di ogni data breach (il furto di dati da parte di criminali informatici) è stato nel 2017 di ben 3,87 milioni di dollari: costi che tra gli altri possono includere le operazioni di correzione e messa in sicurezza, mancati introiti per indisponibilità dei sistemi, risarcimenti danni, perdite di valore sul mercato azionario, sanzioni e danni di immagine. Questi costi, anche grazie alla recente normativa GDPR, sono destinati a lievitare sensibilmente qualora non vengano prese per tempo le opportune contromisure (il GDPR prevede multe fino a 20 milioni di € o fino al 4% del fatturato annuo globale delle aziende).

Le analisi delle informazioni sottratte negli attacchi informatici sono di fondamentale importanza anche per la protezione dei sistemi: nelle attività di cyber threat intelligence, cioè nelle attività di ricerca e analisi delle informazioni, possono aiutare a comprendere ed individuare le minacce emergenti, così da attuare politiche di protezione adeguate. Continua a leggere

La minaccia dei malware bancari

Tag

,

Oggi i sistemi bancari sono minacciati costantemente da software malevoli, il cui scopo principale è quello di compromettere la sicurezza dei conti degli utenti.

Una delle famiglie di malware più diffuse è quella di ZeuS / Panda, un vero e proprio kit digitale multifunzione proveniente dai paesi dell’est Europa. Date le sue capacità, tecnicamente può essere definito un RAT (Remote Access Trojan), ovvero un software malevolo progettato per riuscire a prendere il controllo di un sistema remoto.

Cyber Theft Ring

Infografica dell’FBI su malware come ZeuS

ZeuS può essere considerato una vera e propria piattaforma di attacco digitale: acquistabile sul dark web a costi variabili da pochi euro fino a qualche migliaio a seconda delle versioni e delle funzionalità incluse, permette a un attaccante di creare quello che in gergo viene definito trojan horse (“cavallo di Troia”), ovvero un programma malevolo occultato all’interno di file apparentemente innocenti, quale ad es. un file Word.
Continua a leggere