Conclusione

Software Stack

Docker ha iniziato la sua vita nel 2013. Non era l'unica iniziativa che prevedeva l'importanza dei contenitori, ma era quella che più ha attirato l'attenzione degli utenti.

Lo scenario dell'universo dei contenitori, percepito dai più, era allora abbastanza semplice.

Dbefore

Il successo di Docker ha generato competizione, fino alla necessità di introdurre degli standard per equiparare il funzionamento di offerte diverse.

La Open Container Initiative (OCI) ha definito un'interfaccia standard dei contenitori con gli strati superiori dello stack. Docker si è adattata, e ha suddiviso il server di gestione contenitori in

  • runC - a basso livello, interfacciante il kernel Linux
  • containerd - a livello superiore ad OCI, fornente un'interfaccia standard

Simultaneamente offerte diverse, come Kubernetes, per sfruttare l'onda Docker, ma anche offerte concorrenti, hanno sviluppato un'interfaccia a livello più elevato, la Container Runtime Interface (CRI). E'stato sviluppato software adattatore cri-containerd sopra il containerd di Docker.

Come risultato, lo scenario dello stack software in cui si trova Docker è ora molto più complesso.

Dafter

E lo scenario è in continua evoluzione.

Orchestrazione

Docker fornisce uno strumento conosciuto e ben affermato per il packaging di applicativi in contenitori, secondo standard accettati.

Il vero requisito corrente è la realizzazione, deployment e amministrazione automatica di applicativi complessi, suddivisi in molti contenitori coordinati: il problema dell'orchestrazione.

Così come Docker Compose è un semplice strumento di orchestrazione di contenitori su una unica piattaforma host, desideriamo una orchestrazione remota e distribuita in un cluster di piattaforme in ambito globale.

Vi sono correntemente due grosse soluzioni:

  • Kubernetes - della Google
    • Favorito. Complesso e veramente globale. Implementato a volte in offerte proprietarie, come OpenShift della Red Hat.
  • Docker Swarm - della Docker.io
    • In calo temporaneo di stima, ma non veramente sfavorito. Con vantaggi architettonici e implementativi per chi già ha esperienza Docker.

Altre soluzioni esistono. Il recente diagramma mostra la situazione delle preferenze.

Platforms