Creacion de un cartridge para Openshift

Post on 20-Jan-2017

470 views 0 download

Transcript of Creacion de un cartridge para Openshift

Creación de un Cartridge para Openshift

Construyendo un cartridge para GRAILS

Alex Irmel Oviedo SolisPRESENTADO POR:

Embajador y empaquetador de Fedora por Perú

Acerca de mí ...

Alex Irmel Oviedo Solis

Fedora Ambassador for Peru

Ingeniero Informático y de Sistemas - UNSAAC

Openshift Acelerator - LATAM

SysAdmin - Gobierno Regional del Cusco

Agenda

· Nociones básicas del Cloud Computing.

· ¿Qué es OpenShift?

· Términos referidos a Openshift.

· Workflow de un cartridge.

· Estructura de un cartridge.

· Proceso de creación del cartridge.

· Proceso de prueba del cartridge.

· Documentación complementaria.

Términos básicos delCloud Computing

Términos básicos

· Cloud Computing

· Es un paradigma que permite ofrecer SERVICIOS de computación a través de Internet.

· Posibilita el acceso a los servicios sin ser expertos en estos, al menos en los servicios diseñados para los usuarios.

Términos básicos

¿Qué es OpenShift?

¿Qué es OpenShift?

· OpenShift es un producto de computación en la nube de plataforma como servicio de Red Hat.

· Este software funciona como un servicio que es de código abierto bajo el nombre de "OpenShift Origin", y está disponible en GitHub.

· Los desarrolladores pueden usar Git para desplegar sus aplicaciones Web en los diferentes lenguajes de la plataforma.

¿Qué es OpenShift?

origin

Public Cloud

Service

On-premise

or Private Cloud

Software

Open Source Project

¿Qué es OpenShift?

· OpenShift también soporta programas binarios que sean aplicaciones Web, con tal de que se puedan ejecutar en RHEL Linux. Esto permite el uso de lenguajes arbitrarios y frameworks.

· OpenShift se encarga de mantener los servicios subyacentes a la aplicación y la escalabilidad de la aplicación como se necesite.

¿Qué es OpenShift?

Términos referidos aOpenshift

Términos referidos a Openshift

● Gears o Engranajes ● Un engranaje representa una porción de CPU,

memoria RAM y la base de almacenamiento del nodo que se pondrá a disposición de cada aplicación. Una aplicación no puede utilizar más recursos de los que le ha sido asignados, con la excepción de almacenamiento.

● Cartridge o Cartuchos● Cartuchos representan componentes enchufables

que se pueden combinar en una sola aplicación. ● Estos incluyen los lenguajes de programación,

motores de bases de datos, y varias herramientas de gestión.

Workflow de uncartridge

Workflow de un cartridge

1.- Creación del Gear

2.- Copia del cartridge dentro del gear.

3.- Ejecución del script “setup”

4.- Ejecución de “hooks”

5.- Inicio del cartridge vía “control start”

Estructura de uncartridge

Estructura de un cartridge

Estructura de un cartridge

Proceso de creacióndel cartridge

Proceso de creación del cartridge

● Crear y editar “bin”:● “bin/build” -> Construccion de la App● “bin/control” -> Inicio, Parada, Reinicio● “bin/deploy” -> Despliegue de la aplicación● “bin/install” -> Instalar template en workspace● “bin/setup” -> Instalar cartridge en Openshift● “bin/upgrade” -> Actualización del cartridge

Proceso de creación del cartridge

● Crear y editar “env”:● Archivos con variables de entorno principal.

● Crear y editar “metadata”:● manifest-yml -> Archivo de manifiesto principal● managed_files.yml -> Archivos para archivos protegidos

● Crear y editar “template”:● Organización inicial del proyecto.

Proceso de pruebaDel cartridge

Proceso de prueba del cartridge

● Subir archivos a un lugar de internet como github.● Utilizando la interface web, debería ser más o

menos asi:

Proceso de prueba del cartridge

Proceso de prueba del cartridge

● Usando la linea de comandos:

Manifest URLRHC command

Proceso de prueba del cartridge

El futuro...

El futuro...

DocumentaciónComplementaria

Documentación complementaria

● https://www.openshift.com/blogs/new-openshift-cartridge-format-part-1

● https://www.openshift.com/blogs/new-openshift-cartridge-format-part-2

● https://www.openshift.com/blogs/new-openshift-cartridge-format-part-3

● http://openshift.github.io/documentation/oo_cartridge_developers_guide.html

● https://github.com/mmcgrath-openshift/openshift-httpd-cartridge-broken

¿Preguntas?

Ing Alex Irmel Oviedo Solisalexove@fedoraproject.orghttp://fb.com/alex.oviedosolis@alexove_pehttp://alexove.me

Descarga el codigo fuente en:https://github.com/alexove/openshift-grails-cartridge