Che cos’è, come e perchè utilizzare Docker per i container

Che cos’è, come e perchè utilizzare Docker per i container

La virtualizzazione Container-Based ha avuto la sua svolta quando sul mercato è stato lanciato Docker che ha praticamente automatizzato il processo di creazione di contenitori su piattaforma linux e ha permesso quindi ad un utenza più ampia di osservare le potenzialità e di usufruire dei vantaggi della virtualizzazione Container-Based.

Che cos'è, come e perchè utilizzare Docker per i container

Cos’è Docker?

Docker è una piattaforma per lo sviluppo, il trasporto, e l’esecuzione di applicazioni ed è progettata per fornire applicazioni più velocemente. Con Docker è possibile separare le applicazioni dall’infrastruttura e curare l’infrastruttura come un’applicazione gestita. Aiuta infatti a condividere codice più velocemente, a testarlo più velocemente, ad implementarlo velocemente e ad abbreviare il ciclo tra la scrittura e l’esecuzione del codice.
Docker fa ciò combinando una piattaforma contenitore di virtualizzazione leggera con i flussi di lavoro e i tools che consentono di gestire e distribuire le applicazioni, fornendo infatti al suo interno dei metodi per eseguire quasi tutte le applicazioni isolate in modo sicuro nel contenitore. L’isolamento e la sicurezza consentono di eseguire molti contenitori contemporaneamente sul sistema host mentre la leggerezza dei contenitori, che eseguiti senza il carico extra di un hypervisor, permette di ottenere di più dal proprio hardware. Attorno alla virtualizzazione basata su container ci sono dei tools e una piattaforma che può aiutare l’utente in diversi modi:

  • Ottenimento delle applicazioni (e dei componenti di supporto) in contenitori
    Docker;
  • Distribuzione e trasporto di quei contenitori per i team di sviluppo per un ulteriore sviluppo e test;
  • Distribuzione di tali applicazioni nell’ambiente di produzione, sia che si tratti di un centro di dati locali sia che si tratti di un centro di dati in Cloud.

Perché utilizzare Docker?

Andiamo ad analizzare ora i motivi per cui bisognerebbe utilizzare Docker per sviluppare le proprie applicazioni.
Docker offre una consegna delle applicazioni più veloce infatti i Contenitori Docker, e il flusso di lavoro derivato da essi, aiutano gli sviluppatori, amministratori di sistema, i releasers a lavorare insieme per avere il codice in produzione e renderlo utile nel minor tempo possibile. E’ stato creato infatti un formato contenitore standard che consente agli sviluppatori di preoccuparsi delle loro applicazioni all’interno dei container mentre gli amministratori di sistema e gli altri operatori possono lavorare sulla gestione del contenitore nella distribuzione. Questa separazione dei compiti semplifica la gestione e la distribuzione del codice.

Docker è perfetto per offrire agli sviluppatori un aiuto concreto nel ciclo di sviluppo, infatti, permette di sviluppare su contenitori locali che contengono applicazioni e servizi. E’ quindi possibile integrare un flusso di lavoro e un implementazione continua. Ad esempio, gli sviluppatori possono scrivere codice a livello locale e condividere il loro stack di sviluppo attraverso Docker con i loro colleghi. Quando sono pronti, mettono il loro codice e lo stack che stanno sviluppando su un ambiente di prova ed eseguono i test richiesti. Dall’ambiente di test e quindi possibile mettere il codice in produzione ed eseguirlo.

Costruendo di volta in volta nuovi contenitori in modo semplice grazie a Docker viene consentita un iterazione rapida delle applicazioni aumentando la visibilità delle modifiche e aiutando tutti gli utenti a capire come funziona e come è fatta un applicazione e grazie anche alla leggerezza e velocità dei container si riduce il tempo del ciclo di sviluppo, test ed implementazione dell’applicazione.

Uno degli aspetti fondamentali è poi la sua scalabilità che permette di distribuire molto più facilmente. I contenitori Docker, infatti, possono girare su tante piattaforme, è infatti possibile distribuire i contenitori su desktop, server fisici, macchine virtuali, in data center e in cloud pubblici e privati.
È possibile avviare rapidamente più contenitori in caso di necessità e poi chiuderli facilmente quando non sono più necessari.

Non avendo bisogno di un hypervisor si può ottenere maggiore densità ed eseguire più carichi di lavoro contemporaneamente visto che possiamo eseguire e quindi ospitare contemporaneamente diversi container dando più valore a tutti i server e permettendo una riduzione di ciò che si spenderebbe in licenze e tool. Ciò è particolarmente utile in ambienti ad alta densità: per esempio, costruire il proprio Cloud o Platform-as-a-Service (PAAS). Ma è anche utile per le piccole e medie distribuzioni in cui si vuole ottenere di più le risorse disponibili.

Pubblicato da Vito Lavecchia

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

Lascia un commento

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