Creado originalmente por el equipo de Facebook, HHVM (HipHop Virtual Machine) es un motor de aplicaciones para la web diseñado para mejorar el rendimiento con respecto a otros entornos más tradicionales. Es capaz de ejecutar software bajo los lenguajes Hack y PHP y usa un compilador JIT (Just in Time) que optimiza el funcionamiento de los programas. Además, HHVM es otra de las aplicaciones Open Source que podemos desplegar en sólo unos clics en los Servidores Cloud de Arsys.
HHVM está inicialmente concebido para servir de motor de aplicaciones que utilicen el lenguaje Hack, pero también mejora las condiciones de ejecución de muchas aplicaciones PHP tradicionales. La mayor parte de las aplicaciones PHP existentes son capaces de correr en una máquina virtual con HHVM, aumentando su rendimiento, lo que supone un aliado excelente para los desarrolladores preocupados por la velocidad de sus sitios web.
Lenguaje Hack
Facebook es también la empresa detrás del lenguaje Hack, muy parecido a PHP en su sintaxis. De hecho, a simple vista podría pasar por PHP, con algunas pequeñas diferencias, lo que permite que los desarrolladores de PHP lenguaje puedan comenzar rápidamente con Hack solo aprendiendo unas pocas cosas.
Las novedades que incorpora Hack van siempre encaminadas a la creación de aplicaciones más robustas y de mayor facilidad de mantenimiento. Entre las características de Hack, encontramos un lenguaje fuertemente tipado (tipado estático), con diversas mejoras adicionales, presentes en lenguajes maduros como generics, colecciones o lambdas.
Para facilitar la adopción de HHVM como entorno de ejecución, el entorno es capaz de ejecutar aplicaciones escritas en Hack y en PHP nativo, versiones 5 y 7. Aunque hoy todavía no se cuenta con un soporte total para la versión 7 de PHP, la actividad de los desarrolladores de HHVM indica que en poco tiempo serán capaces de correr todo tipo de aplicaciones con su mejora de rendimiento.
Compilador JIT
El compilador JIT no es algo específico de HHVM, sino que es un enfoque presente en muchos lenguajes de la web, y de la informática en general, que necesitan ejecutarse en múltiples plataformas. Básicamente, el compilador JIT de HHVM compila código en Hack y PHP en lo que se conoce como bytecode.
Posteriormente, el bytecode se traduce a código máquina de para procesadores x64 gracias al compilador JIT. Esta serie de pasos de compilación obtenemos distintos niveles de mejora del software y la correspondiente mejora de rendimiento.
Ejecutar código PHP en Servidores Cloud con el stack HHVM
Gracias al Catálogo de Aplicaciones, la instalación de HHVM en los Servidores Cloud de Arsys se realiza en sólo unos clics y , también podremos hacerlo directamente desde el Panel de Control de Cloudbuilder Next, seleccionando la aplicación. Se despliega sobre CentOS 7 y acompañada por Apache, MySQL y phpMyAdmin, por lo que está especialmente concebida para ejecutar código PHP.
Una vez instalada nuestra máquina virtual HHVM podemos ejecutar código colocando los archivos de nuestra aplicación en la carpeta htdocs. Esta carpeta la encontramos en /opt/bitnami/apache2/htdocs, aunque desde la carpeta de inicio de nuestro usuario root tenemos un enlace con tal carpeta en htdocs. Para entrar en este directorio, una vez hecho el SSH con nuestro usuario root, tenemos que escribir:
cd htdocs
Una vez en esta carpeta podemos crear un archivo con cualquier código PHP y lo podremos ejecutar a través de la IP del servidor, seguida de una barra y el nombre del archivo. Por ejemplo, creemos el archivotest.php en la carpeta htdocs con este código.
$cadenas = ['Bienvenidos', 'a', 'HHVM', 'en', 'Arsys']; foreach ($cadenas as $item) { echo $item . ' '; }
Por último, accedemos a la siguiente URL http://0.0.0.0/test.php (sustituyendo 0.0.0.0 por la IP de nuestro servidor) y veremos que el código PHP ejecuta perfectamente con un mensaje de bienvenida en la página.
Te esperamos en los siguientes artículos en donde hablaremos mas acerca de estos temas, los cuales hoy en día son de vital importancia en el mundo de la tecnología.