Microsoft ha trabajado duro con Docker recientemente, es compatible con los contenedores de Docker en Azure y hace que el motor de Docker se ejecute de forma nativa en la próxima versión de Windows Server (para que los desarrolladores que trabajan con las API de Docker puedan obtener toda esa funcionalidad en Windows Server).

Pero los contenedores optimizados para microservicios no son la única área donde Microsoft está creando características que ayudan a hacer las cosas más escalables más rápidamente. El nuevo SKU de Nano Server y los nuevos Contenedores Hyper-V le brindarán más formas de crear aplicaciones y servicios diseñados para el mundo de la nube..

Nano Server es una opción más pequeña, más rápida y más segura para instalar el próximo servidor de Windows que no necesitará tantos parches, no necesitará reiniciarse con tanta frecuencia y requiere menos recursos del sistema. Nano Server habría tenido un 92% menos de parches críticos y un 80% menos reinicios que Windows Server en el último año, según Microsoft. Si lo coloca en una máquina virtual, el archivo VHD sería un 93% más pequeño y la ejecución de 1001 máquinas virtuales en un servidor de 1TB de 160 núcleos necesitaría menos del 10% de la memoria, lo que dejaría muchos más recursos para las aplicaciones que está ejecutando. servidor para.

Fuera con la GUI

¿Cómo hizo Microsoft que Nano fuera mucho más pequeño y más eficiente? Al sacar las cosas, comenzando con las ventanas reales. Resulta que Windows Server utiliza una gran cantidad de recursos que solo ejecutan la interfaz gráfica de usuario, por lo que no hay una GUI en Nano. No puede iniciar sesión en ella de forma local y no puede acceder a ella con Escritorio remoto. En su lugar, realiza toda la administración de forma remota, utilizando WMI y PowerShell y la configuración del estado deseado. Piense en ello como una versión más pequeña y fuertemente refactorizada de Server Core, diseñada para la nube.

"Mientras hacíamos el trabajo de refactorización en Nano Server, regresamos y observamos las causas históricas de los reinicios", dijo Mike Neil (el gerente general del equipo de nube empresarial de Microsoft) a TechRadar Pro. "¿Cuáles son las dependencias? Hubo piezas de funcionalidad que, francamente, no eran capacidades primordiales para un servidor y gran parte de la refactorización se basó en cómo reducir eso.

"La compensación con eso es que usted quiere asegurarse de que pueda ejecutar las aplicaciones de las personas y brindar funcionalidad en esos entornos, y también proporcionar la infraestructura necesaria para construir entornos de estilo de nube. La clave para nosotros fue asegurarnos de que se ejecute Hyper-V, porque queremos poder utilizar eso como sistema operativo base ".

Entonces, Nano Server ejecuta Hyper-V, y sus aplicaciones se ejecutan en Hyper-V, en máquinas virtuales o en los nuevos contenedores de Hyper-V, y todo está instalado y administrado e incluso depurado remotamente, enfatizó Neil, que nuevamente reduce lo que hay en Nano.

"Utilizará Nano Server como la imagen del sistema operativo base para contenedores y máquinas de carga de trabajo y luego, Desired State Configuration proporciona el mecanismo para la configuración de esas cosas. Nos estamos alejando del enfoque tradicional de Microsoft Installer y nos dirigimos a usar DSC para configurar el servidor y asegurarse de que haya los binarios correctos y que su aplicación pueda ejecutarse ".

El equipo de Windows Server también eliminó los sistemas "heredados", como WOW64 para ejecutar aplicaciones de 32 bits. "El soporte de 32 bits no es una preocupación principal para las aplicaciones nacidas en la nube", dice Neil, y eso es lo que el equipo de servidores espera que los clientes ejecuten en Nano Server.

Contenedores Hyper-V: entre máquinas virtuales y Docker

Es posible que se estén ejecutando en los nuevos contenedores de Hyper-V que se puedan considerar como una combinación de máquinas virtuales tradicionales y las abstracciones de los contenedores de Docker de nivel superior. "Las tecnologías fundamentales son tecnologías de máquinas virtuales. Esa es una capa de abstracción a la que todos estamos muy acostumbrados y está en la capa de hardware, manejando bloques de discos y paquetes de red y ese tipo de cosas", dice Neil.

"Los contenedores en la capa del sistema operativo hacen que la abstracción esté más arriba en la pila. En lugar de instruir a nivel de bloque de disco, está en el nivel de archivo. En lugar de estar en el nivel de paquete, está en la interfaz de red. La ventaja es que está más arriba. La pila ofrece la posibilidad de compartir más recursos entre contenedores. El contenedor de Hyper-V es una mezcla [de esos].

"Usamos el hipervisor para proporcionar el mecanismo de aislamiento; eso se ha probado y probado, usa VT, se basa en una raíz de confianza del hardware. Es una función fundamental del hipervisor proporcionar ese aislamiento. Luego, ofrecemos una abstracción de mayor nivel para red y sistemas de archivos dentro de ese límite. Combinamos los dos, de modo que obtiene algunos de los beneficios de las máquinas virtuales, esa solución de hardware altamente aislada. Pero también obtiene la abstracción de mayor nivel en contenedores que tienen más recursos compartidos y menos gastos generales asociados con ellos."