Build 2022 tenĆa un enfoque de desarrollador, con nuevas herramientas para facilitar la escritura de código en un mundo de trabajo hĆbrido. Dev Box promete hacer que sus entornos de desarrollo sean mĆ”s fĆ”ciles de administrar.
por Simon Bisson

Configurar una nueva PC de desarrollo puede llevar tiempo. Todos lo hemos experimentado: mi Ćŗltimo dispositivo llegó en febrero y estoy seguro de que todo lo que necesito aĆŗn no estĆ” allĆ, incluso con una larga lista de aplicaciones y herramientas que he usado para guiar las instalaciones. La lista se hace mĆ”s larga con cada nuevo proyecto y cada nueva tecnologĆa tambiĆ©n.
Es un problema que afecta la productividad de los desarrolladores, especialmente cuando se inicia un nuevo proyecto. ¿Qué herramientas necesitarÔ instalar y cómo interactuarÔn con su conjunto de herramientas normal? Es poco probable que una mÔquina ajustada para el desarrollo de .NET necesite las mismas cosas que una que construye modelos de aprendizaje automÔtico en PyTorch. Luego estÔ el hardware subyacente. Si estoy creando complementos de JavaScript para Office, no voy a necesitar 64 GB de RAM y una GPU de gama alta, una especificación que es muy probable para una mÔquina que estÔ creando y probando código de visión artificial.
Los desarrolladores deben ser rÔpidos y flexibles, y eso generalmente requiere el último hardware con todas las campanas y silbatos. Cada pizca de potencia facilita la entrega de código libre de errores que hace exactamente lo que se necesita. Pero no importa qué tan rÔpida sea la PC, lleva tiempo instalar y configurar una cadena de herramientas de proyecto, desde IDE hasta bibliotecas de proyectos y Git.
¿Cómo podemos asegurarnos de que los desarrolladores estén listos para comenzar a trabajar tan pronto como se les asigne un proyecto? Microsoft y su subsidiaria GitHub han estado pensando en este problema durante algún tiempo, y ahora estamos en un punto en el que se encuentran dos tendencias clave: la capacidad de contener las herramientas y los servicios que queremos y las capacidades de las instalaciones de escritorio remoto.https://imasdk.googleapis.com/js/core/bridge3.517.2_en.html#goog_6419320851 segundo de 28 segundos Volumen 0%
Alojado en Azure, administrado por Windows 365
Build 2022 vio a Microsoft anunciar Microsoft Dev Box , una forma de crear entornos de desarrollo en mÔquinas virtuales de Windows alojadas en Azure para que los desarrolladores puedan abrir rÔpidamente un sistema preconfigurado y ponerse a trabajar sin tener que cambiar la PC subyacente. Dev Box se basa en herramientas que Microsoft ha desarrollado para administrar escritorios comerciales en la nube, incluidos Windows 365 y los diversos componentes de sus herramientas de administración de sistemas Endpoint Manager.
El servicio de PC en la nube Windows 365 administrado existente de Microsoft es su plataforma de escritorio virtual, que ofrece instalaciones alojadas de Windows 10 y Windows 11 que se pueden administrar a través de la misma plataforma de administración de dispositivos en la nube de Intune que el hardware local y móvil, junto con el resto de Endpoint Manager. suite. Poner Windows en la nube es el primer paso para entregar herramientas como Dev Box, ya que ahora puede configurar y aprovisionar imÔgenes de escritorio virtual que se pueden activar a pedido.
Dado que Windows 365 ya es compatible con el trabajo remoto e hĆbrido, tiene mucho sentido ofrecer entornos especĆficos para tareas que se puedan usar en cualquier PC o tableta, con software de productividad familiar y herramientas de lĆnea de negocio personalizadas, y luego ampliarlo. para apoyar a los desarrolladores. Las nuevas funciones de Windows permitirĆ”n que los dispositivos se inicien en un entorno de Windows 365 o cambien rĆ”pidamente a Ć©l usando las mismas herramientas que usa para las herramientas de escritorio virtual integradas de Windows. Con una banda ancha rĆ”pida y modernas herramientas remotas, la latencia se mantiene al mĆnimo, lo que hace que un escritorio virtual remoto no se distinga de uno local.
Por ahora, sin embargo, estÔ limitado a usar una herramienta de Escritorio remoto separada para acceder a los entornos de Windows 365 y Windows Dev Box. Esta es una nueva versión del escritorio remoto familiar incluido con Windows que solo puede conectarse a entornos de nube administrados. Es algo confuso: no estÔ en la tienda de Windows pero tiene el mismo icono y nombre. Si usa Escritorio remoto para administrar sus servidores de desarrollo y trabajar con recursos de Azure, terminarÔ necesitando dos versiones diferentes por ahora.
Para los usuarios, un Dev Box serĆ” simplemente un enlace en un portal. Haga clic en el enlace y se abrirĆ” en Escritorio remoto (o solicitarĆ” una descarga). Esto activa una mĆ”quina virtual que ejecuta una imagen preconfigurada. Una vez lanzado, todas las herramientas necesarias para comenzar a trabajar estarĆ”n allĆ. Los usuarios obtendrĆ”n mĆ”s derechos sobre sus imĆ”genes que un usuario tĆpico en Windows 365, lo que les permitirĆ” instalar herramientas segĆŗn sea necesario. Es importante recordar que no existe una relación entre las capacidades del dispositivo conectado a un Dev Box y el entorno virtual; PodrĆa estar usando un viejo iPad para revisar algĆŗn código desde casa el fin de semana y tendrĆa el mismo rendimiento que mi estación de trabajo en mi oficina (que en estos dĆas de trabajo hĆbrido podrĆa estar en cualquier lugar).
Debajo de la imagen de VM habrĆ” un host con los recursos apropiados para el proyecto. Puede ser una VM con una vGPU, o puede ser una con suficiente para ejecutar un editor y conectarse a un sistema CI/CD (integración continua y entrega continua) para ejecutar una compilación. Como arquitecto o lĆder de proyecto, puede definir quiĆ©n obtiene quĆ© recursos, lo que le permite presupuestar las herramientas necesarias para un proyecto. Las herramientas de administración muestran quĆ© recursos se estĆ”n utilizando, por lo que puede aumentar o disminuir los requisitos segĆŗn sea necesario y ayudar a mantener los proyectos dentro del presupuesto. Los Dev Boxes se pueden hibernar automĆ”ticamente cuando los usuarios no estĆ”n conectados para mantener los costos de cómputo al mĆnimo.
Dev Boxes para cada tarea y cadena de herramientas
Los administradores y arquitectos pueden precargar aplicaciones en imƔgenes para que cada Dev Box tenga una cadena de herramientas completa y estƩ lista para funcionar. Las imƔgenes se pueden almacenar hasta que se necesiten, por lo que es posible crear una biblioteca de Dev Boxes que sean adecuadas para una variedad de tareas diferentes e incluso tener entornos de prueba para probar nuevas herramientas.
Uno de los aspectos mÔs interesantes de Dev Box es la capacidad de asignar mÔs de uno a un usuario. Es posible que tenga un Dev Box configurado con herramientas y servicios de ciencia de datos para crear y entrenar modelos de aprendizaje automÔtico. Mientras entrena un modelo, puede abrir otro que esté configurado para compilar y probar una aplicación mediante las API del modelo. El cambio se maneja a través del mismo portal que usa para conectarse a un Dev Box. Dos cajas de desarrollo idénticas conectadas al mismo repositorio pueden mostrar los efectos de nuevas bibliotecas o nuevos componentes en su código sin afectar sus ramas principales.
Es importante tener en cuenta que Dev Box no es una versión de Codespaces de GitHub , aunque no hay ninguna razón por la que un Dev Box no pueda conectarse a un Codespace, Ā”y muchas buenas razones por las que deberĆa! Codespace es un entorno en contenedores para crear y probar aplicaciones nativas de la nube y, aunque estĆ” conectado a un entorno de edición alojado en la nube, es mĆ”s como poder codificar en su plataforma de tiempo de ejecución desde cualquier lugar sin usar recursos de producción.
Microsoft estÔ tomando algunos de los conceptos de Codespaces y usÔndolos como parte de otro nuevo conjunto de herramientas para desarrolladores anunciado en Build. Los entornos de implementación de Azure son una forma de crear plantillas para una infraestructura de implementación, lo que brinda a los desarrolladores un objetivo de autoservicio para su código que los ingenieros de la plataforma pueden administrar y monitorear. Puede tener múltiples entornos de implementación para diferentes etapas del ciclo de vida de la aplicación, por ejemplo, desarrollo y prueba con diferentes modelos de red y seguridad para que solo los entornos de producción tengan acceso a Internet o a las VLAN corporativas.
Al igual que Dev Box, los entornos de implementación se pueden programar. Puede activar uno a las 9 a. m. para probar el código mientras lo escribe y apagarlo a las 7 p. m. cuando todos se van a casa. La disponibilidad programada puede ayudar a mejorar el equilibrio entre el trabajo y la vida, lo que permite a los desarrolladores empacar sabiendo que todo estarÔ listo por la mañana. Y como todos estos entornos se ejecutan en la nube, incluso Dev Box, todo lo que necesitan es una conexión de red para ver su escritorio remoto, donde sea que estén. Es verano, ¿código en la playa? Con Dev Box y Azure Deployment Environments, no hay motivo para no hacerlo.