Consumiendo servicios del API Red Hat Cloudforms con PHP - $> SoloCodigoWeb Saltar al contenido

Consumiendo servicios del API Red Hat Cloudforms con PHP

Para ser sincero no he visto hasta la fecha ejemplos de como podemos consumir con PHP los servicios que ofrece la API de Red Hat Cloudforms en Internet (ni en inglés), por lo que me anime a postear esta entrada detallando mi reciente experiencia con el servicio de Cloudforms de Red Hat.

La versión que estoy trabajando será la de la API de Red Hat Cloudforms 3.0, sobre una plataforma de Red Hat Enterprise Virtualization 3.2. Lo primero por donde empezaré será por comentarles algunos conceptos iniciales y el objetivo de esta entrada.

¿Qué es Red Hat Enterprise Virtualization?

La empresa Red Hat, tiene como parte de su portafolio de productos a Red Hat Enterprise Virtualization (RHEV), software que se ha convertido líder en el rubro de la virtualización segura de servidores y escritorio empresarial. RHEV forma parte de una Suite Empresarial llamada Red Hat Cloud Infrastructure (RHCI), un servicio que le permite crear clouds IaaS privadas a su medida. La Suite Empresarial de productos de Red Hat están orientados a poder ofrecer servicios de Cloud Computing convirtiendonos como Proveedores de Infraestructura como Servicio (IaaS).

RHCI2

 

¿Qué es Red Hat Cloudforms?

Red Hat Cloudforms (RHC) es el software en plataforma web que proporciona una interface de administración, donde los usuarios finales se provisionan sus propios recursos de cómputo (Procesador, Memoria RAM, Almacenamiento, Máquinas Virtuales) mediante este «portal de autoservicio», ya sea dentro del Centro de Datos con RHEV,  o desde un servicio de Nube Pública como Amazon (Amazon Web Services AWS) y aquellos basado en VMWare vSphere. También proporciona herramientas para configurar  las instancias de OpenStack.

Este software de autoservicio de recursos de cómputo en la Nube, tiene una API de la cual podemos hacer uso para conectarnos a la plataforma de Virtualización y ejecutar múltiples operaciones, como por ejemplo: listar todas las máquinas virtuales, hosts, datastores, encender, apagar, suspender, crear y eliminar máquinas virtuales.

CloudForms-2.0

Creando nuestro Cliente PHP.

Primero, vamos a crear un script llamado ClientAPICloudforms.php, el cual se encargará de realizar la conexión con el API de Cloudforms, con los parámetros de conexión que le enviemos al instanciarlo.

La API de Cloudforms trabaja con SOAP, por lo que utilizaré la librería NuSOAP PHP para consumir los servicios mediante SOAP. La librería la puedes bajar aquí.

También se crearán los métodos de conexión y algunos para la validación del protocolo y WSDL. A continuación, se mostrará los métodos para poder suspender, apagar e iniciar maquinas virtuales.

Luego ahora creamos algunos métodos para obtener el listado e información de detalle de las máquinas virtuales, hosts, clusters y datastores que pueda tener nuestra plataforma de virtualización.

Estos métodos deben ir dentro de la clase.

A continuación, se mostrará los métodos para poder suspender, apagar e iniciar maquinas virtuales.

Creando nuestro consumidor.

El siguiente script, es para crear el archivo consumidor (demo) que llamará a la clase ClientAPICloudforms para conectarse al API de Cloudforms e invocar los métodos que hemos creado.

Para el consumidor, se uso del microframework Silex como ruteador.

Publicado enArquitecturaProgramación
Secured By miniOrange