Get it on Google Play
21-02-2018
 

Migración de Liferay a Google Cloud Platform

Google Cloud Platform loves Liferay

Google Cloud Platform loves Liferay

Vamos a ver como lo hemos hecho estos días para migrar unas instalación Liferay 6.2 EE desde unos servidores in-house a la nube de Google. En los próximos meses seguramente migraremos a Liferay 7.

Google Cloud SQL

Google Cloud SQL es el servicio de base de datos en la nube de Google, totalmente administrada y compatible con Mysql. Hemos optado por esta solución de base de datos. Antes de pasar a usar esta opción de base de datos debéis tener en cuenta un par de cosas:

Tendréis que actualizar el driver Java de conector Mysql que trae por defecto Liferay porque es muy antiguo. Este driver se encuentra en ‘%LIFERAY_HOME%/tomcat-7.0.42/lib/ext/mysql.jar’ y lo podéis actualizar a la versión mas reciente. En caso de que no hagáis esto no podréis conectar a la base de datos desde Liferay porque os dará errores al ejecutar unas sentencias SQL.

Cuando exportéis los datos de la base de datos MySql tendréis que hacerlo usando los siguientes parámetros de ‘mysqldump'(Sinó luego no podreis importarlos a Google Cloud SQL):

mysqldump --hex-blob --skip-triggers --default-character-set=utf8 -uUsuario -pPassword -hHost Base_de_datos > fichero.sql

Creación de las imágenes Docker

A la hora de subir el servidor Liferay a la nube podríamos hacerlos creando una instancia de máquina virtual e instalar Liferay igual que siempre. Pero en este caso hemos optado por utilizar contenedores Docker, porque permiten una gestión posterior del proyecto mucho mas ágil, etc.

Hemos creado la imagen Docker en tres niveles. Hemos partido de la imagen ‘ubuntu:latest’ del repositorio de Docker(Nivel 1). En el segundo nivel hemos instalado todo el software necesario para hacer funcionar el servidor Liferay: Servidor Nginx para hacer el balanceo de carga y certificados SSL, Java y el paquete NetTools que incluye ‘ipconfig’ necesario para que Liferay valide la licencia(Liferay hace ipconfig para validar la dirección mac de la tarjeta de red que tiene en la licencia).

Finalmente en el tercer nivel, que es la imagen que vamos a usar para crear el contenedor, copiamos el servidor Liferay, configuración de Nginx, certificados de seguridad y licencia de Liferay.

Después necesitaremos configurar Google Cloud SDK para subir la imagen al repositorio de Google. Para no extenderme os dejo aquí el link con el artículo “Desplegar imágenes Docker en la nube de Google” donde explico como se hace.

Desplegar la imágenes Docker en la nube de Google

Google Cloud Platform nos ofrece dos alternativas a la hora de desplegar contenedores en la nube:

La primera es usar Kubernetes Engine, solución que nos permite desplegar el contenedor(O grupo de contenedores) y el nos gestiona el escalado automáticamente. A mucha gente le encanta la idea esta de escalado automático, y no es para menos, pero debéis tener en cuenta que Liferay cobra por servidor(Que! Como se os ha quedado el cuerpo….).

La segunda desplegar solamente el contenedor usando el panel de control de Google Cloud Platform o el cliente gcloud.

Por cierto, si tenéis ya una licencia de Liferay con una dirección mac, podéis pasar como parámetro la dirección mac al contenedor con el siguiente parámetro:

--mac-address %Dirección mac%

Así de fácil es engañar a la licencia.

En fin, espero no haberme dejado nada. Si os ha gustado ya sabéis, no dejéis de ver mis vídeos y hacer ‘like’, comentar y compartir que es la mejor manera de que esto llegue a cuanta mas gente mejor.

Si te ha servido, por favor comparte

Interesado en formación Liferay?

 

Leave a Reply