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.