db2university.com: Diseño, configuración y despliegue en la nube, Parte 1

Diseñando para resistencia, escalabilidad, y buen desempeño para soportar el software Moodle, un manejador de cursos de código abierto.

Este es el primero de una serie de artículos que muestran técnicas recomendadas para diseñar, configurar y desplegar una aplicación en la nube. El artículo proporciona una visión general de los pasos que fueron necesarios para completar un proyecto de 1 año que incluye la habilitación del software de código abierto Moodle para que use DB2®, su configuración, e implementación en la nube de Amazon, en colaboración con la plataforma RightScale para manejar instancias en la nube; y la configuración de HADR para recuperación en caso de desastres; todo esto teniendo en una encuesta de IBM realizada en el 2010 puso de manifiesto dos tendencias en cuanto a tecnología a realizarse para el año 2015.

Raul F Chong, Gerente del programa DB2 on Campus y evangelizador técnico, IBM

Photo of author Raul ChongRaul F. Chong es el gerente del programa DB2 on Campus y evangelizador de DB2 basado en el laboratorio de IBM en Toronto. Su principal responsabilidad es hacer crecer la comunidad de DB2 a nivel mundial. Raul es certificado en DB2 como experto en soluciones tanto como administrador de DB2 como desarrollador de aplicaciones. El ha trabajado en muchas posiciones dentro de IBM desde 1997 y es el autor principal del libro Understanding DB2 - Learning Visually with Examples 2da Edicion (ISBN-10: 0131580183).


Nivel de autor contribuyente en developerWorks

02-02-2011

Una encuesta de IBM realizada en el 2010 puso de manifiesto dos tendencias en cuanto a tecnología a realizarse para el año 2015.

  • La adquisición de recursos de TI utilizando la nube superará la adquisición de recursos de manera local.
  • El desarrollo de aplicaciones móviles para dispositivos como iPhone, Android, iPad y más, superará el desarrollo de aplicaciones en otras plataformas.

Otra tendencia, facilitada por la Internet es la educación en línea. La educación en línea permite aprender a su propio ritmo, en la comodidad de su propia casa o donde quiera que esté. Además, gracias a los dispositivos móviles uno puede participar también de manera móvil.

En este artículo presentamos db2university.com, un sitio Web educativo en línea que se ha implementado utilizando el software de código abierto Moodle con servidores en la nube de Amazon, y accesible desde los teléfonos Android.

Este artículo es el primero de una serie que muestra como se trabaja en la nube (Cloud computing) y el desarrollo de aplicaciones móviles. Usando estas tecnologías en conjunto con el servidor de base de datos DB2, ofrecemos las mejores prácticas seguidas para hacer db2university.com una realidad. Al mismo tiempo, queremos introducir db2university.com como el lugar para obtener una excelente educación acerca de las tecnologías de DB2 y otras.

La Figura 1 ilustra cómo db2university.com se ve al momento en que se escribió este artículo. ¡Te animamos a registrarte y probarlo por ti mismo (es gratis)!

Figura 1 – Página de inicio de db2university.com

Sistema de gestión de cursos Moodle de código abierto

Una amplia gama de materiales, desde videos a podcasts y libros electrónicos están disponibles ahora en la Internet para el autoestudio;sin embargo, éstas a menudo no están disponibles de una manera que sean fácilmente consumibles. Parte de esta información también puede ser obsoleta. Utilizando sistemas de gestión de cursos, instructores que pueden crear y organizar los materiales existentes de una manera que ayuda el consumo fácil del material. En db2university.com usamos el sistema de gestión de cursos (Course Management System o CMS) que se llama Moodle, de código abierto.

Moodle, escrito en PHP, es uno de los mejores, si no el mejor, CMS de código abierto en el mercado. Martin Dougiamas de la Curtin University of Technology en Perth, Australia desarrolló la primera versión en el 2001. Hoy en día, hay más de 52,000 sitios Moodle que han sido registrados y hay más de 950,000 usuarios registrados provenientes de más de 175 países de todo el mundo en moodle.org.

Nuestro viaje con Moodle comenzó a finales del 2009. Estudiantes de la Universidad Estatal de California, Long Beach (CSULB) fueron asignados, como parte de uno de sus cursos, a habilitar Moodle 1.9.6 para que trabajara con DB2 Express-C. Su contribución a la comunidad (en forma de parche) se puede encontrar en
http://moodle.org/mod/data/view.php?d=13&rid=3100&filter=1.

A principios del 2010 empezamos la habilitación de Moodle 2.0 para utilizar DB2 Express-C. Moodle 2.0 es una importante revisión del software de Moodle y tiene cambios fundamentales comparando con la versión anterior en la forma en que interactúa con bases de datos. En el momento en que se escribió este artículo, Moodle 2.0 Release Candidate 1 ha sido puesto a disposición del público. Ésta es la versión que se ha habilitado con DB2 Express-C y la que se está utilizando en db2university.com. Cuando la versión oficial de Moodle 2.0 esté disponible, estaremos actualizando db2university.com y comprometiendo nuestra contribución a la comunidad Moodle.

La figura 2 muestra los diferentes cursos disponibles en db2university.com. Puede acceder a esta página haciendo clic en la ficha Aprender (Learn) en la página de inicio. Esta ficha le llevará a nuestra implementación de Moodle. Hemos creado un tema de Moodle específico para db2university.

Figure 2 – La opción “Learn” le lleva a la implementación de Moodle en db2university

Los cursos en db2university.com no son sólo acerca de DB2, pueden ser de otros temas como PHP o Ruby on Rails, por ejemplo, pero cualquier lección en esos cursos que requiere la interacción con una base de datos va a utilizar DB2. Los instructores de los cursos son miembros de la comunidad DB2 incluyendo profesores universitarios, profesionales, empleados de IBM y estudiantes.

Hay dos categorías principales de los cursos en el sitio: Cursos gratuitos y cursos de pago. Para los cursos de pago se utiliza el Paypal plug-in incluido en Moodle. Figura 3 y 4 proporcionan más detalles sobre el curso "DB2 Essential Training I” (Curso esencial de DB2 – parte I). Escogimos este curso como ejemplo de lo que podría hacer con nuestra aplicación de Moodle. Note que el curso tiene muchos videos, transcripciones (archivos PDF) y enlaces a un libro electrónico para usar como referencia. No se muestra en la figura los enlaces para el foro del curso, páginas web, tareas y exámenes.

Figura 3 – Contenido del curso DB2 Essential Training I

Figura 4 – Contenido del curso DB2 Essential Training I (Continuación)

db2university.com tiene un curso que te enseña cómo crear cursos en Moodle y que se pueden alojar (host) en db2university.com. Si le interesara crear y alojar su curso en db2university.com, ya sea como un curso gratuito o pagado, ¡contáctese con nosotros!

El segundo artículo de esta serie examinará cómo Moodle 2.0 fue habilitado para trabajar con DB2, además de la configuración necesaria para que funcione en la Nube.


Ejecución en la nube de Amazon

db2university.com se encuentra alojado en la nube de Amazon. Esto nos permite aprovechar al máximo los beneficios de cloud computing, incluyendo el establecimiento de HADR de DB2 para recuperación de desastres en la Nube. Estos son los recursos de Amazon Web Services (AWS) que estamos utilizando:

  • Instancia EC2 estándar larga (64-bit, 4 ECUs, 7.5 GB de memoria, 850GB de almacenamiento de instancia)
  • Volúmenes EBS de 50 GB
  • Cubos S3 de 3 y 1 GB
  • CloudFront

Tres instancias EC2 en la región US-East han sido provisionadas. Una de ellas se utiliza para ejecutar la aplicación Moodle y el servidor Web, otra para ejecutar el servidor de base de datos DB2 (servidor DB2 HADR Primaria). El servidor DB2 HADR stand-by utiliza la tercera instancia de EC2 en una zona diferente en la región US-East como el sitio de recuperación ante desastres.

En términos de almacenamiento, usamos almacenamiento de instancia S3 y volúmenes EBS. La figura 5 ofrece los detalles.

Figura 5 – Almacenamiento para DB2 en la nube de Amazon

En la figura:

  • Volúmenes EBS se utilizan para almacenar los datos de una base de datos DB2 y los registros de la recuperación de DB2. Elegimos 50GB para satisfacer nuestras necesidades. Estamos considerando el uso de RAID en el futuro.
  • Un volumen EBS diferente y pequeño de 2GB se utiliza para almacenar el código de DB2 y los archivos de configuración de DB2.
  • El almacenamiento de instancia se utiliza para almacenar temporalmente las imágenes de backup de datos de DB2. Luego estos backups se mueven a S3 para tener un período de conservación más largo.
  • Almacenamiento en S3 se utiliza para almacenar imágenes de backup y archivos de registro para períodos de retención largo. Instantáneas (snapshots) de los volumenes EBS se toman a menudo, y se almacenan en S3.
  • AWS CloudFront se utiliza para permitir a los usuarios descargar videos y el material de un servidor "borde" de Amazon que está más cerca del lugar donde vive el usuario. Los archivos para descargar primero se copian en un cubo S3, y luego se replica en los servidores de borde.

En cuanto a software, estos son los que han sido utilizados:

  • Ubuntu Linux 10.04.1 LTS
  • DB2 Express 9.7.2 para Linux 64-bit
  • Moodle 2.0 Release Candidate 1
  • PHP 5.3.3

Se utiliza DB2 Express en vez de DB2 Express-C, porque estamos usando la característica de DB2 llamada HADR que sólo está disponible a partir del DB2 Express Edition.
RightScale es ideal para manejar los recursos AWS. RightScale es un socio de IBM, y su software ofrece la posibilidad de crear entornos rápidamente usando plantillas y scripts.

El segundo artículo de esta serie describirá esta configuración con más detalle.


Habilitación openID de inicio de sesión

Investigaciones realizadas con anterioridad han demostrado que gente que llega a una página Web con un complicado o largo proceso de registro tienden a salir del lugar rápidamente sin completar la información. Para asegurarse que aquellos que visiten db2university.com se registren, habilitamos sesiones de openID, además de permitir a los usuarios registrarse localmente en el sitio. Esto significa que las personas que ya tienen un ID de usuario en proveedores como ChannelDB2, Facebook, Google, o Yahoo, no necesitan registrarse. db2university pedirá a los proveedores - con su consentimiento - el compartir la información. La figura 6 ilustra el proceso.

Figura 6 – Proceso de inicio de sesión usando un proveedor de OpenID

Primero, haga clic en el botón Iniciar sesión (login). Una ventana aparecerá mostrando dos maneras de iniciar su sesión. En el lado izquierdo usted puede utilizar su nombre de usuario de DB2 University y su contraseña suponiendo que usted se haya registrado localmente en el sitio. Por otra parte, como se muestra en la parte derecha de la ventana emergente, usted puede registrarse usando cualquiera de los proveedores de openID como ChannelDB2, Gmail, Yahoo o Facebook. Al seleccionar uno de los proveedores, sólo la primera vez pasará por un proceso donde, en otra página, su proveedor le pedirá su consentimiento para compartir información entre los sitios. Si acepta, se compartirá la información y usted será registrado automáticamente en db2university! Después de este proceso, cada vez que desee iniciar una sesión en db2university.com siga los mismos pasos, pero al hacer clic en el botón del proveedor, usted automáticamente iniciará su sesión en DB2 University.

El tercer artículo de esta serie explicará en detalle cómo la habilitación de openID fue realizada.


Usando un teléfono Android para ver calificaciones de cursos

Moodle permite a los estudiantes ver sus calificaciones de tareas y exámenes en la Web; sin embargo, también hemos desarrollado una aplicación móvil para el teléfono Android con el software “aplicación de Inventor” (App Inventor). Esta sencilla aplicación se ilustra en la Figura 7.

Figura 7 - App Inventor para aplicaciones Android accesando db2university

Primero tiene que introducir un código deaccesomóvil que es una palabra clave única que cada estudiante puede obtener de su perfil en Moodle. Luego, elija el curso que se está tomando actualmente y elija mostrar todas sus marcas.

Para que esta aplicación funcione, se requiere codificación en el lado del cliente utilizando la aplicación Inventor y en el lado del servidor (mediante un servicio Web creado con Ruby / Sinatra).

El cuarto artículo de esta serie explicará los detalles de esta aplicación para Android.


Conclusión

En este artículo se introdujo db2university.com, un sitio web en línea de educación implementado con software de código abierto Moodle, habilitado para DB2 y corriendo en la nube de Amazon. El artículo presentó algunas de sus características y ofreció un panorama general de las mejores prácticas para diseñar, configurar y desplegar una aplicación en la Nube. Más artículos de esta serie profundizarán los detalles de cada una de las secciones previstas en este artículo.


Recursos

  • Inscríbase en uno de los cursos gratuitos actualmente disponibles en db2university.com
  • Descargue DB2 Express-C 9.7.2 y otras herramientas gratuitas desde la páginade inicio de IBM DB2 Express-C

Comentarios

developerWorks: Ingrese

Los campos obligatorios están marcados con un asterisco (*).


¿Necesita un IBM ID?
¿Olvidó su IBM ID?


¿Olvidó su Password?
Cambie su Password

Al hacer clic en Enviar, usted está de acuerdo con los términos y condiciones de developerWorks.

 


La primera vez que inicie sesión en developerWorks, se creará un perfil para usted. La información en su propio perfil (nombre, país/región y nombre de la empresa) se muestra al público y acompañará a cualquier contenido que publique, a menos que opte por la opción de ocultar el nombre de su empresa. Puede actualizar su cuenta de IBM en cualquier momento.

Toda la información enviada es segura.

Elija su nombre para mostrar



La primera vez que inicia sesión en developerWorks se crea un perfil para usted, teniendo que elegir un nombre para mostrar en el mismo. Este nombre acompañará el contenido que usted publique en developerWorks.

Por favor elija un nombre de 3 - 31 caracteres. Su nombre de usuario debe ser único en la comunidad developerWorks y debe ser distinto a su dirección de email por motivos de privacidad.

Los campos obligatorios están marcados con un asterisco (*).

(Por favor elija un nombre de 3 - 31 caracteres.)

Al hacer clic en Enviar, usted está de acuerdo con los términos y condiciones de developerWorks.

 


Toda la información enviada es segura.


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=90
Zone=Information mgmt, Cloud computing
ArticleID=620725
ArticleTitle=db2university.com: Diseño, configuración y despliegue en la nube, Parte 1
publish-date=02022011