RemoteApp: Azure con sabor a DaaS

Una muy buena noticia para los tímidos que aún no están seguros de subirse a la nube (todavía). Microsoft anunció en modo vista previa el lanzamiento de un nuevo servicio: RemoteApp.

RemoteApp es hoy por hoy lo más similar a DaaS (Desktop as a service) que ofrece Azure. Yo creería inclusive que la experiencia es mejor que DaaS. Veamos por qué.

Del lado del cliente

Supongamos que soy un usuario cualquiera. Hasta ayer, tenía que abrir mi programa instalado en mi máquina local el cual se conecta a los servicios de mi proveedor. Con suerte, mi programa era soportado para XP, 7, 8 y algún que otro OS más. Ahora que tengo tablet, celular y laptop realmente me gustaría poder correr este software en todos ellos. Qué hago? Estoy condenado a sufrir? Tengo que esperar a que el proveedor tire todo abajo y suba el software a la nube?

RemoteApp trae una solución casi mágica para esto. Qué tal si virtualizamos un servidor que corra estos programas, y luego hacemos que los usuarios se conecten remotamente a este servidor? Que tal si además creamos una interfaz muy linda para que el usuario no tenga que loguearse en el servidor virtual? Que tal si además damos la experiencia de que el usuario lo esté corriendo localmente? WIN.

Veamos los pasos:

1. Necesito descargarme el cliente de RemoteApp. Es extremadamente delgado y puedo correrlo en dispositivos iOS, Mac OS, Windows y Android. (Que más querés???)

2. Me autentico con mi Microsoft Account. Esto lo conocemos todos, lo puede hacer hasta mi vieja.

Nota: también puedo autenticarme con mi cuenta corporativa joineada al AD. Veamos por ahora el camino feliz.

3. Entro a este nuevo dashboard o "escritorio", donde me aparecerán todas las apps que tengo disponibles para usar.

Si alguien me invita a usar una nueva app, me va a aparecer en App Invitations. Ejemplo: el proveedor me invita a que yo use su nueva app remotamente.

4. Doble click en la app. Probemos el Excel online. Tarda un par de segundos en conectarse, y luego AHHHH! MIREN ESTO:

Es el Excel. Ven el iconito de ahí abajo? Está corriendo remotamente. (!!!!!!)

Como podemos ver, la experiencia del usuario es extremadamente feliz. Login vía Microsoft Account y parece que estoy corriendo localmente.

 

Del lado del servidor

 Como es usual, acá se pone más complicado. Primero tengamos en cuenta que el servicio está en preview, por lo que debemos solicitar acceso para probar el servicio. Podemos hacerlo desde el portal de Azure.

Notaremos que vemos dos cosas diferentes, el "quick create" y el "create with VPN". Acá es donde se pone interesante ya que tenemos dos sabores diferentes de remote app:

  • Cloud Deployment
  • Hybrid Deployment

La diferencia es muy sencilla: el cloud deployment es una instancia de mi servidor que corre 100% en Azure. Allí elijo qué aplicaciones quiero disponibilizar para mis usuarios, el servidor corre en Azure y escala automáticamente en base a las necesidades de mis usuarios. Este servidor disponible es un Windows Server 2012 R2 que durante el proceso de preview, ofrece gratuitamente todo el paquete de Office y todos los aplicativos típicos de Windows: mspaint, calc, snippingtool, etc.

Por otra parte, el Hybrid Deployment es algo más complejo. Se trata de un servidor que tiene la posibilidad de conectarse a recursos on-premise (por ejemplo, ejem.. mi base de datos porque aún está en mi datacenter). Esta conexión se hace vía una VPN como ya conocemos en Azure.

 

Cloud Deployment

 Este deployment es el mas sencillo. Con un par de clicks ya lo tenemos andando, veamos como se hace.

 

Elegimos la única imagen disponible por el momento. Esperamos unos minutos y ya está creado. Listo, ya puedo remotear.

Como es típico en Azure, esto es extremadamente intuitivo y fácil de usar. Muestro un ejemplito de como agregar nuevas aplicaciones:

 

Desde este dashboard como siempre podemos monitorear, agregar usuarios, publicar nuevas aplicaciones, ver quién está conectado. En fin, este cloud deployment es un camino extremadamente feliz y súper manejable. Veamos ahora el Hybrid Deployment.

 

Hybrid Deployment

 Entiendo que éste escenario es el más buscado por aquellos a quienes les urge migrar. Para levantar un nuevo deployment híbrido, lo que necesitan es subir una imagen de máquina virtual corriendo Windows Server 2012 R2 que tenga las aplicaciones que quiero publicar. Sí, no puedo hacerlo 100% en la nube, debo subir la imagen.

Una vez creado el servicio (clickeando en create with VPN), podemos configurar la red virtual y en paralelo subir la imagen. Para configurar la VPN, simplemente vamos a los settings y cargamos los campos. Esto es igual que en Azure VPN.

En la solapa Template Images podremos crear y subir nuestras nuevas imágenes. Hagamos la prueba:

El proceso para subirlo es largo pero sencillo. Lo hacemos vía Windows Azure Powershell.. de esta forma nos evitamos los problemas de corte en la subida y demás. La buena noticia es que Azure nos arma el script listo para subir la imagen:

 

Una vez que creamos esto, ya tenemos las mismas capacidades de administración que teníamos con el Cloud Deployment. La administración y disponibilización es muy muy sencilla.

Preguntas típicas

 Muy lindo, pero ¿esto escala?
Sí, al subir la imagen, Azure instancia servidores en base a su necesidad -- de hecho este es el motivo por el cual pide un template.

¿Qué corre esto por detrás?
Terminal Services :)

¿Qué pasa si necesito hacer un update de la imagen?
Tengo dos posibilidades: mantengo a mis usuarios conectados y actualizo en background, cuando termine el update les pido que se reconecten. La otra alternativa es desconectarlos a todos, actualizar y luego permitirles volver cuando termine el update. Este último escenario es ideal para updates que tienen un deadline.

¿Qué protocolo utiliza?
Microsoft Remote Desktop

¿Pricing?
No hay info sobre pricing hasta el momento, podemos probarlo gratis hasta 2 instancias.

 

 Oportunidades de mejora

 Definitvamente me gustaría poder hacer un deployment híbrido desde la nube (entiéndase instanciar servidores desde la nube, osea nunca subir imágenes). Es mucho pedir? Yo creo que no y lo veremos disponible muy pronto.

¿Qué opinás? ¿Qué mejorarías de este servicio?