Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Cloud Computing:
El sistema operativo EyeOS
Jos B. Als Alquzar
Bajo el trmino Cloud Computing, se engloba un conjunto de soluciones tecnolgicas que permiten ofrecer servicios de computacin a travs de los protocolos TCP-IP, de forma que todo aquello que pueda ofrecer un sistema informtico concreto, tanto a bajo nivel como a nivel de aplicacin, es accesible a usuarios ajenos a ste.
n el paradigma Cloud Computing, de conformidad a lo establecido por IEEE Society, la informacin se almacena de forma permanente en servidores conectados a la red, siendo enviada a las cachs temporales de cada cliente, como equipos de sobremesa, porttiles, y por supuesto, los novedosos Netbooks a fin de lograr un mejor aprovechamiento de los recursos ofertados por el hardware actual. Esto es especialmente importante de cara a no confundir con la computacin Grid, en la que el propsito final es la produccin de un supercomputador virtual integrado por diferentes nodos remotos actuando conjuntamente para realizar actividades de proceso masivo de clculos y datos. Cualquier usuario al conectarse a Internet puede encontrar numerosos ejemplos de todo ello, como los ofertados por Google Apps, Amazon EC2 y Microsoft Azure, que permiten acceder a aplicaciones comunes a partir de un navegador Web aprovechando la generalizacin de las tecnologas AJAX y Web 2.0. Aun cuando existe una tendencia generalizada a confundir los trminos Cloud Computing y Grid Computing, el motivo fundamental que explica su aparicin es la necesidad de albergar aplicaciones como servicios externos (SaaS) a un
linux@software.com.pl
determinado dispositivo o computador, de forma que sean fcilmente accesibles a los usuarios de estos, sin necesidad de poseer una copia local de estas instaladas en sus equipos. Cloud Computing no es ms que el resultado de la evolucin lgica de la informtica iniciada en la dcada de los 60 y 70 con los mainframes y continuada en los 80-90 con los equipos personales. Otra alternativa, para evitar la posible dependencia de cdigo no libre y que tanto preocupa a los responsables de la GNU Foundation son los sistemas FLOSS o SO libres para Clould Computing. En este sentido, el proyecto eyeOS nace como respuesta a estas necesidades, adems de proporcionar una compatibilidad con soluciones propietarias actualmente en uso as como a desarrollos cerrados de WebOS como Microsoft Azure.
16
Linux+ 6/2009
El sistema operativo eyeOS proporciona los servicios bsicos descritos con antelacin de los sistemas WebOS de cara a satisfacer la necesidad de que las aplicaciones sean accesibles remotamente por los usuarios desde un navegador compatible con los estndares W3C: Gestin de ficheros, permite la carga y descarga (upload/download) de mltiples fi- cheros con capacidades de compresin ZIP/ USTAR as como su visualizacin. Gestin de informacin personal y contactos, incluyendo calendario con mltiples vistas, gestor de contactos y posibilidad
El advenimiento de las tecnologas Web 2.0 ha conducido al desarrollo de sistemas operativos basados en esta estructura, denominados como WebOS y que se prev conduzca al nuevo paradigma Web 4.0 en el futuro. EyeOS es un sistema operativo orientado Listado 1. Instalacin de los mdulos PHP a la computacin distribuida y que require hospedaje HTTP para su instalacin y posterior puesta en marcha elaborado por www.eyeos.org # yum install mod_suphp y liberado bajo la licencia GPL Affero (AGPL ========================================================================= versin 3). =======
Package eyeOS=Internet + Ficheros + Aplicaciones Size ========================================================================= ======= Installing: mod_suphp 89 k php i386 0.6.3-1.fc9 fedora Arch Version Repository
de exportacin e importacin de estos en formato vCard. Aplicaciones ofimticas; incorpora un procesador de textos, hoja de clculo y motor de presentaciones, todos ellos compatibles con MS Office y las suites ofimticas OpenOffice y StarOffice. Comunicaciones; posee un sistema de mensajera interna para los usuarios de eyeOS, un bulletin board, cliente proxy FTP as como un lector de semillas RSS. Administracin del sistema; permite la instalacin de paquetes y cuenta adems con un novedoso repositorio basado en ports, caracterstica asimilada de los sistemas FreeBSD/NetBSD adems de la gestin de usuarios y grupos.
El propsito fundamental de eyeOS consiste en la creacin de un producto de fcil instalacin, configuracin y gestin, que permita a un usuario de sistemas UNIX poseer su propio sistema de cloud computing bajo su entero control, permitiendo adems la participacin en una comunidad de usuarios y desarrolladores cada vez ms amplia, con la finalidad de desarrollar sus propias aplicaciones para este sistema. En cualquier caso, los responsables del proyecto ofrecen como alternativa a la instalacin del producto, la apertura de una cuenta de usuario en su sistema a fin de poder evaluar las bondades del producto. Para mayor informacin, conectar con http://www.eyeos.info amn de numerosos documentos y podcast informativos acerca de este.
Installing for dependencies: i386 i386 i386 1.2 M php-cli 2.3 M php-common 228 k
Acrnimos y abreviaturas
CVS : Control Version Source, DAV : Web-based Distributed Authoring and Versioning, DSO : Dynamic Shared Object, EC2 : Elastic Cloud Computing, FLOSS : Free Libre Open Source Software, ODF : Open Document Format, SaaS : Software As A Service, SVN : Subversion Management System.
========================================================================= ======= Installing: php-mbstring 1.1 M Transaction Summary ========================================================================= ======= Install Update Remove 1 Package(s) 0 Package(s) 0 Package(s) i386 5.2.6-2.fc9 updates-newkey
www.lpmagazine.org
17
legios de lectura y escritura en los directorios resultantes de la descompresin del fichero ZIP; esto es, por debajo de eyeos/ a fin de poder iniciar el proceso de instalacin propiamente dicho.
Uno de los puntos ms importantes que permite En el directorio DocumentRoot, descomeyeOS es la posibilidad de gestionar mltiples primir el fichero eyeOS_1.8.0.4.zip: instancias de una misma aplicacin. # cd /var/www/html Por otra parte, eyeOS viene con un con# unzip eyeOS_1.8.0.4.zip junto de aplicaciones instaladas aunque existe Posteriormente, seleccionar la URL http:// la posibilidad de migrar aplicaciones propias, localhost/eyehost y el proceso de instasimplificando ostensiblemente los costes de lacin del producto se iniciar de forma administracin y mantenimiento, o desarrollar automtica. nuevas aplicaciones para el sistema. Evidentemente, el usuario utilizado para ejecuRequisitos previos tar los demonios httpd(8) deber poseer priviLos requisitos de instalacin son los siguientes: Servidor HTTP con soporte PHP5 para cadenas multibyte UTF-8, o superior, como Apache 2.0.39 o superior. Cliente HTTP compatible con las especificaciones W3C como Mozilla Firefox 2 o MSIE 6.
Sin duda y debido a la apariencia de eyeOS, no faltar quien piense que no se trata ms que de otra aplicacin Web 2.0. Nada ms lejos de la realidad, ya que eyeOS posee un sistema propio de planificacin y gestin de procesos, como puede verse en la Figura 5. Las tareas tpicas de administracin de usuarios y grupos se pueden realizar a partir del men System Preferences que muestra una ventana repleta de enlaces para la configuracin del escritorio, modificacin de datos de usuario, as como la creacin de usuarios y grupos, y finalmente, la definicin de repositorios.
Generalmente, aunque la mayora de las distribuciones Linux incorporan el servidor Apache por defecto, los mdulos DSO PHP no son instalados. Para obviar este inconveniente, es preciso descargar dicho servidor. En un sistema basado en la distribucin de paquetes RPM, se podra realizar esta operacin mediante yum. que adems deposita el fichero de configuracin php.conf necesario para la carga de dicho mdulo por el servidor Apache. Finalmente, es preciso instalar el modulo mbstring para habilitar el soporte UTF-8 para aplicaciones PHP: Una vez realizada la configuracin del servidor HTTP, el proceso de instalacin es muy simple teniendo en cuenta el fichero de configuracin httpd.conf del servidor Apache:
18
Linux+ 6/2009
Es importante recordar que la habilitacin del soporte para los ficheros MS Office/Open Office requiere OpenOffice.org junto con la instalacin macro de cara a poder utilizar esta funcionalidad con eyeOS Word Processor.
Descripcin de Aplicaciones
EyeOS introduce en su escritorio sustanciales mejoras, como una barra de aplicaciones minimizada indicando qu aplicacin se est utilizando en cada momento, as como en la gestin de ventanas, que indica en todo momento la ventana activa; o como una nueva coleccin de iconos. Adems, existe la posibilidad de utilizar un escritorio menos pesado, ya existente en las versiones eyeOS 1.x y conocido como Light Desktop junto con la capacidad para utilizar extensiones adicionales como Fusion y Oxigene, disponibles en la seccin Theme, correspondiente al men System Preferences. Dentro de este contexto, y teniendo en cuenta que eyeOS se encuentra todava en fases tempranas de madurez (especialmente en lo concerniente a la documentacin accesible), vamos a detallar alguna de las aplicaciones ms importantes disponibles en la versin objeto del presente artculo.
A fin de mejorar las prestaciones de eyeMP3, como aplicacin disponible en anteriores versiones de eyeOS, Hunter Perrin ha desarrollado eyeMedia, que permite gestionar listas de msica o playlists de cara a convertir eyeOS en una especie de reproductor de msica online tal y como se muestra en la Figura 9.
Dotado de una apaciencia similar a los procesadores de textos existentes en la actualidad, tal y como aparece en la Figura 7, eyeOS Word Processor incorpora un diseo de pgina mejorado, con nuevas herramientas accesibles a travs de una barra de herramientas y la posibilidad de trabajar con formatos MS Word, OpenDocument Figura 8. Gestin de contactos. eyeAdressBook (ODF) adems del formato nativo eyeOS.
www.lpmagazine.org
19
mo desde el panel Actions presente en Files Manager permite la copia directa de ficheros a los grupos de usuarios creando enlances entre los ficheros privados de usuario y los grupos de usuarios compartidos, tal y como se indica en la Figura 10, a fin de hacer posible la distribucin de ficheros, siempre y cuando se posean los permisos necesarios para ello. Tambin, y como colofn, es posible descargar e instalar o actualizar el sistema eyeOS a travs del enlace Donwloads page presente en el escritorio; actividad a tener presente debido a que el desarrollo de eyeOS se encuentra en permanente evolucin.
Resulta interesante tambin aleccionar a la comunidad de desarrolladores interesados en colaborar con el desarrollo de eyeOS como sistema webOS sobre los pasos a seguir de cara al trabajo dentro de este mbito. El cdigo fuente de eyeOS es accesible a travs del repositorio SVN desde la siguiente URL: https:// eyeos.svn.sourceforge.net/svnroot/eyeos/ eyeOS/branches/production/. que contiene la rama de desarrollo estable actual. A tal efecto, debern instalarse en el equipo local los interfaces CLI de Subversion, disponibles en http://subversion.tigris.org. Tngase en cuenta que la revisin de eyeOS dentro del repositorio Subversion est especficamente concebida para su utilizacin en un entorno de desarrollo de software y no est en absoluto pensada para los usuarios finales. De este modo, la obtencin del cdigo de desarrollo puede resumirse en tres pasos detallados a continuacin: Ejecutar el comando svn(1):
$ svn checkout https://eyeos.svn .sourceforge.net/svnroot/eyeos/ eyeOS/branches/production
Una posibilidad interesante reside en utilizar el mdulo userdir en el servidor Apache editando el fichero httpd.conf tal y como se muestra en el Listado 1, de tal modo que descarguemos la rama de desarrollo eyeOS dentro del directorio public_dir. Este mdulo, permite la adicin de un directorio definido previamente en el fichero de configuracin httpd.conf cada vez que se inicie en el navegador WWW una solicitud que contenga la cadena ~user. Para ello deben satisfacerse las siguientes condiciones: El rbol de directorios que llevan hasta public_html deben ser accesibles al usuario que ejecuta el servidor HTTP. El directorio ~userid debe poseer permisos 711. El directorio ~userid/public_html debe poseer permisos 755.
En caso de no procederse de la forma indicada, el servidor HTTP lanzar como resultado el error 403. Forbidden. Tras lo cual, deber procederse de nuevo a la parada y arranque del servidor HTTP mediante el comando: $ apachectl stop && apache ctl start a fin de efectuar la carga del nuevo mdulo.
De este modo, a la izquierda del escritorio eyeOS aparece el listado Categories que permite seleccionar la o las aplicaciones deseadas. Una vez realizada esta seleccin, nicamente es preciso seleccionar el botn Install y el proceso Figura 12. Configuracin de eyeSync
20
Linux+ 6/2009
Una vez obtenido el cdigo fuente de eyeOS, es necesario dotarse de las herramientas de desarrollo cliente, presentes en eyeOS toolkit, que permitirn la realizacin de operaciones de depuracin sin necesidad de volver a ejecutar la aplicacin. Para ello, siempre y cuando el desarrollador utilice Firefox como navegador por defecto, es conveniente descargar el addon Firebug desde http://addons.mozilla.org. Firebug es un complemento ideal no slo para el desarrollo de aplicaciones eyeOS sino para cualquier tipo de aplicaciones web gracias a su integracin con el navegador. En cualquier caso, y como conclusin, el siguiente paso ser la lectura de la documentacin asociada: eyeOS Application Manual y Developers Reference, disponibles en http://wiki.eyeos.org/ Developers_Reference_Index.
EyeSync es una aplicacin que permite sincronizar ficheros entre plataformas locales de usuario como MS Windows XP, MacOS X Leopard y, por supuesto, GNU/Linux para hacerlos accesibles a eyeOS. Para la utilizacin, es preciso descargar el paquete de instalacin. Desgraciadamente, slo est disponible el paquete DEB, por lo cual, vamos a realizar la instalacin a partir del cdigo fuente, $ tar xvfz
eyeSync_1.0_Alpha_Source.tar.gz && cd eyeSync-1.0Alpha/
Sobre el autor
Jos B. Als es administrador de sistemas especializado en SunOS 5.x/HP-UX/AIX desde 1999 de la mano de EDS, desarrollando su trabajo en Telefnica de Espaa, S. A. U.; y lleva trabajando con sistemas GNU/Linux desde los tiempos del ncleo 1.2.13. Ha sido profesor de la Universidad de Zaragoza. Est especializado en sistemas de Alta Disponibilidad y posee un doctorado en Ingeniera Nuclear.
En caso contrario, proceder a su instalacin. Conclusiones finales En distribuciones GNU/Linux basadas en Tras esta breve introduccin a eyeOS como RPM, la forma ms simple es mediante la uno de los exponentes ms prometedores de utilidad YUM: la nueva generacin de sistemas webOS para Cloud Computing, debe tenerse en cuenta la # yum install PyQt.i386 pythongran cantidad de posibilidades que encierra, inotify.i386 especialmente con los esfuerzos de la comunidad de desarrolladores de nuevas aplicaciones. y para sistemas basados en Debian: Para ello nada mejor que utilizar el repositorio SVN donde pueden encontrarse las ltimas # apt-get install python-pyinotify versiones disponibles de la documentacin python-qt4 sobre este sistema. Uno de los aspectos ms destacables de Ejecutar el script Python eyeSync utilizan- eyeOS es la posibilidad de contar, adems del do un usuario eyeOS con permisos de es- nivel de soporte Open Source, con un soporte critura en este, que da como resultado una profesional, que ofrece a las empresas unos pantalla tal y como se muestra en la Figura tiempos de respuesta a incidencias sustan11 para su configuracin preliminar: cialmente ms reducidos (que llega incluso a niveles de asistencia in-house para el nivel En el men 'Preferences' deber seleccionarse de soporte Premium). la URL de acceso al sistema eyeOS, tras lo cual, No contentos con ello, el proyecto eyeOS debe reiniciarse eyeSync. posee tambin tres niveles de formacin, dirigidos a usuarios finales, administradores del Finalmente, seleccionar los directorios del sistema y desarrolladores del mismo, respecsistema operativo local que se deseen sin- tivamente. Adems, eyeOS ha sido selecciocronizar con eyeOS tal y como se indica nado para la prxima Cloud Computing Expo en la Figura 12. 2009 a celebrar en Nueva York como alternativa libre. El resultado de esta operacin, puede apreciarse directamente en la Figura 13 al iniciar una sesin en eyeOS, donde podemos ver los ficheros correspondientes a este artculo directamente En la red en nuestro entorno Cloud Computing. EyeOS Web SO Main Site: Conviene no olvidar que eyeSync es una http://www.eyeos.org aplicacin independiente que debe ser ejecu Comunidad de desarrolladores tada por cada usuario definido en eyeOS con EyeOS: permisos de lectura/escritura, por lo que su inshttp://eyeos.org/en/developers talacin en el equipo local deber ser accesible EyeOS Wiki Main Site: a todos los usuarios que deseen utilizarla. http://wiki.eyeos.org Otra actividad importante es la realizacin Apache HTTP Server Main Site: de copias de seguridad, mediante eyeBackup, http://www.apache.org que estar disponible en un futuro prximo. De PHP Language Main Site: momento, la opcin ms razonable, es la realihttp://www.php.net zacin de copias de seguridad tradicionales o Subversion (SVN) Main Site: bien mediante software dedicado como Bacula, http://subversion.tigris.org NAS Backup o BackupPC.
www.lpmagazine.org
21