Un pingüino en la ventana: sobre el potencial y perspectivas de WSL2

¡Hola, Habr!

Mientras nuestra gran venta de verano continúa en pleno apogeo, nos gustaría proponerle discutir uno de los temas más amplios que hemos estado trabajando últimamente: la interacción entre Windows y Linux, relacionada, en particular, con el desarrollo del sistema. WSL 2 está a la vuelta de la esquina, y se presenta un breve resumen de las capacidades que nos esperan en este subsistema, así como una previsión de la futura integración de Windows y Linux. WSLEn mayo de este año, Microsoft anunció que WSL2, la versión más reciente del Subsistema de Windows para Linux, funcionará con un núcleo Linux completo, compilado por la compañía.

Un pingüino en la ventana: sobre el potencial y perspectivas de WSL2

De este modo, Microsoft incluye por primera vez en Windows un núcleo Linux como uno de sus componentes. También introduce en Windows una nueva línea de comandos que ampliará las capacidades de PowerShell y WSL.
Tanto el núcleo Linux para WSL2, creado por Microsoft, como la nueva línea de comandos de Windows son interesantes, sobre todo, para los desarrolladores.

«Este es el movimiento más fuerte en la partida contra AWS», señala Joshua Schwartz, director de programas de digitalización en la consultoría A.T. Kearney.

El futuro de Microsoft no está relacionado con el mercado de PC, aunque seguirá manteniendo posiciones firmes en ese segmento. Será mucho más importante consolidarse en el mercado de la nube, uno de cuyos componentes podrán ser también las PCs de escritorio en el futuro.

¿Qué hace WSL2?

WSL2 es la infraestructura más reciente del Subsistema de Windows para Linux. Permite aumentar radicalmente el rendimiento del sistema de archivos y proporciona total compatibilidad con las llamadas al sistema.

Una de las principales solicitudes de la comunidad WSL estaba relacionada con la mejora de la funcionalidad. En WSL2 funcionan muchos más herramientas de Linux que en WSL, en particular, Docker y FUSE.

WSL2 maneja operaciones de archivos intensivas, como git clone, npm install, apt update y apt upgrade. El aumento real de velocidad depende de la aplicación específica y de cómo interactúa con el sistema de archivos.
Las primeras pruebas mostraron que WSL2 es aproximadamente 20 veces más rápido que WSL1 al descomprimir tar de zip. Al usar git clone, npm install y cmake en varios proyectos, el sistema mostró un aumento de rendimiento de dos a cinco veces.

¿Ayudará esto a ganar la confianza de los desarrolladores?

¿Ayudará esto a ganarse la confianza de los desarrolladores?

Esencialmente, Microsoft busca obtener reconocimiento y confianza en la comunidad de desarrolladores al embarcarse en el desarrollo de su propia versión del núcleo de Linux para respaldar los procesos de WSL2, según Cody Swann, CEO de Gunner Technology.

«A excepción del desarrollo estrictamente para Windows, crear otras aplicaciones — en la nube, móviles, aplicaciones web — en PC era extremadamente incómodo, por lo que los desarrolladores, de una forma u otra, tenían que cargar una distribución de Linux junto con el sistema operativo Windows. Microsoft lo reconoció y ofreció una solución», concluye.

Es poco probable que la implementación de su propio núcleo de Linux impacte significativamente en la experiencia del usuario promedio. Sin embargo, en tal caso, se abren oportunidades para una mayor interacción entre los servicios de Microsoft y el sistema operativo Linux.
Este movimiento por parte de Microsoft es, sin duda, muy astuto, ya que ayuda a adentrarse más en la comunidad de desarrolladores y también a utilizar activamente productos que desarrolla otra persona — es decir, conectarse al open source — opina Swann.

Bienvenido a Nueva Microsoft

La tendencia hacia la creación y el apoyo del núcleo de Linux 'específicamente para Windows' refleja una decidida orientación hacia el desarrollo de open source, promovida por el CEO Satya Nadella. Microsoft ya no es la misma que durante la era de Gates y Ballmer, cuando todo estaba encerrado detrás de un cerco propietario y nadie pensaba en la interoperabilidad.

«Satya ha transformado completamente a Microsoft en una plataforma mucho más moderna, y esta estrategia ha dado sus frutos. Hola, capitalización de billones de dólares», dice Schwartz.

Según Charles King, principal analista en Pund-IT, dos de las principales ventajas de Microsoft están relacionadas con la eficiencia y la seguridad.

«Al utilizar activamente sus propias herramientas y recursos, la empresa puede garantizar a sus clientes que el núcleo estará completamente actualizado y equipado con los últimos parches y correcciones que aseguran la total seguridad», añade.

Los desarrolladores también se benefician.

Los archivos binarios de Linux realizan muchas funciones mediante llamadas al sistema, por ejemplo, acceden a archivos, solicitan memoria y crean procesos. WSL1 se basa en un nivel de traducción que interpreta muchas de estas llamadas del sistema y permite su interacción con el núcleo de Windows NT.

Lo más complicado es implementar todas las llamadas al sistema. Dado que esto no se hizo en WSL1, algunas aplicaciones no podían funcionar allí. En WSL2, aparecen muchas nuevas aplicaciones que funcionan correctamente en este entorno.

La nueva arquitectura permite a Microsoft introducir las últimas optimizaciones en el núcleo de Linux mucho más rápido que en el caso de WSL1. Microsoft puede actualizar el núcleo de WSL2 sin tener que implementar todas las limitaciones de nuevo.

Herramienta completamente de código abierto

El desarrollo del propio núcleo de Linux por parte de Microsoft ha sido la culminación de años de trabajo del Linux Systems Group, así como de muchos otros equipos que operan en toda la corporación Microsoft, según afirma Jack Hammons, gerente de programas del Linux Systems Group de Microsoft.

El núcleo proporcionado para WSL2 será completamente de código abierto y Microsoft publicará en GitHub instrucciones sobre cómo compilar dicho núcleo. La empresa colaborará con desarrolladores que deseen ayudar al proyecto y fomentará las contribuciones ascendentes.

Los desarrolladores de Microsoft crearon WSL2 utilizando sistemas de integración y entrega continua que funcionan en la empresa. Este software será mantenido a través del sistema de actualizaciones de Windows y será completamente transparente para el usuario. El núcleo se mantendrá actualizado e incluirá todas las características de la última rama estable de Linux.

Para garantizar la disponibilidad de las fuentes, la empresa espejo los repositorios localmente y también monitorea constantemente el contenido de la lista de correo de Linux sobre problemas de seguridad, y colabora con varias compañías que apoyan el trabajo con bases de datos en entornos virtuales corporativos (CVE). De este modo, se garantiza que el núcleo de Linux de Microsoft incorpore las actualizaciones más recientes y aborde todas las amenazas que surjan.

Las contribuciones ascendentes se vuelven obligatorias

Microsoft garantiza que todos los cambios en el núcleo se distribuirán en dirección ascendente; este es un aspecto importante de la filosofía de Linux. El soporte para parches descendentes conlleva una complejidad adicional; además, esta práctica no es común en la comunidad de desarrollo abierto.

El objetivo de Microsoft al utilizar activamente Linux es convertirse en un miembro disciplinado de esta comunidad y proporcionar las modificaciones realizadas a disposición de la comunidad. Para lograr la estabilidad de las ramas relacionadas con el soporte a largo plazo, algunos parches, como aquellos que contienen nuevas funciones, pueden incluirse solo en nuevas versiones del núcleo y no ser portados a la versión actual de LTS en modo de compatibilidad hacia atrás.

Cuando las fuentes del núcleo de WSL estén disponibles, estarán compuestas por enlaces a un conjunto de parches y la parte estable de las fuentes. Microsoft espera que con el tiempo esta lista se reduzca, a medida que los parches se distribuyan en dirección ascendente, y se añadan nuevos parches locales para soportar las nuevas funcionalidades de WSL.

Una apariencia de ventanas más agradable

Microsoft también anunció el lanzamiento de la próxima versión "invernal" de Windows Terminal: una nueva aplicación para usuarios que trabajan con herramientas de línea de comandos y shells, en particular, Command Prompt, PowerShell y WSL.

Un pingüino en la ventana: sobre el potencial y perspectivas de WSL2

Terminal de Windows

Windows Terminal 1.0 ofrece numerosas configuraciones y opciones de personalización, proporcionando un control más completo sobre la apariencia de la ventana del terminal, así como sobre los shells/perfiles que deben abrirse como nuevas pestañas.

Las configuraciones se guardarán en un archivo de texto estructurado, lo que facilitará la personalización y el ajuste de la ventana del terminal a su gusto.

Microsoft está discontinuando el desarrollo de la consola de Windows existente y está creando una nueva desde cero, decidiendo aplicar un enfoque fresco. Windows Terminal se instala y funciona en paralelo con la aplicación Windows Console existente que se proporciona "listo para usar".

¿Cómo funciona?

Cuando un usuario de Windows 10 inicia directamente Cmd/PowerShell/etc., se activa un proceso asociado a una instancia normal de Console. El mecanismo de configuración del nuevo terminal permite a los usuarios de Windows crear múltiples perfiles para todas las shells/aplicaciones/herramientas deseadas, ya sea en PowerShell, línea de comandos, Ubuntu o incluso en conexiones SSH con Azure o dispositivos de Internet de las Cosas.

Estos perfiles pueden incluir combinaciones personalizadas de diseño y tamaño de fuente, temas de color, niveles de desenfoque o transparencia del fondo. Además, los usuarios podrán elegir una nueva fuente monoespaciada para que la ventana del terminal luzca más moderna y atractiva. Esta fuente incluirá ligaduras para programadores, estará disponible públicamente y se almacenará en su propio repositorio.

Las principales ventajas de la nueva interfaz de línea de comandos de Windows son las múltiples pestañas y el texto atractivo. El soporte para múltiples pestañas se consideraba la solicitud más demandada en el desarrollo del terminal. El texto atractivo se logra gracias a un motor de renderizado basado en DirectWrite/DirectX, equipado con aceleración de GPU.

El motor muestra iconos textuales, glifos y caracteres especiales presentes en las fuentes, incluidos los ideogramas chinos, japoneses y coreanos (CJK), emoji, símbolos de powerline, iconos y ligaduras para programadores. Además, este motor renderiza texto mucho más rápido que GDI, que se utilizaba anteriormente en la consola.

La compatibilidad hacia atrás se mantiene en perfecto estado, aunque se puede probar Windows Terminal si se desea.

Cronología: así será

Microsoft proporcionará Windows Terminal a través de Microsoft Store en Windows 10 y lo actualizará regularmente. Así, los usuarios siempre estarán trabajando con las versiones más nuevas y las últimas mejoras, prácticamente sin esfuerzo adicional.

Microsoft planea lanzar el nuevo terminal el próximo invierno. Después de que Microsoft lance Windows Terminal 1.0, los desarrolladores continuarán trabajando en muchas posibilidades que ya se han pospuesto en la lista de tareas.

El código fuente de Windows Terminal y Windows Console ya ha sido publicado GitHub.

¿Qué nos depara el futuro?

La posibilidad de que Microsoft utilice su propio núcleo de Linux para otros fines, como el desarrollo de su propia distribución de Linux, hoy parece un poco hipotética.

Es probable que el resultado dependa de si Microsoft puede identificar una demanda significativa para este producto y qué oportunidades comerciales podrían abrirse potencialmente con estos desarrollos, opina Charles King.

Él piensa que en un futuro previsible la compañía se concentrará en asegurar una compatibilidad cada vez más estrecha entre Windows y Linux y su complementación mutua.

Joshua Schwartz considera que en este caso será necesario sopesar cuáles serán las inversiones en este trabajo y cuál será el retorno de las mismas. Si Microsoft fuera una empresa completamente nueva hoy, probablemente todo lo haría sobre la base de Linux. Sin embargo, portar todos los desarrollos ya existentes de Microsoft a la arquitectura nativa de Linux se presenta hoy como un proyecto costoso y complicado que difícilmente resultará rentable. Los amantes de Linux obtendrán su Linux, mientras que la arquitectura principal permanecerá intacta.

Cuando Apple reinventó Mac OS en el año 2000, este sistema operativo se construyó sobre la base de BSD Unix, que es más similar a Linux que a DOS. Hoy en día, la nueva versión de Microsoft Windows se está creando justamente sobre la base de Linux.

¿Quizás se nos abre una nueva puerta?

El núcleo de Linux de Microsoft podría abrir el camino para una interacción más estrecha entre los servicios de Windows y el sistema operativo Linux. En esencia, estos desarrollos de Microsoft indican que incluso dentro de la propia compañía ya se comprende: hoy casi no quedan clientes que prefieran existir en un mundo donde reina Windows.

Es mucho más sensato utilizar tecnologías y sistemas heterogéneos que respondan de manera óptima a las necesidades empresariales y a situaciones prácticas concretas.

Una pregunta estratégica más importante es qué nuevas oportunidades estratégicas abre este movimiento para la propia plataforma de Microsoft.

Azure, el ecosistema en la nube de Microsoft, ya proporciona un enorme apoyo a Linux. Anteriormente, Windows soportaba bien a Linux a través de máquinas virtuales.

Los cambios fundamentales que ocurren hoy están relacionados con el hecho de que ahora los procesos de Linux se ejecutarán de forma nativa en el núcleo de Windows, lo que significa que trabajar con Linux desde Windows será mucho más rápido que en máquinas virtuales. Es bastante probable que, como resultado, Azure se enriquezca con una nueva capa de ingenieros que utilizan Linux a gran escala.

Fuente: habr.com

Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS 🔥 Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS | ProHoster