Che cos’è, a cosa serve e utilizzi del Container scheduler in informatica

Che cos’è, a cosa serve e utilizzi del Container scheduler in informatica

Container

I container rappresentano degli spazi utente isolati in esecuzione sul sistema operativo di un server o macchina host in genere. Si tratta quindi di funzionalità del sistema operativo Linux, che permettono di virtualizzare alcune risorse di sistema per eseguire diverse applicazioni in ambienti operativi eterogenei, all’interno di uno stesso server fisico, invece di ricreare virtualmente tutta la macchina, ovvero risorse processore, risorse storage, risorse di rete e sistema operativo, come avviene invece quando si utilizza un approccio basato sulle virtual machine. Viene quindi astratto il solo ambiente di esecuzione delle applicazioni con i suoi settaggi fondamentali. I container dunque, eseguono le istruzioni dell’applicazione direttamente sulla CPU, senza richiedere alcun meccanismo di emulazione (come, invece, avviene per le macchine virtuali), permettendo di risparmiare risorse e attuando una virtualizzazione a livello del solo sistema operativo. Similmente alle macchine virtuali, i container forniscono uno spazio isolato e separato per eseguire le applicazioni, pur sfruttando l’hardware condiviso.

Che cos'è, a cosa serve e utilizzi del Container in informatica

Il principale fattore di differenziazione è legato al ridotto consumo di risorse. Infatti non dovendo inglobare tutte le risorse di un server, i container sono più “leggeri” delle macchine virtuali e possono essere avviati in tempi molto ridotti. Questo li rende particolarmente adatti alle situazioni in cui il carico di lavoro da sostenere è variabile nel tempo e con picchi difficilmente prevedibili. I container quindi limitano il loro livello di astrazione al solo sistema operativo. C’è da aggiungere inoltre che ogni utente oltre a condividere lo stesso sistema operativo, condivide anche il kernel dello stesso, la connessione di rete e i file di base del sistema. Quindi le istanze vengono eseguite all’interno di uno spazio separato, garantendo così una notevole diminuzione di consumo della CPU e dell’overload associato, che risulta essere un fenomeno tipico dell’esecuzione di più sistemi operativi nelle macchine virtuali.

Container scheduler

Il container scheduler fornisce la possibilità di definire e attivare un ambiente potenzialmente composto da diversi container. E’ quindi un concetto simile a quello dell’orchestrazione negli ambienti cloud basati sulle Virtual Machine. Attraverso il container scheduler si dovrebbe riuscire a definire la corretta sequenza di attivazione dei container, la dimensione del cluster di container che è necessario creare e la qualità del servizio dei container, come ad esempio la richiesta di un minimo garantito di memoria e di accessi al disco da parte di un’applicazione specifica. Tool avanzati per l’orchestrazione, devono invece garantire anche che un determinato ambiente rifletta lo stato desiderato dopo essere stato creato, il che significa che questi strumenti di orchestrazione possono anche svolgere un certo grado di monitoraggio ed effettuare almeno in parte, una autoriparazione nel caso lo stato dell’ambiente non si allinei con quello stabilito dalla configurazione.

Che cos'è, a cosa serve e utilizzi del Container scheduler in informatica

Un’altra importante caratteristica comune a molti scheduler per container è la capacità di definire un livello di astrazione intorno a un cluster di container identici, in maniera tale che essi siano visti come servizi, ovvero, un indirizzo IP e una porta. Questo risultato viene ottenuto facendo impostare allo scheduler un load balancer davanti al cluster di container accompagnato dalle regole di indirizzamento necessarie. In quest’ambito, alcuni degli strumenti disponibili sono Kubernetes, Mesos e Docker Compose, quest’ultimo specifico per Docker.

Pubblicato da Vito Lavecchia

Lavecchia Vito Ingegnere Informatico (Politecnico di Bari) Email: [email protected] Sito Web: https://vitolavecchia.altervista.org

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *