5. Introducción a Cloud Computing y a OpenShift

5.1. ¿Qué es Cloud Computing?

Cloud Computing es una denominación comercial a un modelo de computación que permite utilizar recursos tecnológicos bajo demanda, ofrecidos por un proveedor. Este modelo se enfrenta al modelo tradicional de adquisición y administración de los recursos necesarios para proporcionar una cierta funcionalidad o servicio.

El uso de estas tecnologías no es algo nuevo, puesto que desde hace años estamos hablando de servicios de hosting o aplicaciones web. Incluso desde los años 70 existían las sesiones de Time Sharing en los grandes mainframes que nos permite acceder a los recursos de un gran ordenador desde un sencillo terminal.

Lo novedoso es que basándose en estas tecnologías se ha conseguido desarrollar un modelo de negocio que permite ofrecer recursos ajustados a las necesidades de los clientes.

5.1.1. Computación Pre-Cloud

Antes de las tecnologías Cloud, cualquier proyecto informático requería de una fuerte inversión previa tanto en hardware como en software.

En la parte hardware normalmente incluiremos ordenadores, infraestructura de red, almacenamiento de datos, etc. En la parte software normalmente tendremos el coste de las licencias de los sistemas operativos y de las aplicaciones que se vayan a utilizar. A este coste hay que sumarle los desarrollos a medida que se pudieran necesitar.

Ampliar hardware no es barato y el que adquiere se debe sobredimensionar por dos motivos:

  • Amortización de la inversión: Debe utilizarse durante un mínimo de tiempo y permitir escalabilidad vertical u horizontal.

  • Picos de carga de trabajo: El sistema debe poder hacer frente a la carga de trabajo que se pueda generar en los momentos de mayor actividad, así como ser lo suficientemente potente para que en caso de contingencia en un nodo, poder continuar dando servicio.

En resumen, para poder implantar un proyecto informático es necesaria una inversión económica considerable, tanto en software como en hardware, y éste último tiende a estar infrautilizado la mayor parte de su tiempo y su ampliación presenta limitaciones.

5.2. ¿Qué nos aporta Cloud Computing?

En contraposición, las principales ventajas que obtendremos al aplicar Cloud Computing son las siguientes:

Flexibilidad

La ventaja más importante de Cloud Computing tener a nuestra disposición los recursos que necesitamos, cuando los necesitamos y con una capacidad de adaptación muy rápida a cambios en los requerimientos.

Estandarización y reusabilidad

Los nuevos modelos de computación se basan en tecnologías estandarizadas, probadas por miles de clientes. El objetivo último es liberar al cliente de otras preocupaciones que no sean su proyecto

Eficiencia

En la práctica se consigue un aprovechamiento mucho mayor de los recursos contratados que mediante la adquisición tradicional. Los sistemas de Cloud Computing aportan métricas de calidad de servicio.

Acceso ubicuo

Mediante Cloud podemos acceder a los servicios contratados desde cualquier lugar, a cualquier hora y desde cualquier dispositivo que tenga acceso a Internet.

Otras ventajas propias de Cloud, con ciertos matices son las siguientes:

Seguridad

Aunque se suele ver más como un riesgo, realmente es una de las características más importantes sobre todo para pymes, pues los centros de datos de los proveedores de cloud deben implementar medidas de seguridad muy superiores a las habituales en la mayoría de las empresas. Hablaremos más adelante de Seguridad.

Ahorro de costes

Los proyectos implantados mediante tecnologías Cloud permiten un ahorro importante de dinero al comienzo de su utilización, y dado de que se paga por uso, a largo plazo también debería haber un ahorro importante frente a un enfoque tradicional.

La realidad es que hacer una previsión de costes a medio o largo plazo no resulta sencillo y a largo plazo puede no ser tan ventajoso. No obstante no hay que perder de vista el resto de ventajas que aporta, sobre todo en flexibilidad.

5.3. Nuevos conceptos de Cloud Computing

Cloud computing aporta nueva terminología, a caballo entre lo técnico y el marketing.

Multitenancy o tenencia múltiple

se refiere al uso compartido de un mismo recurso por parte de muchos usuarios, en contraposición al modelo de uso individual.

Resiliency o resiliencia

En el contexto de cloud computing, se refiere a la capacidad de un proveedor para mantener una calidad de servicio fijada, a pesar de los posibles fallos o ataques que puediera sufrir.

5.4. Riesgos de Cloud

Por supuesto no todo es más fácil y bonito desde la llegada de Cloud, hay nuevas dificultades en el camino:

¿Cómo aplicar Cloud Computing?

Hay múltiples formas de entender la computación en la nube. Más adelante hablaremos de Tipos de Cloud.

Dependencias de terceros

Aparece un nuevo jugador que es el proveedor de servicios. No todos los proveedores ofrecen los mismos servicios ni con las mismas garantías.

Datos de carácter personal

Al hilo del punto anterior, al trabajar en Cloud podemos necesitar transferir datos de caracter personal a un centro de datos externo a nuestra empresa e incluso en un país extranjero. La Agencia Española de Protección de Datos dicta una serie de normas acerca de cómo se deben manejar este tipo de datos y puede condicionar la elección del proveedor.

5.4.1. Qué opinan las empresas acerca de Cloud

Según un informe del Observatorio Nacional de las Telecomunicaciones de Mayo de 2014, el grado de implantación de las tecnologías Cloud en la empresa española es el siguiente:

En dicho informe se puede obtener una visión más detallada por sectores. Concretamente en el sector comercial minorista se recogen los motivos que las empresas tienen para no usar tecnlologías cloud:

CloudEnLaEmpresa

Según este informe, 9 de cada 10 de las empresas que aplican tecnologías CC , utilizan soluciones de almacenamiento y 6 de cada 10, soluciones de backup.

MotivosParaNoUSarCloud

5.5. Tipos de Cloud en función del servicio

Atendiendo a los servicios que proporcionan, y ordenados de mayor a menor abstracción, tenemos tres grandes tipos de Cloud:

TiposCloud
SaaS (Software as a Service)

Dirigido fundamentalmente a usuarios finales. El proveedor ofrece el uso de aplicaciones completas que se ejecutan sobre la infraestructura del proveedor.

  • El usuario no tiene que instalar ningún producto, únicamente necesita tener conectividad.

  • El usuario no tiene ningún control sobre los aspectos técnicos de las aplicaciones a las que tiene acceso.

SaaS
PaaS (Platform as a Service)

El proveedor proporciona a su cliente un conjunto de módulos estándar (como bases de datos, servidor de aplicaciones) sobre los que poder desplegar sus propias aplicaciones. El usuario habitual de estos servicios suele ser el de perfil desarrollador.

  • El usuario tiene acceso a la configuración de los distintos módulos que contrata, así como a diversos parámetros que determinan la escalabilidad, seguridad, o auditoría del servicio PaaS

  • Sin embargo el usuario se abstrae de las tareas de la configuración de las máquinas, mantenimiento de Sistemas operativos, o aspectos de comunicaciones.

PaaS
IaaS (Infrastructure as a Service)

Se considera la capa inferior de los servicios Cloud, en la que el proveedor ofrece a sus clientes recursos hardware virtualizados, tales como servidores, sistemas de almacenamiento, enrutadores sobre los que el usuario tiene libertad para configurar como desee. El perfil de usuario habitual de esta tecnología es el de desarrollador junto con el administrador de sistemas.

IaaS es el nivel más complejo de gestionar pero es el que otorga una libertad cercana al hardware propietario. Esto no quiere decir que tengamos que configurar todo a mano: en IaaS el proveedor proporciona seguridad, herramientas de clonado, paneles de control, monitorización etc.

Por debajo de estas capas estaría la capa de virtualización del proveedor y finalmente las máquinas físicas que dan el servicio real.

IaaS

De la división tradicional de Cloud surgen numerosas variantes:

  • Iaas+: Proporciona simultáneamente los recursos de PaaS (modulos software) y IaaS (recursos hardware virtualizados). En esta categoría podríamos situar a AWS Azure

IaasPlus
  • dSaaS: Data Storage as a Service Tipo de servicio que proporciona almacenamiento remoto y sistema de backup. Se situa al nivel de máquinas físicas

  • DCaaS: Data Center as a Service Modelo de venta de servicios que pone a disposición de los clientes recursos de procesamiento de datos e infraestructura físicos. Orientado a grandes empresas que por motivos concretos no puedan expandir sus actuales CPD’s

  • ItaaS: IT as a Service. Modelo que disasocia los departamentos de TI de las pequeñas y medianas empresas. Las empresas se podrán dirigira mercados donde podrán comparar y adquirir la solución que mejor soporte dé a su negocio.

5.6. Tipos de Cloud en función del tipo de acceso

Cloud pública

Donde los datos de distintos clientes se tratan conjuntamente en los sistemas del proveedor. Los costes son más económicos ya que se hace un uso muy eficiente de los recursos, pero el uso compartido puede mermar la confidencialidad de la información.

Cloud privada

Cuando por la naturaleza de los datos se requiere una seguridad adicional, el proveedor proporciona al cliente una infraestructura aislada del resto donde almacenar su información, y permite al cliente decidir quien puede tener acceso a la información. También se denomina cloud privada al modelo en el que el cliente utiliza su propia infraestructura y utiliza software de un proveedor para ejecutar una plataforma cloud dentro de sus instalaciones.

Cloud híbrida

Básicamente es una combinación de los dos modelos anteriores, estableciendo una comunicación VPN entre los mismos. Por ejemplo, una aplicación puede trabajar con datos de clientes que no sean de carácter personal, pero almacenar información de este tipo en la parte privada de modo que su confidencialidad sea máxima.

Cloud comunitaria

Infraestructuras compartidas entre varias organizaciones con principios similares.

5.7. Seguridad

Dato personal

Un dato personal es cualquier información concerniente a personas físicas identificadas o identificables.

La Ley Orgánica 15/1999 de 13 de diciembre de Protección de Datos de Carácter Personal (LOPD) regula los aspectos relativos al tratamiento de los datos personales y la libre circulación de los datos. La Agencia Española de Protección de Datos (AEPD) es el órgano de control que se encarga de garantizar el cumplimiento de esta normativa dentro del territorio español.

Si los datos con los que se va a trabajar en la nube pertenecen a esta categoría, la empresa que los trate debe cumplir con carácter previo con el conjunto de obligaciones previstas en la LOPD: la inscripción de ficheros, deberes relacionados con la información en la recogida, el consentimiento y la calidad de los datos, garantía de los llamados derechos ARCO (Acceso, Rectificación, Cancelación y Oposición) o la adopción de medidas de seguridad. Si los datos con los que se va a trabajar en la nube no son datos personales, se puede proceder sin que la LOPD señale impedimento alguno.

Transferencia internacional de datos personales

Es un tratamiento de datos que supone una transmisión de los mismos fuera del territorio del Espacio Económico Europeo (EEE), bien constituya una cesión o comunicación de datos, bien tenga por objeto la realización de un tratamiento de datos por cuenta del responsable del fichero establecido en territorio español.

Trabajar en la nube con datos de carácter personal, fuera del EEE tiene unos requisitos especiales:

  • Notificación a la AEPD vía formulario online, si se trata de un país con un nivel de protección adecuado: Suiza, Argentina, Guernsey, Isla de Man, Jersey, Canadá (sólo empresas sujetas a la ley canadiense de protección de datos) y EE.UU. (sólo empresas adheridas a los principios de Safe harbour).

  • Se deberá contar con la autorización del Director de la Agencia de Protección de Datos para el resto de destinos.

En Junio de 2014 Microsoft fue la primera empresa en conseguir una certificación por parte de la AEPD y la UE, que asegura que sus servicios en la nube ofrecen una buena protección (Office 365, Azure) y por tanto cuentan de antemano con la autorización para poder exportar datos a sus centros de datos.

En Octubre de 2015 el Tribunal de Justicia Europeo invalida los acuerdos de Safe Harbour a raíz del escándalo de Facebook y la vigilancia masiva por parte de la agencia norteamericana NSA. En primera instancia los acuerdos de Safe Harbour impedían la investigación de estos sucesos pero la nueva sentencia judicial permite que los paises exijan las mismas garantías de seguridad que dicta las leyes europeas y pueden pronunciarse a favor o en contra de esta cesión de datos con total independencia.

5.8. Cómo elegir un proveedor de Cloud

Lo primero de todo es determinar qué modalidad de cloud se adapta mejor a nuestro proyecto informático (si aplica). Es posible que con pago por uso de una aplicación SaaS podamos cubrir nuestras necesidades, por lo que lo primero es explorar este tipo de posibilidades y evaluar coste/beneficio.

Una vez tenemos claro que necesitamos una solución a medida, debemos distinguir entre una solución más estandarizada, basada en PaaS, o una solución más flexible pero más compleja de administrar, basada en IaaS.

La decisión técnica entre PaaS puede no ser definitiva, pues también influirán los requerimientos del proyecto y por su puesto las tarifas de cada proveedor.

Factores que influyen en la elección de un proveedor de Cloud:

  • Servicios ofertados: Es interesante que el proveedor escogido pueda ofrecer servicios que aunque en un primer momento no vamos a necesitar, podamos preveer que en un futuro sean de interés.

  • Ubicación del Centro de datos donde se alojará la información: Tanto en términos de protección de datos como en rendimiento.

  • Tipo de Centro de datos donde se alojará la información:

    • De operador (propietarios) Son privados. Los operadores bonifican los costes pero dificultan los cambios.

    • Neutrales (independientes) Accederemos a un pool de servicios. Mayor oferta de servicios y mayor facilidad para cambiar de proveedores.

  • Calidad de las instalaciones:

    • Tier 1 (sala refrigerada con recursos de extinción)

    • Hasta tier 4 (Disponibilidad de al menos 99.995% del tiempo, personal 24x7, redundancia en almacenamiento, comunicaciones, refrigeración…​)

  • Medidas de seguridad: iguales o superiores a las necesarias para el proyecto.

  • Políticas de importación/exportación de datos: que faciliten tanto la carga de información, como la extracción en el caso de que decidamos cambiar de proveedor.

  • Calidad del servicio:

    • SLA: acuerdos de nivel de servicio, con obligaciones y penalizaciones.

    • SLO: objetivos de nivel de servicio, medida orientativa de la calidad de servicio que se va a obtener.

  • Costes: siempre evaluados de forma conjunta con el resto de factores. Se deberá crear un escenario de uso, lo más completo posible para poder preveer mejor los costes.

Por último, destacar que la mayoría de los proveedores con centro de datos ubicados en España, ofrecen servicios de SaaS o IaaS.

5.9. Introducción a OpenShift

A lo largo de estas sesiones vamos a utilizar PaaS como plataforma de trabajo por estar más enfocada a las necesidades del desarrollador, concretamente la solución PaaS de RedHat. Los motivos para elegir este producto para el curso son varios:

  • Permite desplegar aplicaciones basadas en muy diversas tecnologías.

  • Si no implementa algún servicio permite integrarse con terceros o construir componentes a medida.

  • Tiene una modalidad de trabajo gratuita (y que no requiere de tarjeta de crédito) lo suficientemente abierta para familiarizarse con la plataforma y desplegar aplicaciones de casi cualquier tipo.

  • permite conocer la plataforma tanto desde el punto de vista del desarrollador como del administrador de sistemas. Podemos ejecutar nuestra propia nube de OpenShift localmente gracias a una máquina virtual o instalarla en nuestra infraestructura.

  • Dentro de la plataforma PaaS, el software utilizado para ejecutar las aplicaciones es el mismo que se utiliza en las aplicaciones de escritorio (presenta características propias de IaaS).

5.9.1. Lenguajes y runtimes soportados

openshift2

5.9.2. Versiones de OpenShift

A partir de la idea de ofrecer un servicio PaaS OpenShift se desarrola en tres modalidades distintas:

openshift
OpenShift Origin

Es una solución PaaS gratuita, e código abierto y sujeta a licencia Apache2. Este proyecto es sobre el que se inician los nuevos desarrollos de la plataforma y por tanto es el que tiene las funcionalidades más novedosas, pero también es la plataforma menos rodada. Si queremos trabajar con esta versión de OpenShift, debemos descargar el software y configurar nuestra propia infraestructura para ejecutarla. Si sólo queremos echar un vistazo, podemos descargar una imagen de una máquina ya configurada y ejecutarla con VMWare o VirtualBox.

OpenShift Online

Aproximadamente cada tres semanas se genera una nueva release de OpenShift, que Red Hat se encarga de configurar y desplegar sobre AWS (Amazon) y la oferta como nube pública tanto en modalidad gratuita como en modalidad de pago

OpenShift Enterprise

De forma trimestral se genera una versión en la que sólo se introducen las funcionalidades más maduras de OpenShift, y se ofrece como producto comercial con soporte completo por parte de Red Hat. En este caso, OpenShift Enterprise puede ejecutarse tanto sobre infraestructura de nuestra propia empresa como en modalidad de nube privada en Amazon o Rackspace.

Con estas opciones, es fácil que encontremos una configuración de cloud que se adapte a nuestras necesidades, contando con una ventaja adicional y es que una aplicación es portable entre estas tres versiones siempre y cuando estén disponible los mismos componentes en la plataforma destino.

En estas sesiones trabajaremos con OpenShift Online, dado que nos va a permitir centrarnos en la configuración y codificación de las aplicaciones, dejando las tareas de infraestructura al proveedor.

Nomenclatura versiones OpenShift
Las releases de OpenShift Origin se denominan Milestones, ya que son como puntos de control en un desarrollo que no acaba. Por su parte las versiones de OpenShift enterprise se rigen por el estándar Major version, Minor version, donde el número más significativo se incrementa cuando hay un cambio notable en la arquitectura de OpenShift. Hasta mediados de 2015 las versiones disponibles eran la M4 para Origin y la 2.2 para Enterprise, sin embargo a partir de ese momento se publica una nueva versión del software sustentada en los proyectos de Docker, Kubernetes y Atomic y se unifica la nomenclatura para las versiones Origin y Enterprise: OpenShift 3.

5.9.3. Modalidades de pago de OpenShift Online

OpenShift Online, nos ofrece tres modalidades distintas de pago

planes
Gratuito

Nos permite trabajar con hasta tres servidores virtuales de tamaño pequeño y 1Gb de espacio en disco.

Bronze

Podemos trabajar con hasta 16 servidores, tres gratuitos de tamaño pequeño y los siguientes de cualquier tamaño. A partir del cuarto se generan costes según el uso.

Silver

Ofrece las mismas características que la modalidad bronze, pero además pagamos el soporte técnico por parte de Red Hat.

Como ya hemos dicho, para proyectos pequeños podemos trabajar con la modalidad gratuita pero con las siguientes limitaciones:

  • Número reducido de servidores, y siempre de tamaño pequeño, lo que limita el software y la carga de trabajo que pueden gestionar.

  • Sólo se puede crear un único dominio en el que desplegar las aplicaciones..

  • Transcurridas 24h sin actividad, las aplicaciones se "serializan" a disco para liberar recursos, con lo que el siguiente acceso puede ralentizarse notablemente.

  • No es posible trabajar con certificados digitales propios (como ocurre si queremos utilizar nuestro propio dominio), tan sólo se puede utilizar uno genérico de OpenShift.

  • Espacio en disco limitado a 1 Gb.

5.9.4. Alternativas a OpenShift

Si estamos decididos a utilizar PaaS para un proyecto comercial deberíamos conocer qué otras opciones de PaaS tenemos y si alguna de ellas se ajusta mejor a nuestras necesidades. Las principales soluciones PaaS actuales son:

5.11. Ejercicios de Introducción a Cloud Computing

En esta sesión vamos a comenzar a trabajar con OpenShift Online, un producto de tipo nube pública de Red Hat. En las sesiones posteriores entraremos más en profundidad en sus características, pero ahora nos dedicaremos a configurar nuestra máquina virtual para trabajar con OpenShift y a realizar nuestros primeros despliegues en cloud.

Para trabajar con OpenShift hay que registrarse previamente accediendo a su página principal: https://www.openshift.com/

ejer1

Haremos click en la versión ONLINE y rellenaremos el formulario de inscripción. Todos los accesos a OpenShift que hagamos desde la universidad se verán desde fuera como provenientes de una misma dirección IP. Para evitar problemas de uso indebido de la plataforma Cloud, nos recomiendan que utilicemos la cuenta de correo del campus virtual en el formulario de registro:

ejer2
A diferencia de otros proveedores, OpenShift no obliga a introducir los datos de una tarjeta de crédito para comenzar a trabajar, y la modalidad gratuita es suficiente para familiarizarse con el producto.

Una vez registrados se nos ofrece la posibilidad de crear nuestra primera aplicación en cloud, desde la consola web, o desde la línea de comandos, mediante una herramienta llamada rhc.

Por lo pronto instalaremos la herramienta en nuestra máquina virtual, con el siguiente comando:

$sudo apt-get update
$sudo apt-get install ruby
$sudo gem install rhc
Nota para Ubuntu 14.04
La versión integrada de OpenSSL es relativamente antigua con lo que cada vez que ejecutemos el comando rhc nos mostrará un aviso indicando que no se está utilizando los certificados de seguridad más potentes: RSA 1024 bit CA certificates are loaded due to old openssl compatibility

A continuación configuraremos la herramienta rhc para trabajar contra OpenShift Online:

rhc setup [--clean]
ejer0

Mediante esta herramienta podremos realizar casi cualquier tarea contra OpenShift, pero en esta sesión trabajaremos desde la consola web:

ejer3

5.11.1. Despliegue en Cloud de una aplicación web (1 punto)

Vamos a comenzar por crear una aplicación web, que desplegaremos sobre un servidor Tomcat. Este sería uno de los despliegues más sencillos que podemos hacer en OpenShift. Lo haremos desde la consola web, haciendo click en la pestaña applications donde seleccionaremos la opción de Tomcat 7:

ejer5

En la siguiente pantalla, se nos pide información adicional. Nos interesa en este caso asignar un nombre a nuestra aplicación, a la que llamaremos hellocloud y un namespace, que agrupará a todas las aplicaciones que vayamos a desplegar en OpenShift. Para esta aplicación, y a partir de ahora utilizaremos nuestro login del curso.

ejer6

Sin más, pulsaremos en el botón de crear aplicación, y tras unos segundos de espera, habremos creado y desplegado nuestra aplicación web en la nube de RedHat. Lo primero que se nos muestra es información de cómo podemos acceder al código fuente de la aplicación para comenzar a trabajar:

ejer65

Para acceder a ella, basta con abrir en un navegador la url: http://<aplicacion>-<namespace>.rhcloud.com/

5.11.2. Importar el proyecto desde IntelliJ y modificar la aplicación (0.4 puntos)

Si ejecutamos la aplicación web, veremos que se abre una aplicación plantilla que nos vuelve a dar información sobre cómo podemos modificar el código de la aplicación. Para cada aplicación en OpenShift, se crea un repositorio Git con las fuentes y lo que tenemos que hacer es clonar dicho repositorio:

git clone <git_url> <directory_to_create>

# Within your project directory
# Commit your changes and push to OpenShift

$ git commit -a -m 'Some commit message'
$ git push

Para saber la URL del repositorio podemos volver a la consola web, y dentro de Applications hacer click sobre la nueva aplicación:

ejer7

A continuación ya podremos abrir el proyecto desde nuestro IDE y comenzar a trabajar. Alternativamente podemos utilizar la función de IntelliJ de abrir un proyecto desde un repositorio de fuentes, mediante el comando Checkout from Version Control.

ejer8

Ahora, una vez tenemos ya el código fuente en el IDE, debéis crear un sencillo formulario en la página inicial que nos pida un nombre de usuario y llame a un servlet, denominado HelloServlet. Este servlet atenderá a las peticiones que lleguen al contexto /hello y simplemente nos mostrará un mensaje de bienvenida incluyendo el usuario que nos ha enviado el formulario. Lo crearemos en el paquete org.expertojava.paas.servlets.

Para crear el servlet lo más sencillo es crearlo directamente desde el menú de IntelliJ y anotarlo con @WebServlet("[contexto del servlet]")

Una vez tengamos el código modificado, debéis hacer un commit de los cambios y posteriormente un Push al repositorio de OpenShift. Si observáis en la ventana Version Control de IntelliJ podréis ver como el comando Push de Git ya encapsula todos los comandos necesarios para subir el código al servidor, compilar y redesplegar la aplicación:

ejer9

5.11.3. Despliegue de un servicio de almacenamiento en Cloud (0.4 puntos)

Openshift aporta plantillas (Quickstarts) para proyectos muy diversos. Para empezar vamos a utilizar la plantilla de OwnCloud para crear una aplicación OpenShift con el mismo nombre. OwnCloud es un software de almacenamiento en la nube en la línea de los servicios de DropBox o Google Drive aunque más rudimentario. Dispone además de herramientas cliente de sincronización para cualquier sistema operativo, y también permite montar directamente una unidad con su contenido mediante el protocolo WebDav.

5.11.4. Creación de un blog basado en WordPress (0.4 puntos)

Por último, vamos a utilizar OpenShift para crear un blog sobre Cloud Computing utilizando WordPress. Aunque WordPress ya ofrece la creación de blogs dentro de su dominio, estos se pueden gestionar de una forma muy limitada. La ventaja de utilizar Openshift es que nos va a facilitar toda la puesta en marcha del blog en cuanto a cuestiones técnicas, pero mantendremos las mismas posibilidades de personalización que una instalación en un servidor propio.

WordPress es una de las herramientas más utilizadas para la creación de blogs y cuenta con un amplio catálogo de plugins.

En este ejercicio hay que crear un blog sobre tecnologías Cloud (aunque si tenéis especial interés en otro tema, adelante), personalizar la apariencia del blog y añadir al menos un Post. Para ello debéis crear en OpenShift una nueva aplicación denominada blog mediante el Quickstart WordPress 4 e inicializarla.

Una vez hecho esto, debéis clonar el respositorio Git y crear un proyecto IntelliJ a partir de estos fuentes. Como veremos más adelante, la forma de aplicar cambios es siempre desde el repositorio Git al Gear y en este caso estamos cambiando la configuración directamente sobre el gear, con lo que nos encontraremos con que el repositorio no contendrá ninguna imagen o plugin que hayamos instalado. Queda fuera del alcance de esta sesión el conocer a fondo WordPress pero sí comentar que debéis utilizar la herramienta de export para extraer la información de los post y configuración básica del foro.

ejer10
En el apartado de bibliografía tenéis un enlace en el que se explica cómo desplegar WordPress en OpenShift. No es necesario seguir todos esos pasos para completar el ejercicio pero sí os puede servir para profundizar en el tema si os interesa.

Una vez creado el blog, escribid algún post a modo de inaguración.

Existe una aplicación de móvil para WordPress que podéis configurar para administrar y escribir en vuestro blog desde cualquier lugar
ejer11

5.11.5. Entrega

En esta sesión debeis entregar las copias de los tres repositorios, excluyendo la carpeta .git para no ocupar demasiado espacio, así como una exportación XML del contenido de vuestro blog.