Tech InDepth

Cloud native: i rischi di sviluppare su Kubernetes e le soluzioni

Il cloud sta cambiando radicalmente il modo in cui si sviluppa e si gestisce il software aziendale negli ambienti IT ibridi, dove i servizi del data center convivono con quelli erogati da più cloud provider. Container e orchestratori aiutano oggi a standardizzare e automatizzare il lavoro negli ambienti ibridi, ma per andare in cloud in sicurezza serve conoscere e risolvere alcuni fondamentali problemi.

Pubblicato il 04 Feb 2022

Cloud native

Il business di oggi, sempre più dipendente dalle componenti digitali, richiede infrastrutture IT complesse ma anche dotate di flessibilità, sia sui fronti delle prestazioni sia dei costi. Necessità che, sempre più spesso, trovano risposta nella scelta delle imprese di andare sul cloud. Un’opzione che consente di accedere a una gamma di risorse virtualmente infinita, con prestazioni, scalabilità, tecnologie allo stato dell’arte, non facilmente ottenibili se non in condivisione e in pay-per-use.

Questo non significa che data center e applicazioni on-premise siano destinati a scomparire. Restano le esigenze dell’elaborazione di prossimità o la convenienza nel continuare a sfruttare le risorse già esistenti o comunque che hanno una provata efficacia, per esempio, in zone geografiche digitalmente svantaggiate. Questo fa sì che, anche utilizzando servizi in cloud, resti l’esigenza di spostare software e dati tra i sistemi aziendali e i servizi dei provider, per esempio, per fare replicazioni di sicurezza o per distribuire le applicazioni in nuove sedi.

Con l’adozione del cloud, cresce la necessità di disporre di tecnologie che permettono di separare le componenti applicative dalle piattaforme d’esecuzione rendendo l’infrastruttura, sia essa on premise o di un service provider, più trasparente rispetto ai servizi erogati. Prerogative offerte da container e orchestratori, strumenti che facilitano una gestione più automatizzata dei carichi di lavoro IT offrendo inoltre una piena visibilità sull’operatività dell’insieme di risorse software, di sistema e di cloud a supporto delle attività d’impresa.

Usare l’orchestrazione per l’automazione dell’IT

L’orchestrazione serve a semplificare la gestione dell’IT, automatizzando i deploy software e gli spostamenti dei carichi di lavoro negli ambienti operativi più diversi. È impiegabile laddove il software applicativo sia stato preventivamente standardizzato in container, sfruttando strutture logiche come Docker, che racchiudono insieme il codice, le librerie e le configurazioni, permettendo l’indipendenza del container dal sistema dove avviene l’esecuzione.

I container sono oggi indispensabili negli ambienti IT, dove le applicazioni monolitiche tradizionali vengono rimpiazzate con le nuove a microservizi; condizione che, di fatto, moltiplica il numero delle componenti da gestire. Le piattaforme d’orchestrazione, di cui Kubernetes è rapidamente diventato un punto di riferimento, aiutano i team IT a fronte all’aumento delle complessità della gestione. Con Kubernetes è infatti possibile automatizzare e ottimizzare le operazioni che riguardano il provisioning delle risorse IT, la scalabilità nelle operation, quindi le attività di distribuzione e di routing del software.

Gli aspetti importanti per implementare l’orchestratore Kubernetes

Gestire la complessità dell’IT attraverso l’orchestratore Kubernetes comporta un forte impegno nella containerizzazione del software, quindi nell’adozione da parte dei team IT di approcci mirati su fronti diversi, che spaziano dallo sviluppo software al monitoraggio e alla security. L’agilità e la possibilità di automatizzare il più possibile le operation con l’orchestratore dipendono infatti dalla capacità di standardizzare i processi e rendere più sinergico il lavoro dei team IT.

Se da una parte è importante che i team IT aziendali abbiano le competenze per sviluppare e rilasciare applicazioni containerizzate, dall’altra serve assicurarsi che lavorino nello stesso modo, che rispettino le stesse regole e rilascino codice sicuro e testato. È importante, in particolare, che sia condivisa l’attenzione sul tema della sicurezza, per esempio, che le “secret” di Kubernetes (gli oggetti contenenti password, token e altre chiavi sensibili per permettere le interazioni via API) siano correttamente crittografate e che gli accessi siano ben regolati per minimizzare i rischi. La potenza dell’orchestratore nel gestire gli spostamenti di dati e applicazioni dentro e fuori dai confini aziendali può essere rischiosa se non viene prestata l’attenzione necessaria al tema della security.

Le vulnerabilità degli ambienti Kubernetes di cui tener conto

Per operare con sicurezza negli ambienti d’orchestrazione Kubernetes, è importante conoscere le criticità intrinseche dei sistemi container e quindi come mitigarle sui fronti tecnico, metodologico e organizzativo. Ecco qui di seguito alcuni dei punti più importanti, suggeriti dagli esperti di Mia-Platform:

  • Esposizione di informazioni critiche. Per la sicurezza dell’ambiente, serve ridurre l’esposizione delle informazioni che danno accesso a dati e servizi via API. L’accesso ai secret di Kubernetes, per esempio, deve essere controllato attraverso l’impiego di metodi crittografici.
  • Permessi. Per una tutela efficace è opportuno seguire le regole del “Least Privilege Principle”, ossia dare alle persone dei team solo gli accessi strettamente necessari a svolgere il lavoro assegnato. Aperture più ampie costituiscono maggiore rischio in caso di perdite o sottrazioni di credenziali.
  • Network policy. Con le impostazioni di default, Kubernetes permette ai vari pod di parlare tra loro: prerogativa non sempre desiderabile ai fini della security. Similmente ai privilegi per le persone, è conveniente impostare soltanto i permessi che sono necessari per il corretto funzionamento dell’ambiente.
  • Runtime threats. Molti attacchi sfruttano vulnerabilità che si manifestano durante il normale funzionamento delle applicazioni. La difesa si ottiene attraverso il continuo monitoraggio, l’individuazione e la rimozione delle comunicazioni non necessarie. Può essere utile impostare allarmi in modo che scattino in anticipo rispetto al raggiungimento dei livelli critici, in modo da avere margine per affrontare i problemi.

CLICCA QUI per scaricare il White Paper: "Kubernetes 101: Guida al sistema operativo del futuro"

Andare in cloud con i container: le raccomandazioni di Mia-Platform

Mettere in produzione ambienti Kubernetes efficaci e sicuri richiede esperienza e la composizione della costellazione di tool, sia open source sia proprietari, che servono a ottenere le funzionalità di cui l’azienda ha bisogno. Per farlo senza salti nel buio e per programmare nel tempo migrazioni al cloud e altri cambiamenti nelle modalità di lavoro dell’IT, serve esperienza.

Per i propri clienti, Mia-Platform ha messo a punto una piattaforma completa per sviluppare e gestire in modo efficace le moderne applicazioni negli ambienti di produzione Kubernetes. La piattaforma comprende i tool per sviluppare il software in modalità cloud-ready, quindi senza preoccupazioni per l’ambiente finale d’esecuzione (on-premise o cloud). Dispone degli strumenti per implementare sulla piattaforma le regole di sicurezza più opportune, per regolare gli accessi e i permessi dei membri del team, per nascondere le secret, per monitorare i job nel runtime e individuare i punti di vulnerabilità.

Secondo gli esperti di Mia-Platform, l’impiego degli ambienti ibridi basati sull’orchestrazione non può fare a meno dell’implementazione dei servizi di security nell’ambiente d’orchestrazione. Questo permette di avere nella security lo stesso livello di scalabilità e mobilità delle applicazioni. Strumenti di sviluppo appropriati all’ambiente cloud-ready consentono di anticipare l’attenzione alla security già nella fase di sviluppo: regola aurea per ottenere software sicuro “by design”.

Contributo editoriale sviluppato in collaborazione con Mia-Platform

Valuta la qualità di questo articolo

La tua opinione è importante per noi!

Articoli correlati

Articolo 1 di 4