Skip to content

¿Qué es un Software Appliance?

29/julio/2009

novell-suseUno de los principales objetivos de crear SUSE Studio fue hacer extremadamente fácil para los desarrolladores de software la distribución de sus aplicaciones con “software appliances“. Después del artículo anterior sobre SUSE Studio, te podrías estar preguntando ¿qué demonios es un Appliance? ¿para qué sirven? ¿dónde los obtengo? etc.

install-dbPrimero, la instalación de software en la actualidad es un proceso repetitivo y propenso a errores. Esto es especialmente cierto en el caso de software de servidor, y más aún para el software comercial de servidor. Veamos un ejemplo. Aquí está el manual de instalación de software para una popular base de datos comercial en Linux:

Si quitamos todas las páginas que no contienen las instrucciones técnicas paso a paso, nos quedan 68 páginas que los pobres tipos de TI tienen que leer.

Las primeras 55 páginas de “pre-instalación” son las cosas que tienen que hacer para asegurarse que el sistema operativo está listo para instalar la aplicación. Son 55 páginas, ¡incluso antes de tocar la aplicación!

El manual, incluso ofrece un útil cuadro con los parámetros del núcleo y los valores que debe tener, para que los tipos de TI lo ingresen en forma manual:

install-kernel

Parece terrible, pero en el mundo del software, esto es algo común.

Por supuesto, muchas aplicaciones son más sencillas de instalar que este ejemplo. Pero incluso aplicaciones relativamente simples podrían fallar en la instalar debido a que falta una dependencia o una biblioteca es incompatible o la versión del núcleo. Esto ocurre en Linux y en Windows también. Es una experiencia universal.

De hecho, muchos hemos tenido la experiencia de intentar y fallar en la instalación de una aplicación. Y renunciamos. Sabes lo que estamos hablando: porque es muy seguro que te haya sucedido.

Y sin embargo, en este momento en la Tierra, miles de personas están instalando el mismo software de aplicaciones en sus propios servidores. Y no todos ellos tendrán éxito.

Sistemas de repositorio de software de código abierta como apt-get y yum  reconstruyen todo el universo de aplicaciones cada vez que una biblioteca base cambia. Pero no todos los software son de código abierto, y estos sistemas no son a prueba de tontos.

Al consultar a los proveedores de software, indican que las instalaciones incorrectas de software alcanzan el 50% de todos los incidentes de soporte de software, en los últimos dos años.

Así que en la actualidad las prácticas de instalación de software son frustrantes para los usuarios finales y costosas para los desarrolladores.

Introducción a los dispositivos de software.

Un software appliance o dispositivo de software (aplicación informática) es una pila de aplicaciones que contiene el sistema operativo, el software de aplicación y las dependencias necesarias, además de la configuración y los archivos de datos necesarios para el funcionamiento. Todo está preinstalado, preintegrado, y listo para funcionar.

Los dispositivo de software vienen en forma de un archivo que puede ser una imagen de máquina virtual, un archivo ISO, una imagen para dispositivo USB o una AMI (imágen de maquina de Amazon EC2 (Elastic Compute Cloud).

Esto es algo como una forma extrema de vinculación estática.

Una pequeña taxonomía se muestra a continuación.

appliance-taxEn lugar de pedir a los clientes ensamblar las aplicaciones, sistemas operativos y middleware, ellos mismos, los proveedores de software puede distribuir una pila “lista para ejecutar” que arranca con un asistente de configuración.

La pila es montada por el desarrollador, así es el experto quien está haciendo todos los pasos de la instalación e integración, no un principiante leyendo un manual o un consultor de alto costo.

Al viejo estilo

Al viejo estilo: cada desarrollador realiza el desarrollo y distribución de su software. Luego, cada cliente debe instalar y configurar cada uno de los software.

Al estilo Dispositivo de Software

Al estilo Dispositivo de Software: un vendedor de software, empaqueta, configura y distribuye el "appliance" a cada cliente.

El factor dispositivo de software puede hacer que sea más fácil para los desarrolladores de software vender sus programas, ya que no tienen que enviar ingenieros “pre-venta” para configurar una aplicación in situ, cuando un cliente quiere probar sólo una aplicación o ejecutar una “prueba de concepto”.

El valor aquí es evidente: hacerlo lo más fácil posible para que la gente pruebe los programas. Es por eso que estamos empezando a ver una gran cantidad de desarrolladores y proyectos de código abierto poniendo imagenes VMware o imágenes ISO de sus Live CD en sus sitios web para que las personas puedan probarlos.

También podemos encontrar que grandes empresas, con software complejo pueden utilizar los dispositivos de software para vender a pequeñas empresas que no disponen de sofisticados departamentos de TI. Algunas de las compañias de software empresarial más grandes del mundo como SAP y Oracle están muy cerca de alcanzado la saturación del mercado de los clientes más grande del mundo, y así una de sus oportunidades de crecimiento es el “mercado de abajo”, entre las pequeñas empresas que desean un fácil proceso de instalación y mantenimiento.

Por cierto, esta es una de las ventajas que podría obtener Oracle con la adquisición de SUN: ahora puede ofrecer una completa experiencia para sus clientes entregando un paquete con sus aplicaciones de Oracle y PeopleSoft junto con Solaris en un dispositivo.

Por supuesto, que preinstalando el software en un dispositivo de software no elimina los pasos de la configuración individual.

La tendencia es ofrecer un asistente de configuración que se ejecuta en el primer arranque. Esto es generalmente una interfaz web que se ejecuta remotamente. En algunos casos, esto se configura automáticamente a través de un sistema de gestión.

El asistente de configuración del primer arranque es familiar para cualquier persona que haya configurado de punto de acceso inalámbrico, porque eso es exactamente cómo tu configuraste tu Linksys.

linksys350Pruébalo

Si eres un desarrollador de software y quieres probarlo, puede ir a SUSE Studio y crear un dispositivo de software hoy. Por supuesto, los dispositivos de software no son la única razón por la que se ha creado SUSE Studio. También puedes crear tu propia distribución de Linux, y hay una gran cantidad de usuarios que la utilizan para ese fin.

Una reflexión final. Las compañías fabricantes de automoviles no le piden a las personas que compren el motor, chasis y ruedas por separado para que pongan todo junto nosotros mismos. Las personas que pasan su tiempo montando las piezas de sus automóviles se llaman aficionados. ¿Por qué los usuarios finales siguen haciendo el montaje en el mundo del software?

El texto original en inglés en What is a Software Appliance? en el blog de Nat, uno de los desarrolladores de SUSE Studio, junto con Miguel de Icaza. Además nos invita a permanecer “sintonizados”, ya que este es el primero de una serie de artículos.

Anuncios
One Comment

Trackbacks

  1. ¿Tu sistema operativo puede hacer esto? « MicroTeknologias

Los comentarios están cerrados.

A %d blogueros les gusta esto: