Azure DevTest Lab: tus entornos de desarrollo y pruebas en la nube

Uno de los nuevos servicios que se presentó durante el evento Connect(); fue Azure DevTest Labs, el cual era uno de los esperados por muchos. Cuando se habla de los entornos de desarrollo y pruebas en local siempre vemos los mismos inconvenientes: el tiempo que se tarda en conseguir esos entornos suele ser largo, el coste de tener una infraestructura decente, el tiempo que se dedica a montarlos e instalar las herramientas que necesitan los desarrolladores pasan de horas a días, etcétera. Además, la velocidad a la que se actualizan las diferentes herramientas lleva a que aquello de “crear una imagen” para los equipos cada vez sea una práctica más obsoleta. Todo ello contribuye a que la productividad que se espera no sea la real y es por ello que una solución de este tipo puede alegrar a más de uno.

Para que te hagas una idea, con Azure DevTest Labs puedes:

  • Tener un sistema de autoservicio para desarrolladores y testers: uno de los objetivos principales del servicio es ofrecer a los desarrolladores la posibilidad de crearse sus propias máquinas bajo una serie de condiciones, definidas a través de políticas.
  • Políticas: ser capaz de restringir el acceso a cierto tipo y número de máquinas.
  • Plantillas: poner a la disposición de los desarrolladores un conjunto de imagenes propias para el laboratorio.
  • Seguridad: establecer roles a los diferentes usuarios del laboratorio.
  • Cuotas: poder fijar un horario y presupuesto que se ajuste a tu escenario.

Para crear tu laboratorio, debes accedes al nuevo portal https://portal.azure.com y en menú de la izquierda seleccionar New > Developer Services > Azure DevTest Labs.

New - Developer Services - DevTest Labs
New – Developer Services – DevTest Labs

Necesitarás un nombre para tu laboratorio, seleccionar una suscripción, la región y activar o desactivar la opción de shutdown.

Create a DevTest Lab
Create a DevTest Lab

La opción de shutdown significa que, llegada la hora seleccionada, todas las máquinas dentro del laboratorio se apagarán de manera automática, opción más que interesante para que los desarrolladores/testers no comentan el error de dejarse ningún entorno encendido, una vez haya finalizado la jornada de trabajo.

Una vez creado el laboratorio, como administrador ya puedes configurar el mismo. Si accedes al apartado Settings puedes ver todas estas opciones:

Azure DevTest Labs - Settings
Azure DevTest Labs – Settings
  • Properties: información del laboratorio, como el nombre, la suscripción a la que pertenece, región, etcétera.
  • All VMs: como administrador del laboratorio, podrás ver todas las VMs de todos los usuarios que lo utilicen.

    Azure DevTest Labs - All VMs
    Azure DevTest Labs – All VMs
  • Templates: Se trata de las imágenes que se pueden utilizar para las VMs. Incluso puedes subir la tuya propia a través del botón + Template.

    Azure DevTest Labs - Templates
    Azure DevTest Labs – Templates
  • Artifact Repository: También puedes asociar un repositorio de aplicaciones o artefactos que pones a disposición de los desarrolladores. Como veremos más adelante, esto nos permite agregar una serie de instalaciones o procesos durante la creación de la máquina virtual, que nos desligará de las instalaciones, una a  una, de los programas que necesitemos.

    Azure DevTest Labs - Artifact Repository
    Azure DevTest Labs – Artifact Repository
  • Cost Thresholds: Todavía no está disponible, pero se podrá establecer una cantidad de dinero como límite dedicado al laboratorio.

    Azure DevTest Labs - Cost Thresholds - Coming soon
    Azure DevTest Labs – Cost Thresholds – Coming soon
  • Allowed VM Sizes: Esta opción es una de las más interesantes, ya que limita el acceso a los tamaños de máquinas que el adminsitrador haya estimado que son aptas para el uso de desarrollo y pruebas, evitando utilizar tamaños exagerados que suponen un gran coste.

    Azure DevTest Labs - Select Allowed VM Sizes
    Azure DevTest Labs – Select Allowed VM Sizes
  • Maximum VMs: También se puede elegir el número máximo de máquinas virtuales que puede utilizar cada desarrollador y cuál es el máximo de máquinas por este laboratorio.

    Azure DevTest Labs - Max VMs Policies
    Azure DevTest Labs – Max VMs Policies
  • Auto Shutdown: Se trata de la misma opción que viste durante la creación, que determina a qué hora se apagan todas las máquinas del laboratorio.

    Azure DevTest Labs - Auto Shutdown
    Azure DevTest Labs – Auto Shutdown
  • Users: aquí puedes añadir grupos y/o usuarios que tendrán acceso al laboratorio con diferentes roles.

    Azure DevTest Labs - Users
    Azure DevTest Labs – Users
  • Tags: Al igual que al resto de servicios de la plataforma, se pueden asociar tags al laboratorio y asignarle una serie de claves que nos permitan relacionarlo con otros servicios de manera lógica.

Una vez configurador el laboratorio, ya puedes comenzar a crear máquinas virtuales. Lo único que debes hacer es seleccionar la acción +Lab VM del menú superior.

Add Lab VM
Add Lab VM

Lo primero que debes elegir es un nombre para tu VM. Después deberas seleccionar una de las imágenes base que el administrador del laboratorio ha escogido para este entorno.

Add Lab - Base
Add Lab – Base

Necesitarás además un usuario y contraseña para acceder a la máquina virtual y un tamaño para la misma. Podrás comprobar que en el apartado VM Size sólo aparecen las máquinas seleccionadas previamente por el administrador en la sección Allowed VM Sizes.

Add Lab VM - Choose your VM Size
Add Lab VM – Choose your VM Size

Si bien en el apartado de Artifact Repository no hemos agregado nada, por defecto aparecen una serie de aplicaciones que el equipo de producto ha puesto a nuestra disposición en un repositorio público.

Add Lab VM - Add Artifacts
Add Lab VM – Add Artifacts

Para llevar a cabo la instalación de estas herramientas, se hace uso de del gestor de paquetes Chocolatey.

La región será la misma para todas las máquinas virtuales del laboratorio, por lo que a día de hoy no es posible modificarla. Por otro lado, será posible visualizar la plantilla ARM utilizada para la creación de esta máquina, pero está por llegar. Introduce el usuario y la contraseña y espera a que la creación de la máquina y la instalación de los paquetes se haya completado.

Azure DevTest Labs - returngis - creating VM
Azure DevTest Labs – returngis – creating VM

 

Una vez finalice la instalación podrás acceder a ella como a cualquier otra máquina virtual en Microsoft Azure.

Azure DevTest Labs - VM - Connect
Azure DevTest Labs – VM – Connect

¡Saludos!