La containerizzazione racchiude le applicazioni software con tutte le loro dipendenze in unità isolate e portatili chiamate container. A differenza delle macchine virtuali (VM) che richiedono un sistema operativo (OS) completo, i container condividono il kernel del sistema operativo host mantenendo l'isolamento dell'applicazione attraverso caratteristiche come cgroup e namespace Linux.
Ogni container include il codice dell'applicazione, il tempo di esecuzione, gli strumenti di sistema, le librerie e le impostazioni necessarie per l'esecuzione, tutti confezionati come immagini del container, ovvero modelli di sola lettura che fungono da blueprint per la creazione dei container. Questo approccio può garantire prestazioni costanti, indipendentemente dal fatto che venga implementato sul laptop di uno sviluppatore, in un ambiente di test, in un data center di produzione o in un'infrastruttura hybrid cloud.
Il concetto di containerizzazione e isolamento dei processi esiste da decenni, tuttavia l'arrivo di Docker nel 2013 ha trasformato il panorama. Docker ha fornito agli sviluppatori strumenti semplici di livello aziendale e un approccio universale al packaging che ha accelerato l'adozione su larga scala.
Dopo il successo di Docker, Kubernetes è emersa quale principale piattaforma di orchestrazione dei container, originariamente sviluppata da Google e donata come progetto open source alla Cloud Native Computing Foundation (CNCF) nel 2014.
Questo stack rappresenta la base su cui vengono creati gli strumenti e le pratiche di gestione dei container. I container engine come Docker sono progettati per gestire l'esecuzione del runtime. Una piattaforma di orchestrazione come Kubernetes gestisce la complessità operativa della pianificazione e dell'automazione dell'implementazione, gestione e scalabilità di centinaia di migliaia di applicazioni basate su container.
La potente combinazione di Docker e Kubernetes ha favorito l'adozione diffusa da parte delle aziende. Un sondaggio IBM del 2021 ha rilevato che il 61% dei rispondenti aveva incorporato i container in almeno la metà delle nuove applicazioni nei due anni precedenti. Il sondaggio ha anche rivelato che il 64% prevede tassi di adozione simili per lo sviluppo futuro.