deep space computing AG è in grado di "dockerizzare" qualsiasi applicazione esistente e portarla in esecuzione in un cluster Kubernetes.

Un docker era un lavoratore che trasportava merci commerciali dentro e fuori le navi quando attraccavano ai porti. C'erano scatole e oggetti di dimensioni e forme diverse, e i lavoratori portuali esperti erano apprezzati per la loro capacità di adattare le merci alle navi a mano in modo economico. Assumere persone per spostare le cose non era economico, ma non c'erano alternative. In caso di rottura di una nave, ogni singolo oggetto doveva essere scaricato e ricaricato manualmente.

Le navi moderne sono ora progettate per trasportare, caricare e scaricare oggetti di forma prevedibile in modo più efficiente. Gli oggetti sagomati non sono altro che i containers che conosciamo. È necessario un solo docker per far funzionare le macchine progettate per spostare i container. Il singolo container contiene elementi diversi. Il container viene caricato solo una volta in maniera efficace, quando inizia il suo viaggio. Non importa per la nave da trasporto cosa ci sia dentro. Il container può essere facilmente caricato altrove, anche su camion e treni.

Allo stesso modo è ora possibile distribuire software su computer Linux e Windows come container con tutte le sue librerie e requisiti impacchettati a modo nello stesso su più computer (come nell'analogia navale), indipendentemente dal loro sistema operativo e da quali librerie essi hanno installato.

Docker è una tecnologia di virtualizzazione leggera in cui sono virtualizzati solo il filesystem e la rete, ma non il kernel del sistema operativo. In genere un computer host abbastanza potente da eseguire 20 macchine virtuali tradizionali può eseguire fino a 400 container Docker.

Kubernetes è la tecnologia che si basa sulle idee Docker: consente di specificare un cluster come sarebbe un file XML (un file YAML per essere precisi, Yet Another Markup Language ...). Se un host si arresta a causa di un malfunzionamento, Kubernetes è in grado di riavviare i containers che non hanno funzionato su un altro computer host funzionante.

Inoltre, Kubernetes e Docker richiedono che le applicazioni monolitiche esistenti vengano riscritte come microservizi, un insieme di regole di sviluppo software che riorganizzano un'applicazione come servizi debolmente connessi.