Eclipse Che en Microsoft Azure

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.

Microsoft Azure - Create virtual network classic
Microsoft Azure – Create virtual network classic

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.

Microsoft Azure - Docker on Ubuntu Server
Microsoft Azure – 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.
returngis-eclipse-che configuration
returngis-eclipse-che configuration

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.

eclipse-che-vnet - Create a VPN Connection
eclipse-che-vnet – Create a VPN Connection

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.

eclipse-che-vnet - New VPN Connection
eclipse-che-vnet – New VPN Connection

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.

how to connect with returngis-eclipse-che
how to connect with returngis-eclipse-che

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

returngis-eclipse-che via putty
returngis-eclipse-che via putty

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.

Eclipse Che - Downloading codenvy che
Eclipse Che – Downloading codenvy che

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

Eclipse Che - Server startup in XXX ms
Eclipse Che – Server startup in 15210 ms

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.

eclipse-che-vnet - Manage certifications - Certificates
eclipse-che-vnet – Manage certifications – Certificates

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.

eclipse-che-vnet - VPN Client
eclipse-che-vnet – VPN Client

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

VPN - Group Eclipse-Che eclipse-che-vnet
VPN – Group Eclipse-Che eclipse-che-vnet

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.

Eclipse Che - Dashboard
Eclipse Che – Dashboard

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.

Eclipse Che - New Project
Eclipse Che – New Project

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

Eclipse Che - Creating workspace
Eclipse Che – Creating 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.

Eclipse Che IDE
Eclipse Che IDE

¡Saludos!

Eclipse Che en Microsoft Azure

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.

Microsoft Azure - Create virtual network classic
Microsoft Azure – Create virtual network classic

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.

Microsoft Azure - Docker on Ubuntu Server
Microsoft Azure – 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.
returngis-eclipse-che configuration
returngis-eclipse-che configuration

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.

eclipse-che-vnet - Create a VPN Connection
eclipse-che-vnet – Create a VPN Connection

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.

eclipse-che-vnet - New VPN Connection
eclipse-che-vnet – New VPN Connection

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.

how to connect with returngis-eclipse-che
how to connect with returngis-eclipse-che

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

returngis-eclipse-che via putty
returngis-eclipse-che via putty

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.

Eclipse Che - Downloading codenvy che
Eclipse Che – Downloading codenvy che

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

Eclipse Che - Server startup in XXX ms
Eclipse Che – Server startup in 15210 ms

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.

eclipse-che-vnet - Manage certifications - Certificates
eclipse-che-vnet – Manage certifications – Certificates

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.

eclipse-che-vnet - VPN Client
eclipse-che-vnet – VPN Client

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

VPN - Group Eclipse-Che eclipse-che-vnet
VPN – Group Eclipse-Che eclipse-che-vnet

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.

Eclipse Che - Dashboard
Eclipse Che – Dashboard

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.

Eclipse Che - New Project
Eclipse Che – New Project

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

Eclipse Che - Creating workspace
Eclipse Che – Creating 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.

Eclipse Che IDE
Eclipse Che IDE

¡Saludos!

return(GiS); 2009 – 2019

Contenidos bajo licencia  CC BY-SA 4.0