¿Recuerdas a Diane Greene y Mendel Rosenblum? Fundaron una coparía, inventaron la virtualización de los servidores x86_64 y se hicieron ricos vendiendo su empresa VMWare. ¿Crees que veremos algo similar con los responsables de Docker? Vamos a intentar explicarlo.

Durante los últimos años Docker ha sido una tecnología muy importante ya que permite ejecutar aplicaciones en sus famosos contenedores y que, a diferencia de la virtualización con vmware, estos contenedores son mucho más ligeros pues no incluyen un sistema operativo como en el caso de la virtualización de servidores.

Ambos entornos han sido diseñados para proporcionar un entorno aislado en el que ejecutar una aplicación. La clave es que la arquitectura subyacente es fundamentalmente diferente entre los dos.

Las máquinas virtuales son totalmente independientes y poseen cada una su propia infraestructura: red, almacenamiento, CPU, Memoria, etc. Una máquina virtual es básicamente un conjunto de ficheros planos y binarios los cuales conforman la máquina virtual (MV) completa, con su sistema operativo y aplicaciones incluidas.

Los contenedores con Docker también proporcionan un entorno independiente pero alrededor de una infraestructura compartida. Con los contenedores, se comparten los recursos subyacentes del servidor físico host y a partir de ahi creas una imagen que es exactamente lo que necesita para ejecutar tu aplicación. Se empieza con lo básico en la imagen y vas agregando a dicha imagen lo que vayas necesitando. Sin embargo, las máquinas virtuales se construyen en la dirección opuesta, es decir, necesitas un sistema operativo completo para empezar.

Por consiguiente, piensa que los contenedores con Docker no es una tecnología de virtualización, sino que más bien, es una tecnología de entrega de aplicaciones. Entonces, ¿Cómo hacemos una copia de seguridad de un contenedor?. NO se hacen copias de seguridad en los contenedores Docker a diferencia de las soluciones tradicionales de virtualizaión de sistemas.

Los datos importantes no viven en el contenedor, sino en un volumen compartido entre los diferentes contenedores que podamos tener en nuestro entorno. Con lo que lo único que tienes que hacer es una copia de seguridad del volumen de esos datos y olvidarte del contenedor, al fin y al cabo son como los minions que hacen una tarea en concreta y si se rompen o estropean, pues lanzas mas minions a la conquista.

Como resultado, Docker logra un muy buen aislamiento de contenedores. Al mismo tiempo, un proceso en un contenedor Docker consume tan pocos recursos que podrías ejecutar cientos de contenedores Docker en un portátil sin problemas.

¿Acabará Docker como VMware?

El hecho de que una tecnología como Docker haya sido exitosa no significa necesariamente que también esta tenga un éxito comercial desde el punto de vista del inventor. Por poner un ejemplo Sun Microsystems inventó Java, una tecnología importante que se convirtió en la base de toda una industria, pero nunca se benefició demasiado de ella. Al final, Sun perdió su independencia y fue comprada por Oracle.

Esperamos no ver el ejemplo expuesto de Java para la empresa detrás de Docker, Docker Inc. Esta empresa esta haciendo un buen trabajo creando soluciones de Docker que son escalables y redundantes. En si, Docker no serviría de mucho si los contenedores se ejecutan en un solo servidor y ese servidor falla, todos los contenedores Docker fallarían. Por lo tanto, estas soluciones de clustering que se basan en Docker permiten que los contenedores Docker se ejecuten en un clúster de servidores.

Complementan Docker con equilibrio de carga o failover y ofrecen otros conceptos importantes específicamente para microservicios, como el descubrimiento de servicios. Tienen muchas características que son específicas de la virtualización empresarial. Dichas tecnologías de contenedor de clúster son una parte importante de la infraestructura de Google y han demostrado funcionar bien en entornos tan exigentes.

Docker, Inc. proporciona Docker Swarm Mode como una solución para Docker en un clúster. Es una opción simple, pero no puede competir con Kubernetes de Google. Eso es porque Kubernetes es más complejo, pero ofrece una solución completa y se está convirtiendo en un estándar de facto. También cuenta con el respaldo de todos los principales proveedores de servicios en la nube, incluidos Amazon, Microsoft o Google.

Incluso Docker, Inc. incluirá Kubernetes en su distribución Docker. Docker, Inc. tiene una gran influencia en Docker, pero en lo que respecta a la tecnología de clúster, está cambiando a las ofertas de la competencia. Aunque Kubernetes comenzó como un proyecto de Google, ahora pertenece a la Cloud Native Computing Foundation y se está desarrollando abiertamente. Para los usuarios, esto significa más competencia y menos lock-in.

Cualquiera que todavía confíe en la virtualización clásica o las herramientas clásicas para instalar software, y aún no ha mirado a Docker, ha ignorado una tendencia importante. Si Docker, Inc. gana o no dinero es otro tema y parece no importarles.

Suscríbase

No se pierda ninguno de nuestros artículos. Suscríbase a nuestro boletín informativo.