Tweeteame!
Un par de aclaraciones con respecto a la traducción:
Una de las cosas más destacables de los dispositivos electrónicos de consumo masivo de hoy en día - teléfonos, reproductores de discos blue ray, routers inalámbricos, televisores de plasma, etc. - es que proveen funcionalidades muy sofisticadas sin necesidad de que uno instale software adicional. Todo este software se encuentra en el firmware del dispositivo. Todo funciona "out of the box", y en general es muy sencillo personalizar las características especificas de las aplicaciones incluidas.
El caso de las computadoras es bastante diferente. Ya sea que estés configurando tu nueva PC o instalando nuevos servidores en un datacenter, instalar software es una tarea tediosa y frustrante, que consume grandes cantidades de tiempo. Cada aplicación debe ser instalada y configurada en forma individual, y administrar todos los parches, actualizaciones y archivos de configuración convierten a este proceso en una perdida perpetua de tiempo.
Los investigadores en los laboratorios de Sun se hicieron entonces una sencilla pregunta respecto a esto: ¿Porqué no traemos la simplicidad del modelo "firmware" a los datacenters?
Sun Labs lanzó el Proyecto Live* (live-star) para explorar esa pregunta. Liderado por el Investigador Principal Olaf Manczak, el equipo responsable de este proyecto ha concebido (y ahora está preparado para compartir con la comunidad open source) un nuevo approach que tiene el potencial para simplificar radicalmente la distribución y configuración de software en los datacenters.
La tecnología Live* distribuye los componentes de software más importantes en forma de imágenes de disco inmutables que contienen software preinstalado y listo para usar. Los usuarios pueden simplemente elegir los componentes de una lista para crear sistemas completamente funcionales.
Resulta fácil entender porque se utilizan diferentes modelos para instalar software en los dispositivos electrónicos de consumos que en los datacenters.
El desafío para el equipo de Sun Labs fue encontrar una forma de mezclar la sencillez de uso y la reproducibilidad del modelo de los dispositivos electrónicos de consumo con la modularidad y grado de personalización del modelo de los datacenters. De acuerdo con Olaf Manczak, encontrar una solución era urgente.
"La complejidad de instalar y configurar software ya es un gran problema para los administradores de los datacenters, y va a volverse un problema aún mayor si no encontramos un mejor approach", declara Manczak. "El deployment de nuevos datacenters está creciendo actualmente a una tasa de 15% por año, y con la creciente popularidad de la virtualización de servidores, el número total de instalaciones crece en realidad mucho más rápido. No necesitamos pequeñas mejoras incrementales sobre los procesos actuales; necesitamos repensar la forma en la que se realiza el deployment del software"
Actualmente, se encuentran disponibles algunas herramientas que permiten aumentar la eficiencia de los procesos de instalación, configuración y administración del software. Por ejemplo:
Estas soluciones son muy útiles para incrementar la productividad administrativa, pero no apuntan por completo al problema del deployment y mantenimiento del software.
Las herramientas de empaquetado, por ejemplo, ayudan en el deployment inicial pero aún necesitaremos instalar las actualizaciones individualmente en cada sistema. Los sistemas de administración ayudan a automatizar las tareas de mantenimiento de rutina, pero sólo para una única aplicación a la vez. Y las distribuciones Live CD le brindan a los usuarios la flexibilidad para mezclar varios componentes, pero aún no pueden lidiar con datos estructurados, como por ejemplo archivos de personalización del sistema.
"El modelo tradicional pone demasiada carga sobre los administradores y usuarios finales" Dice Manczak. "Lo que estamos intentando lograr con el Proyecto Live* es colocar el peso de la instalación de software en los hombros de los fabricantes, permitiendo aún a los usuarios personalizar sus sistemas fácilmente."
El Proyecto Live* introduce una tecnología que va más allá de las limitaciones de las tecnologias anteriores. Con Live* los componentes importantes como sistemas operativos, bases de datos y servidores de aplicaciones son distribuidos como imágenes de disco inmutables. Cada imagen contiene software preinstalado listo para ejecutar. Los usuarios simplemente seleccionan la combinación de componentes que quieren. Como se de bloques Lego se tratase, los componentes pueden ensamblarse par crear sistemas complejos.
¿Queres ejecutar MySQL en OpenSolaris y realizar backups con Zmanda Recovery Manager? Todos estos componentes podrían estar disponibles en sus últimas versiones como imágenes de disco. Los usuarios simplemente elegirían y clickearían entre esos y otros componentes para crear los sistemas que deseen.
En tiempo de booteo, la tecnología Live* crea un filesystem virtual que combina dinámicamente el software de múltiples imágenes. Este proceso es enteramente transparente al software existente, y el contenido del filesystem es idéntico al que resultaría de un proceso de instalación tradicional.
Usando este approach, los sistemas pueden actualizarse remplazando simplemente las imágenes completas con nuevas versiones de las mismas. Y utilizando sistemas de administración como Sun xVM OpsCenter, este proceso puede automatizarse de forma tal que múltiples servidores se actualicen con un único comando.
Una característica única de la tecnología Live* - la que vence las limitaciones de los Live CDs - es la habilidad de virtualizar el software (como un snapshot a nivel bloque) y manipular datos estructurados y no estructurados. Esto le brinda a los usuarios la capacidad de instalar software que necesitan y mantener sus configuraciones de personalización incluso luego de actualizar o emparchar dicho software.
Para lograr esto, Live* utiliza una técnica llamada "unificación del filesystem" que es parte del concepto de Live CD. Esencialmente, las aplicaciones "ven" un filesystem combinado que parece un CD-ROM con escritura, pero en realidad hay dos filesystems: uno que provee acceso a los archivos existentes en el CD, y otro que administra las modificaciones, como escrituras, borrados y renombrados.
Con esta técnica, se hace posible cambiar o actualizar el software dinámicamente; simplemente se reemplaza la imagen con una nueva versión, y el sistema aún corre exactamente como queríamos.
Para lidiar con los datos estructurados, la tecnologia Live* va un paso mas allá del approach "Live CD" e incorpora "motores de personalización, que son una infraestructura programable para generar archivos de configuración.
A diferencia de las herramientas de administración como xVM OpsCenter o VMware, los motores de personalización no tienen conocimiento de como manipular todos los archivos de configuración. En cambio, las imágenes de disco poseen una serie de "generadores" que pueden utilizarse para transcribir los parámetros de personalización - las respuestas que normalmente daríamos al programa de instalación - a archivos de configuración. Live* crea un filesystem vacío en memoria, y usa el motor de personalización para aplicar todos los generadores y crear de esta forma todos los archivos de configuración que se guardan en ese filesystem. Cuando este proceso finaliza, obtenemos algo que se ve como un único disco con capacidad de escritura que tiene todo el software instalado en el lugar correcto, y todos los archivos de configuración correspondientes.
"Son como genes en una estructura de ADN", dice Manczak. "Ningún fabricante tiene acceso a la estructura completa, pero cada uno puede extraer los parámetros necesarios. En tiempo de booteo, el motor de personalización pasa por las imágenes necesarias para crear el sistema en cuestión, identificando y notificando a los generadores correspondientes. El resultado es la generación de archivos de configuración que se guardan en el filesystem en memoria. Con lo cual, terminamos con una imagen inmutable con software e información de personalización. Ahora podemos cambiar los datos estructurados o no estructurados y estos cambios serán preservados."
Uno de los enormes beneficios del approach Live* es que se hace posible realizar actualizaciones de sistemas operativos rápidamente. Ya no tendremos que instalar un parche o una actualización de seguridad en cada computadora; simplemente obtendremos la imagen más reciente, reiniciaremos la máquina virtual, y todo funcionará correctamente.
En combinación con la virtualización de hardware de Xen o VMware, la tecnología Live* provee una manera extremadamente sencilla de crear sistemas robustos, seguros y reproducibles.
Sun Labs llama a la comunidad de desarrolladores a mirar más de cerca la tecnología Live*, y ayudar a extender sus capacidades. El equipo del Proyecto Live* esta liberando esta tecnologia con la licencia GPL v2. Para más información o para bajar el código fuente de Live*, accedan a la página del proyecto en http://research.sun.com/projects/live*/download.html.
Hasta aquí el articulo original. Los dejo con un vídeo que demuestra la utilización de esta tecnología. Lamentablemente esta en ingles, pero en resumen lo que sucede en el mismo (a partir de los 2' 30'' aproximadamente) es que los presentadores instalan Fedora 8 junto con Java en una máquina virtual, luego intentan ejecutar una aplicación que requiere una extensión para Java, la cual instalan con éxito y corren la aplicación que deseaban; finalmente cambian Fedora 8 por Fedora 9, y muestran que las extensiones de Java continúan funcionando perfectamente aún cuando cambiaron el sistema operativo.
Articulo original: http://research.sun.com/spotlight/2008/2008-12-22_project_live.html
| < Prev | Próximo > |
|---|