Estaciones de trabajo basadas en la nube y optimizadas para desarrolladores: Microsoft Dev Box ya está disponible de forma general

Por: Anthony Cangialosi, gerente principal de grupo de programa.

El mes pasado en Microsoft Build, compartimos varias funciones nuevas en Microsoft Dev Box: estaciones de trabajo basadas en la nube y listas para codificar, optimizadas para los casos de uso y la productividad de los desarrolladores. Desde nuevas integraciones con Visual Studio, una vista previa de la personalización de la configuración como código y nuestro propio lanzamiento interno de Dev Box, hubo mucho que compartir y la respuesta a esta noticia fue excelente. Hoy, me complace compartir otro anuncio: Microsoft Dev Box ahora está disponible para el público en general.

Captura de pantalla de las instancias de Dev Box que se ejecutan en el Portal de desarrolladores.

Nuestro recorrido hacia los escritorios virtuales optimizados para desarrolladores

Primero anunciamos Microsoft Dev Box en Microsoft Build 2022, pero nuestro camino no comenzó allí. Durante más de siete años, nos hemos centrado en mejorar la productividad y la satisfacción de los desarrolladores con el poder de la nube. En 2016, presentamos Azure DevTest Labs, un servicio que permite a los equipos de desarrollo crear máquinas virtuales (Virtual Machines – VM, por sus siglas en inglés) con plantillas para una variedad de casos de uso de desarrollo y prueba.

A lo largo de los años, hemos ayudado a muchos clientes a crear soluciones personalizadas en DevTest Labs para ampliar sus funciones principales. Un caso de uso que ha sido en especial popular es el uso de los laboratorios DevTest para crear entornos de desarrollo persistentes y preconfigurados. Pero construir estas soluciones personalizadas sobre DevTest Labs es un desafío y requiere un esfuerzo significativo para desarrollar características adicionales de gestión y gobierno. Los clientes querían una solución llave en mano.

Entregar entornos de desarrollo rápidos y de autoservicio en la nube

En respuesta, presentamos Visual Studio Codespaces en 2019: entornos de desarrollo preconfigurados, basados en contenedores y Linux, que los desarrolladores podían activar en segundos directo desde Visual Studio Code, para brindar a los desarrolladores una manera rápida y fácil de trabajar en sus aplicaciones mientras estaban en la red. ir.

A los desarrolladores les encanta Codespaces por su velocidad y movilidad, y el servicio todavía existe hoy como GitHub Codespaces. Pero el desarrollo de software requiere todo tipo de herramientas. En un inicio, creamos Codespaces para admitir Visual Studio Code y GitHub, pero los clientes pronto comenzaron a solicitar asistencia para otros entornos de desarrollo integrado (Integrated Development Environments – IDE, por sus siglas en inglés), administración de código fuente y herramientas.

Como primer paso, comenzamos a expandir Codespaces para incluir compatibilidad con Visual Studio. Sin embargo, hacerlo reveló más desafíos de los que esperábamos, de manera principal en torno a la gestión y el gobierno listos para la empresa. Eso, combinado con el hecho de que los desarrolladores querían acceder a todas sus herramientas en su entorno de nube, nos hizo darnos cuenta de que necesitábamos ofrecer:

  • Capacidades de seguridad, cumplimiento y administración de costos listas para la empresa.
  • Rendimiento de alta fidelidad basado en la nube con integraciones de herramientas de desarrollo integradas.
  • Acceso de autoservicio a recursos preconfigurados y específicos del proyecto.

En esencia, la solución debía ser una solución de virtualización optimizada para desarrolladores. Microsoft ya ofrece Windows 365, donde entrega PC en la nube, para que transmitan de forma segura su escritorio, aplicaciones, configuraciones y contenido personalizados de Windows desde la nube de Microsoft a cualquier dispositivo en cualquier lugar. De manera fundamental, Windows 365 está integrado por completo con Microsoft Intune, lo que permite a los administradores de TI administrar sus PC en la nube junto con sus dispositivos físicos. Eso era justo lo que buscábamos, así que decidimos usar Windows 365 como base para nuestra nueva solución.

Transformar la experiencia de la estación de trabajo de desarrollo

Con la gestión empresarial a cargo, nuestra próxima consideración fue el hardware subyacente. Si bien la computación de alta potencia era una necesidad obvia, pronto nos dimos cuenta de que el almacenamiento también puede afectar de manera significativa el rendimiento del desarrollador. Las compilaciones grandes ejercen mucha presión sobre las unidades de almacenamiento, lo que se convierte en un cuello de botella si las velocidades de lectura o escritura no pueden mantenerse al día con la compilación. Para dar cuenta de esto, decidimos incluir controladores de estado sólido (Solid-State Drivers – SSD, por sus siglas en inglés) premium en nuestro producto. Pero todavía no habíamos abordado los principales desafíos de las estaciones de trabajo de desarrollo: largos tiempos de implementación y errores de configuración causados por proyectos y conjuntos de herramientas complejos.

Resolver estos problemas requeriría un cambio más fundamental en la forma en que nuestro servicio administraba las configuraciones y la implementación. Los desarrolladores trabajan en todo tipo de proyectos, muchos de los cuales requieren herramientas específicas. Para estos desarrolladores, una configuración general basada en roles requeriría que dediquen tiempo a adaptar su estación de trabajo e instalar herramientas adicionales una vez que se haya aprovisionado. Tanto los administradores de TI como los líderes de desarrollo necesitaban una forma de crear múltiples configuraciones personalizadas y permitir a los desarrolladores activar una nueva estación de trabajo a pedido que estuviera lista para codificar para su proyecto actual.

Nuestro primer paso fue integrar nuestra solución con Azure Compute Gallery, a través de brindar una forma escalable de compartir imágenes base y administrar versiones de imágenes. Luego configuramos una nueva capa de administración que permitió a los equipos organizar sus imágenes y configuraciones de red por proyecto. Ahora, los líderes de desarrollo y los administradores de TI pueden configurar varias estaciones de trabajo para un solo proyecto. Los administradores podrían incluso definir la región de Azure en la que se implementaría cada estación de trabajo, lo que garantiza una experiencia de alta fidelidad para los desarrolladores de todo el mundo.

Al preconfigurar estaciones de trabajo como esta, eliminamos la necesidad de que los desarrolladores se comunicaran con TI cada vez que necesitaban una nueva estación de trabajo. Y debido a que podíamos hacer que varias configuraciones de estaciones de trabajo estuvieran disponibles para un solo proyecto, los desarrolladores no estaban encerrados en una sola configuración: podían seleccionar una estación de trabajo personalizada, girarla y comenzar a codificar de manera rápida. Incluso les dimos a los desarrolladores un Portal para desarrolladores especializado que ofrece un acceso rápido y fácil a sus estaciones de trabajo basadas en proyectos. Los desarrolladores también pueden usar este portal para implementar con rapidez entornos para cualquier etapa de desarrollo a través de Azure Deployment Environments, también disponible de forma general.

Llegar a Microsoft Dev Box

Así es como terminamos en Microsoft Dev Box: estaciones de trabajo basadas en la nube optimizadas para los casos de uso y la productividad de los desarrolladores. Dev Box combina capacidades optimizadas para desarrolladores con la gestión empresarial de Windows 365 y Microsoft Intune. Y mientras trabajamos para mejorar Dev Box, seguimos asociándonos con otros equipos de Microsoft. De manera más reciente, trabajamos en estrecha colaboración con el equipo de Visual Studio para agregar integraciones integradas que optimizan la experiencia de Visual Studio en Dev Box. También introducimos de manera activa la personalización de configuración como código en Dev Box, lo que proporcionará a los líderes de desarrollo un control aún más granular para configurar cajas de desarrollo en torno a tareas específicas y les permitirá conectar el aprovisionamiento de Dev Box a su flujo de Git existente.

Diagrama que muestra cómo interactúan los diferentes roles con el servicio Dev Box, incluidos los desarrolladores, los líderes de desarrollo y los administradores de TI.

Pero antes de lanzar Dev Box, queríamos asegurarnos de que estuviera en verdad listo para la empresa. En Microsoft, es común probar nuestros servicios a nivel interno antes de lanzarlos. En este caso, eso significó una prueba de estrés de Dev Box contra productos con repositorios que tienen cientos de gigabytes de tamaño. Esta ha sido una experiencia desafiante pero útil, y nuestros aprendizajes nos han ayudado a acelerar el camino hacia la disponibilidad general. Ya hay más de 10 mil ingenieros que usan Dev Box en Microsoft, y tenemos varios clientes que usan Dev Box en entornos de producción en la actualidad.

Habilitar lo mejor de Dev Box con precios flexibles

Desde nuestro trabajo inicial con los clientes, aprendimos mucho sobre sus patrones de uso y los casos de uso que puede admitir. Dev Box funciona muy bien como reemplazo de escritorio a tiempo completo o para uso especializado a tiempo parcial. Pueden poner en marcha una Dev Box de alta potencia para una tarea en particular pesada de cómputo, o una segunda máquina para aislar un experimento o una prueba de concepto.

En un inicio, planeamos cobrar por Dev Box en función de un modelo de consumo puro: los clientes solo pagarían por Dev Box cuando estuviera en funcionamiento y nada más. Por desgracia, si bien esto funcionó muy bien para el uso de Dev Box a tiempo parcial, dicho modelo dejó mucha variabilidad para los administradores que querían pagar un costo mensual estandarizado por el uso a tiempo completo.

Para dar cabida a diferentes casos de uso, hemos introducido un precio mensual predecible para el uso de tiempo completo de Dev Box mientras mantenemos un precio de pago por uso basado en el consumo que cobra hasta un límite de precio mensual. Este modelo logra un equilibrio entre los extremos del consumo total o el precio de solo suscripción, lo que garantiza que los desarrolladores puedan optimizar su gasto tanto para casos de uso de tiempo completo como de tiempo parcial.

Primeros pasos con Microsoft Dev Box

Dev Box ya ha transformado las estaciones de trabajo para desarrolladores en Microsoft de escritorios rígidos y de larga duración a estaciones de trabajo listas para codificar y específicas para proyectos en la nube. Estamos emocionados de ver que más desarrolladores dejan atrás los desafíos de las estaciones de trabajo físicas para enfocarse en escribir el código que solo ellos pueden escribir. Para ver lo que Dev Box puede hacer por su equipo, visiten nuestro sitio web o inicien una prueba de concepto hoy.

Si ya comenzaron a usar Dev Box, nos encantaría escuchar su opinión. Envíen cualquier comentario que tengan para que podamos hacer de Dev Box la mejor opción para la productividad de los desarrolladores.

Tags: , ,

Publicaciones Relacionadas