Windows Containers

Una vuelta de tuerca a los contenedores de la mano de Microsoft

Las tecnologías de contenerización suponen una gran disrupción en la forma que estamos acostumbrados a trabajar tanto en el mundo del desarrollo como de la infraestructura.

Los grandes actores del panorama tecnológico están tomando posiciones; lo hemos podido ver la semana pasada con Google Ventures invirtiendo doce millones de dólares en CoreOS, una distribución minimalista de Linux enfocada a la ejecución de aplicaciones contenerizadas en los grandes datacenters. También con Microsoft y su acuerdo de colaboración con Docker, uno de los principales jugadores en el mundo actual de contenedores con más de 100 millones de contenedores de Docker descargados y más de 70.000 aplicaciones dockerizadas. Tenemos también a Red Hat colaborando activamente con Project Atomic para crear un standar de contenerización en el mundo open source o VMware facilitando la integración de sus herramientas y plataforma con estas nuevas tecnologías.

Sin embargo, de todos ellos, creo que Microsoft es el que se puede encontrar en una posición más ventajosa a día de hoy. Comparado con los anteriores, es el único que tiene su propio sistema operativo de servidor, Windows Server;  su propia plataforma de virtualización, Hyper-V; y su propia solución de cloud computing, Microsoft Azure.

Este ecosistema permite por ejemplo que todo lo que aprende desplegando y gestionando un servicio de cloud con cientos de miles de servidores pueda reinvertilo en mejorar y construir productos adecuados a las necesidades de sus usuarios. Mientras tanto, el resto de jugadores tienen que buscar en terceros esas “patas” de conocimiento que les faltan.

Gracias a lo anterior, es aquí donde pienso que una vez más Microsoft ha dado una vuelta de tuerca a una tecnología, en este caso: los contenedores.

El pasado día 8 de abril se anunciaban dos de los hitos más importantes en la siguiente release de Windows Sever vNext: la nueva versión que estará disponible conocida como Windows Server Nano y el nuevo formato de contenedores para alojar aplicaciones basados en Hyper-V. El primer anuncio puede ser perfectamente base para otro artículo, pero hoy nos centaremos en el segundo.

Los contenedores en Windows Server

Desde octubre ya éramos conscientes de que en la siguiente versión de Windows Server se incluiría el soporte para tecnologías de contenerización basadas en Docker tras el anuncio realizado del acuerdo de colaboración con dicha compañía. Estos contenedores recibieron el nombre de Windows Server Containers.

Contenedores Windows Server
Contenedores Windows Server

En la imagen anterior vemos que estos contenedores se basarán en los servicios expuestos por el kernel de Windows para alojar de forma aislada los procesos que queramos ejecutar en el contenedor. El motor de Docker será el encargado de su creación y gestión de forma similar a como lo hace sobre Linux y nosotros interactuaremos con ellos a través del cliente de Docker. Estos contenedores crearán un nivel de aislamiento funcional de forma similar a lo que obtenemos con los namespaces y los cgroups del kernel de Linux.

Sin embargo, a la hora de hablar de contenedores en el mundo empresarial existe una gran preocupación sobre la seguridad de su uso dentro de nuestros datacenter. A principios de año Gartner entraba en detalle en esta área con el análisis: Security Properties of Containers Managed by Docker; en él se comentaba lo siguiente:

“Linux containers are mature enough to be used as private and public PaaS” but “disappoint when it comes to secure administration and management, and to support for common controls for confidentiality, integrity and availability.”

Bastante claro el mensaje. Además de ello, comenta que una de las formas más comunes de desplegar una solución como Docker es realizarlo encima de un hypervisor como Hyper-V. Sin embargo, eso no implica que con ello aumentemos la seguridad de nuestras soluciones contenerizadas:

“However, except for a further fortification of resource isolation, there is little to be gained from the underlying hypervisor. Docker and containers cannot inherit from the hypervisor what they lack most: secure administration and management features, and support for common controls for confidentiality, integrity and availability. ”

Es aquí donde el último anuncio de Microsoft da la clave.

Los contenedores de Hyper-V

Leyendo el anuncio, si no prestabas atención rápidamente podías caer en que lo que se comentaba en él se refería a los Windows Server Containers del apartado anterior; sin embargo, el anuncio hablaba de un nuevo tipo de contenedores: Hyper-V Containers.

Y la pregunta entonces que sigue es, ¿qué son los contenedores de Hyper-V?, ¿en qué se diferencian respecto a los contenedores de Windows Server?

Contenedores de Hyper-V
Contenedores de Hyper-V

En la imagen anterior es posible ver de forma gráfica los contenedores de Hyper-V frente a los contenedores de Windows Server. La clave es la capa intermedia de virtualización de Hyper-V que va a permitir que el código que se ejecuta dentro de un contenedor de Hyper-V esté aislado y no pueda interactuar con el sistema operativo anfitrión u otros contenedores que se alojen dentro del mismo host.

Lo que han hecho es aprovechar el conocimiento en el área de virtualización adquirido en el desarrollo de Hyper-V desde la primera versión con Windows Server 2008 hasta la actual con Windows Server 2012 R2 y ofrecer un tipo de aislamiento para los contenedores similar al de las máquinas virtuales.

A día de hoy no se ha visto de forma pública esta nueva tecnología, hay que esperar a //Build a finales de mes para ello. Sin embargo, los contenedores de Hyper-V ofrecerán una opción intermedia entre las máquinas virtuales tradicionales y los contenedores que servirá para obtener los niveles de protección propios de un hypervisor y la flexibilidad y agilidad propia de los contenedores. No solo eso, los Windows Server Containers podrán ser desplegados como Hyper-V Containers sin necesidad de realizar ningún tipo de modificación en ellos por lo que podremos elegir para cada aplicación cuál es la opción más adecuada.

La verdad es que un nuevo mundo se abre. Los próximos meses se presentan muy interesante. Los contenedores han llegado con fuerza y tienen pinta de quedarse con nosotros durante bastante tiempo.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.