Este artículo quizá debió ser escrito antes de los demás, ya que se trata del ecosistema de contenedores, Docker y Open Source.

¿Nació como evolución a las virtual machines?

Virtual Machine

        Virtual Machine

Al escuchar contenedores, lo primero que viene a la mente son Virtual Machines, pero más chicos, sin embargo la idea de los contenedores y su aislamiento va más atrás inclusive que las máquinas virtuales.

Desde la creación del comando chroot, introducido en Unix en 1979, que ejecuta las sentencias utilizando otra carpeta como root, de modo que se pudieran ejecutar los mismos en un sandbox.

No fue hasta 2008 que nació el predecesor a la tecnología que hoy conocemos como contenedores y Docker, bajo el nombre de LXC o Linux Containers.  Éstos consisten en una manera de ejecutar múltiples sistemas aislados, poder limitar recursos como CPU, memoria y entrada/salida sin la necesidad de una máquina virtual, utilizando la funcionalidad cgroups que existen en el kernel de Linux.

Docker Inc.

Docker Inc. Es una compañia fundada por el emprendedor franco-americano Solomon Hykes. La misma inició su vida como la compañia dotCloud proveedora de PaaS.  Tras bambalinas dotCloud utilizaba linux containers para servir su plataforma y para poder administrar los contenedores desarrollaron una herramienta que bautizaron internamente Docker.

Docker

Docker

En 2013 el negocio no estaba bien para dotCloud y  contrataron a Ben Golub como nuevo CEO. Renombraron la compañia como Docker, Inc. e iniciaron su nueva aventura que está revolucionando el mercado.

Primeros obstáculos

No todo es color de rosa, para lograr la adopción rápida de dicha tecnología, el equipo de Docker decidió exponer un API, para su engine de contenedores.  Pero el ritmo de modificaciones a dicho API, causó que las compañías que habían adoptado la tecnología se quejaran, porque no podían mantener el ritmo de las modificaciones.

Más participación

El siguiente paso de Docker fue liberar los componentes de su engine como Open Source y renombrar el proyecto principal como Moby, para que el avance colaborativo del mismo estuviera a dispocisión de todos los participantes.

Estándares

Sin embargo como siempre, cuando hay competencia el resultado es mejor.  Las distintas empresas involucradas en los contenedores propusieron la Iniciativa Open Container. Dicha especificación permite que los diferentes container engine sean compatibles y evitar la fragmentación que solo perjudica a los usuarios.

Algunos opinan que los estándares atrasan el avance, o si no pregunten a las personas de JCP (Java Community Process) como se han quedado atrás a diferencia de los avances de C# por parte de Microsoft.  Pero esto es tema de opiniones.

El mercado ya está creado, los jugadores están luchando por obtener lo mejor, y el que muestre las mejores características a los clientes obtendrá su recompensa, pero los contenedores llegaron para quedarse y cambiar la manera en que se entrega y actualiza el software.

 

 

Share: