Perché Docker sta finalmente abbracciando Kubernetes

Sembra che le guerre degli Orchestrator di Container siano terminate.

Docker ha annunciato il supporto per Kubernetes con la prossima versione di Docker Enterprise Edition. Ecco cosa bisogna sapere.

La mascotte di Docker potrebbe essere diventata una balena, ma Kubernetes era l’elefante nella stanza prima di Dockercon Europe 2017. Tutti e tre i fornitori di cloud più noti hanno aderito alla fondazione open source di Kubernetes, Cloud Native Computing Foundation (CNCF), rendendo innegabile il momento.

Lo spostamento nell’industria sembrava lasciare Docker Swarm su un’isola. I concorrenti come l’Openshift di Redhat avevano già da tempo adottato Kubernetes e Docker è salita finalmente a bordo del treno Kubernetes durante Dockercon Europe 2017, annunciando un’integrazione con Kubernetes come parte del suo primo giorno di discussione.

Panorama Orchestrator

Docker ha fatto dei Container quello che Apple ha fatto a iPhone. Docker ha contribuito a portare i Container al centro dell’attenzione. Dal rilascio del progetto, Docker si è concentrata sull’esperienza dello sviluppatore. Il concetto base è che è possibile creare, spedire e gestire applicazioni in un framework standard in tutto il settore. In teoria, un’organizzazione può creare un processo di integrazione continua e di sviluppo continuo (CI / CD) partendo dal computer portatile e trasferirsi in produzione.

Una delle prime sfide è stata l’orchestrazione del Data Center. A differenza di VMware vSphere, esistevano pochissimi strumenti per gestire i carichi di lavoro in produzione a livello, e il metodo primario di Docker per orchestrare i Container in scala dei Data Center è Docker Swarm.

Non mancano soluzioni di orchestrazione contenitori. Il primo leader, la Mesosfera, ha perso gran parte del suo slancio. Docker Swarm è una vista dell’orchestrazione da parte di un singolo fornitore, ma offre una stretta integrazione con Docker Enterprise Edition (EE). Docker sta costruendo una piattaforma con Docker EE che si confronta con progetti maturi come Cloud Foundry. Tuttavia, come accennato, l’industria si è orientata e convertita a Kubernetes.

Secondo Docker, Google porta la sua esperienza nell’Hyper Scaling all’orchestrazione dei Container. E l’approccio aperto a Kubernetes ha spinto gran parte dell’ecosistema verso Kubernetes.

Correre fianco a fianco

Kubernetes ha una curva di apprendimento significativa. L’implementazione di Docker sembra nascondere la maggior parte della complessità di Kubernetes dietro le quinte. Il livello di orchestrazione è come un contratto tra lo sviluppatore di applicazioni e le squadre operative. L’API è la lingua utilizzata per tradurre tra i due gruppi. Swarm e Kubernetes non solo utilizzano diverse architetture, ma entrambe le piattaforme utilizzano anche API diverse.

Docker ha adottato l’approccio di fornire un design che consente di eseguire Kubernetes e Swarm all’interno dello stesso cluster. Durante la distribuzione di Swarm, l’installatore fornisce un’opzione per l’installazione di Kubernetes. Se selezionato, Kubernetes eredita il progetto di ridondanza dell’installazione di Swarm, integrando due approcci diversi a sottosistemi come la rete.

Gli ecosistemi progettati per l’Orchestrator devono ancora funzionare in modo indipendente. Ad esempio, le applicazioni ed i processi che utilizzano un’applicazione Kubernetes nativa funzionano direttamente contro un’istanza dispiegata da Swarm. Allo stesso modo, le applicazioni create utilizzando un file Docker Compose eseguono nativamente contro l’infrastruttura Kubernetes fornita a Swarm.

Questo ci porta alla sfida della gestione delle risorse. Mentre Swarm e Kubernetes possono eseguire su un unico host, ogni orchestratore rimane ignaro dell’altro. Ogni orchestratore assume l’utilizzo del 100% di un singolo host. Per questo motivo, Docker non consiglia di eseguire i carichi di lavoro Kubernetes e Swarm sullo stesso host.

Con la disponibilità generale prevista per il primo trimestre 2018, non credo di aver esagerato qualsiasi cosa dicendo che questo è un momento cruciale per l’ecosistema Container. Docker rimane fondamentale per l’esperienza di sviluppo basata sui Container. E integrando Docker EE con Kubernetes, Docker espande quanto esistente non solo come piattaforma di sviluppo, ma sotto forma di ecosistema a livello di produzione in grado di competere con le offerte PaaS.

fonte: TechRepublic

Related posts