Cosa vuol dire approcciarsi all’evoluzione tecnologica nelle aziende Enterprise e più in generale nelle aziende consolidate?
Una delle più importanti sfide che gli IT Manager devono affrontare è come stare al passo in un mondo caratterizzato da una evoluzione tecnologica sempre più veloce. È una sfida complessa in quanto l’argomento non è solo tecnologico. I software e le architetture, che permettono la produttività di aziende consolidate, sono spesso in produzione da anni, in qualche caso da decine di anni! La loro presenza da una parte e la necessità di adottare nuove tecnologie per mantenere ed aumentare la competitività dall’altra, sono un’intricata combinazione.
Evoluzione IT nelle aziende vuol dire adattarsi ai cambiamenti senza compromettere la propria operatività. Spesso si tratta di attività giornaliere con piccoli cambiamenti incrementali e non distruttivi. È fondamentale assorbire le nuove tecnologie senza destabilizzare.
Evolversi adottando nuove tecnologie Open Source è una strategia vincente?
L’Open Source è oggi la fonte principale di innovazione tecnologica e questo non è un caso. L’evoluzione tecnologica porta inevitabilmente alla definizione di nuovi standard (standard definiti ufficialmente o standard “de facto”). Se i nuovi standard fossero basati su algoritmi proprietari e non open, faremmo un grosso passo indietro: saremmo legati ad uno o pochi software specifici, finendo nel tranello del “vendor lock-in” e senza alternative e senza l’agilità necessaria. Per questo motivo, la stragrande maggioranza delle nuove tecnologie sono basate su software open source come l’orchestrazione dei container, Machine Learning, Blockchain…
Il software Open Source è più vulnerabile?
La prima differenza tra software Open e Software proprietario è quella sotto gli occhi di tutti e cioè che il codice è aperto. Per i meno avvezzi all’open source questo è uno svantaggio in quanto si potrebbe pensare che i bug siano allo scoperto, disponibili agli occhi degli hacker. In realta non è cosiì: per la community di sviluppatori poter vedere un problema vuol dire poterlo “aggiustare”; quindi è più probabile che un problema venga “risolto” rispetto al codice proprietario.
La qualità e la maturità raggiunte dal software open source sono confermate dalle scelte delle aziende IT leader di mercato. A questo proposito si potrebbero citare numerosi esempi come Openwisk (software Open Source alla base del servizio serverless erogato da IBM), Tensorflow (libreria di software open source per l’intelligenza artificiale utilizzata da Google)…
Quali sono le procedure da seguire per minimizzare i rischi utilizzando le tecnologie open source?
Utilizzando software Open Source l’approccio al rischio è diverso rispetto al software proprietario in quanto si ha la possibilità di usare direttamente il codice sorgente. Compilare il sorgente è un’opzione, ma in questo caso è necessario fare attenzione a tutto lo stack (compilatore, librerie ecc.) perciò utilizzare i pacchetti compilati di una distribuzione enterprise (ad es. Red Hat) è sempre la scelta più sicura.
Inoltre il rischio di un aggiornamento è difficile da quantificare se si fa direttamente riferimento a dei repository github: volta per volta è necessario valutare se applicare una patch subito (prendendo dei rischi sulla continuità operativa) o ritenere basso il rischio sulla sicurezza. Questo problema può essere risolto utilizzando software open source gestito da sistemi di patch management.