Si è fatto molto nel settore sul tema dei container e gli elementi tecnologici che vanno a comporre questo aspetto del tessuto IT.
I container, processi che girano su Linux e condividono un kernel host con altri processi containerizzati, sono strumenti sempre più utilizzati in azienda (in passato abbiamo evidenziato le principali differenze tra containerizzazione e virtualizzazione).
“Oggi che utilizziamo i container nel cloud, cosa dobbiamo fare per mantenerli in esecuzione in modo efficace e, soprattutto, sicuro?” chiedono Markus Eisele e Chris Jenkins di Red Hat.
Sicurezza, governance e conformità possono rappresentare un collo di bottiglia nella modernizzazione delle applicazioni. Le piattaforme di sviluppo devono fornire visibilità e coerenza in tutti i cluster Kubernetes, riducendo tempo e sforzi necessari per implementare la sicurezza, ottimizzandone analisi, indagine e remediation. E mentre siamo in grado di eseguire i container su Linux abbastanza facilmente, è Kubernetes che permette di affrontare la loro orchestrazione.
Eisele e Jenkins osservano che il nostro approccio attuale rispetto allo sviluppo software basato su container presenta una miriade di componenti che sollevano nuove sfide sul piano della sicurezza. Nessuna realtà che sviluppa software può davvero fare affidamento su un singolo fornitore per risolvere tutti i problemi di sicurezza in ambienti informatici altamente distribuiti.
Quindi come fare quindi se vogliamo cogliere i vantaggi dell’implementazione dei container in ambienti di produzione?
Il bello, ma anche lo svantaggio, dell’opensource è che offre un ampio ventaglio di possibili opzioni: dove cercare la solidità necessaria per far funzionare insieme vari progetti basati su container in modo sicuro?
Da un lato è necessario applicare una serie di controlli per proteggere il sistema operativo su cui il container viene eseguito, dall’altro è essenziale occuparsi della sicurezza dei container stessi.
Automazione, su tutta la linea dei container
Secondo Red Hat le organizzazioni devono essere in grado di eseguire i container applicando patch, aggiornamenti e altre forme di manutenzione e meccanismi di controllo nel modo più automatizzato possibile.
È questa la chiave per implementare i container, l’Infrastructure-as-Code completamente automatizzata che permette di replicare un processo quando necessario.
“Mentre adottiamo un maggiore uso dei container e lo facciamo con un controllo di sicurezza valido, dobbiamo ricordare agli sviluppatori che un’infrastruttura sicura non è nulla se non aderiscono ai principi di programmazione sicura” si osserva ancora da Red Hat.
È importante quindi evitare la creazione di un’infrastruttura applicativa basata su container e un insieme di istanze che in realtà rappresentano solo una sorta di anacronistico monolite distribuito non protetto.
Se si offre agli sviluppatori un ambiente Kubernetes vuoto col quale “giocare” si introducono rischi evidenti. Se di contro l’ambiente risultasse eccessivamente controllato ed estremamente “regolamentato”, gli sviluppatori si sentiranno frustrati.
Quello che stiamo cercando è la via di mezzo distribuita, containerizzata, funzionale e sicura. Usati correttamente, i container rappresentano un enorme e sicuro vantaggio per gli sviluppatori con la possibilità per l’impresa di ottenere benefici tangibili indipendentemente dal tipo di realtà.
Nonostante il concetto di container cominci a influenzare “altri mondi”, Red Hat ci tiene a sottolineare che essi “sono intrinseci Linux e lo sono sempre stati“.
Red Hat collabora con la più grande community opensource a iniziative che riguardano le tecnologie di containerizzazione. I tecnici della società contribuiscono al miglioramento di funzionalità, affidabilità e sicurezza per consegnare nelle mani degli utenti container sempre stabili e sicuri.
L’azienda è anche il secondo tra i principali sponsor di Docker e Kubernetes, collabora con l’Open Container Initiative e la Cloud Native Computing Foundation.
In passato abbiamo messo in evidenza alcuni dei vantaggi che consistono nell’utilizzo di container e Kubernetes in ambienti cloud. Ulteriori spunti possono essere consultati in queste pagine sul sito di Red Hat dedicato agli sviluppatori.