Si has estado atento estos días a los anuncios durante la EclipseCon habrás leído que se ha lanzado un nuevo IDE web llamado Eclipse Che. Como no podía ser de otra forma, he estado jugando con el mismo, viendo cómo sería posible hospedarlo en Microsoft Azure. En este post te cuento cómo hacerlo.
A día de hoy, el nuevo IDE no utiliza credencial alguna para el acceso, por lo que debes de tener cuidado a la hora de configurarlo, para que no quede expuesto a Internet. Después de pensar en diferentes soluciones he optado por aprovechar la red virtual, a la que pertenecerá la máquina virtual Linux, para hacer una conexión VPN point to site para el acceso. Te cuento todos los pasos:
Primero debes crear una Virtual Network (classic) a través del portal. Para mi demo, he utilizado un rango más o menos reducido.

Como Eclipse Che se apoya en Docker para gestionar su arquitectura, puedes utilizar una de las imágenes de la galería que ya tienen todo lo que necesitas. Haz clic en New > busca Docker y selecciona la VM Docker on Ubuntu Server.

Esta es la configuración de mi máquina:
- Elige la red que acabas de crear, en mi ejemplo eclipse-che-vnet.
- Cambia el tipo de máquina a A3 (4 Cores y 7GB de RAM).
- Elige el mismo grupo de recurso que utilizaste para la vNet, en mi caso Eclipse-Che.

Una vez finalizada la creación de la máquina, debes actualizar la vNet para que admita conexiones point to site, con el objetivo de poder conectarte a la misma red que esta máquina, y no tener que exponer todos los puertos necesarios por Eclipse Che al mundo. Para ello accede a la sección de Virtual Networks (classic), selecciona la de este entorno, y haz clic en You don’t have any existing VPN connections. Click here to get started.

Añade un rango para los clientes que van a acceder a la red. También puedes aprovechar este paso para generar un gateway durante la creación a través de la opción Create gateway immediately.

Desde el punto de vista del servidor, el último paso es crear un container con Eclipse Che en tu máquina con Docker. Para ello puedes utilizar PuTTY, que te permite conectarte por SSH a la máquina, utilizando el DNS name asignado o la IP pública de la misma.

Utiliza cualquiera de ellos como dirección en PuTTY por el puerto 22 y utiliza las credenciales que configuraste cuando creaste la máquina.

Gracias a la documentación de Eclipse Che puedes obtener los parámetros necesarios para configurar el servidor. Para este ejemplo son los siguientes:
docker run -ti --net=host -v /var/run/docker.sock:/var/run/docker.sock -v /home/user/che/lib:/home/user/che/lib-copy -v /home/user/che/workspaces:/home/user/che/workspaces -v /home/user/che/tomcat/temp/local-storage:/home/user/che/tomcat/temp/local-storage -e CHE_DOCKER_MACHINE_HOST=192.168.0.4 codenvy/che
Como puedes ver en el comando anterior, estoy utilizando la variable de entorno CHE_DOCKER_MACHINE_HOST que me permitirá indicar cuál es la IP del host de Eclipse Che. Si lo ejecutas verás que descargará la imagen y, una vez que finalice la instalación, arrancará el Tomcat que hospeda el entorno.

El proceso habrá finalizado cuando el Tomcat esté levantado.

Ya tienes tu entorno listo para empezar a trabajar. El único punto pendiente es conectarte a la misma vNet donde está dicha máquina a través del point to site que has generado. Puedes generar un certificado tu mismo a través del siguiente comando con makecert (si tienes instalado Vistual Studio puedes utilizar este comando desde la consola Developer Command Prompt):
makecert -sky exchange -r -n "CN=RootCertificateName" -pe -a sha1 -len 2048 -ss My "RootCertificateName.cer"
Sube el certificado que acabas de generar a la configuración del point to site de la red.

A partir del mismo, genera el certificado de cliente que deberás instalar en tu máquina para obtener el acceso. Puedes hacerlo a través de este comando:
makecert.exe -n "CN=ClientCertificateName" -pe -sky exchange -m 96 -ss My -in "RootCertificateName" -is my -a sha1
Por último, instala el cliente VPN en tu máquina para acceder a la red.

Accede a la sección VPN de Windows y conéctate a la que acabas de instalar.

Para acceder al Dashboard de Eclipse Che, basta con utilizar la IP de la máquina de Docker seguida del puerto 8080 en tu navegador.

Para comprobar que todo funciona correctamente, prueba a generar un nuevo proyecto, donde puedes elegir los stacks de Java, Node, PHP, ASP.NET o un proyecto en blanco.

Dependiendo del tipo de proyecto que elijas, durante la creación descargará y configurará una imagen con todo lo necesario para ese workspace.

Una vez que haya finalizado la generación del workspace y del proyecto podrás acceder al IDE a través de la opción OPEN PROJECT IN IDE.

¡Saludos!