Introducción Nadie duda de que cada vez más los procesos

Anuncio
Autonomic Computing
José Antonio Lozano López y Juan Manuel González Muñoz
Tecnologías
¿Qué es el 'Autonomic Computing'? ¿Qué posible solución hay para la autogestión de los futuros sistemas e infraestucturas? Obtenga la respuesta en este interesante
artículo.
Introducción
Nadie duda de que cada vez más los procesos de negocio de las empresas dependen de sus
infraestructuras TIC (Tecnologías de la Información y las Comunicaciones). En paralelo a la evolución de
las empresas a un entorno económico más global, estas infraestructuras han crecido en potencia de
computación, en capacidad de almacenamiento y en facilidad y posibilidad de acceso desde cualquier
rincón del planeta utilizando múltiples dispositivos.
Sin embargo, esta evolución no ha venido acompañada de avances similares en la operación de estas
infraestructuras, más bien al contrario, las infraestructuras se han vuelto cada vez más complejas de
gestionar. La complejidad que están alcanzado la infraestructura de sistemas y comunicaciones de
cualquier empresa hace que su gestión sea muy complicada y consuma muchos recursos, lo que acaba
impactando en la cuenta de resultados de la empresa y por lo tanto en su capacidad para desarrollar su
negocio.
De hecho, Paul Horn, Vicepresidente y Director de Innovación de IBM en un discurso en 2001 en la
Universidad de Harvard ante la Academia de Ingeniería manifestaba que el verdadero reto al que se
enfrenta la industria de los Sistemas de Información, por encima de la Ley de Moore, es la complejidad.
En su charla, P. Horn indicaba como solución que los futuros sistemas e infraestructuras tenían que incluir
capacidades para autogestionarse y proponía como modelo el sistema nervioso humano. El cuerpo
humano realiza una serie de tareas como el control de la temperatura o la sudoración, el ritmo del latido
del corazón, la respiración, etc. que involucraban multitud de entidades diferentes (glándulas, órganos,
etc.) independientes pero relacionadas entre sí y controladas por el sistemas nervioso autónomo, de ahí el
nombre de 'Autonomic Computing'.
Principios y conceptos de Autonomic Computing
Un elemento o sistema autónomo es uno que opera y sirve a su propósito gestionándose a sí mismo sin
necesidad de intervención externa. Se trata de dotar a las infraestructuras TI de la inteligencia y las
capacidades necesarias para autogestionarse.
El núcleo de un sistema autónomo es un sistema de control, que es una combinación de componentes que
actúan de manera coordinada con el objetivo de mantener los valores de los parámetros que caracterizan
el funcionamiento del elemento gestionado dentro de un margen especificado. Concretamente, un sistema
autónomo está formado por uno o varios bucles cerrados de control siguiendo el modelo de los numerosos
bucles del Sistema Nervioso Autónomo: azúcar en sangre, temperatura del cuerpo, dilatación de las
pupilas, etc.
La materialización de los bucles de control de un sistema autónomo es lo que se define como Elemento
Autónomo, cuya arquitectura básica se puede ver en la Figura 1. Los bloques principales son:
Monitorización: Es el bloque encargado de recibir la información sobre el entorno que
proporcionan los sensores.
Análisis: Analiza la información proporcionada por el bloque de monitorización para conseguir una
visión del entorno y su evolución con relación a los parámetros que hay que controlar
Planificación: Una vez se tiene el resultado del análisis, el módulo de planificación prepara y
coordina las acciones que hay que realizar sobre el entorno
Ejecución: El módulo de ejecución es el encargado de ejecutar las acciones sobre el elemento
gestionado. Debe conocer los efectores y cómo utilizarlos
Conocimiento: El elemento autónomo emplea conocimiento para interpretar la información del
entorno y conocer cómo modificarlo. Forma un espacio de entendimiento entre todos los bloques.
Se define utilizando tecnologías semánticas.
Figura 1.- Arquitectura de un Elemento Autónomo
El Elemento Autónomo incluye tanto los recursos que se van a gestionar, como la propia aplicación de
gestión responsable del estado de los recursos internos y de las interacciones con el exterior.
Un Sistema Autónomo es capaz de realizar de forma automática y sin necesidad de intervención externa
una o varias tareas de gestión. En la Figura 2 se puede ver las principales características de un Sistema
Autónomo:
Self-configuration. Capacidad para adaptarse a cambios dinámicos del entorno. Estos cambios se
realizan en tiempo de ejecución y permiten responder a condiciones no previstas.
Self-healing. Capacidad para supervisar, diagnosticar y reparar los fallos que puedan aparecer en el
sistema.
Self-optimization. Capacidad para buscar formas de funcionamiento más eficientes ajustando
adecuadamente ciertos parámetros del sistema.
Self-protection. Capacidad para anticipar, detectar y proteger el sistema y sus recursos frente a
ataques y problemas. El Sistema Autónomo debe ser capaz de detectar el ataque y aplicar
contramedidas.
Figura 2.- Características de un Sistema Autónomo
Los Elementos Autónomos pueden trabajar a diferentes niveles de abstracción. En general, un elemento
autónomo se encarga de controlar una tarea o aspecto concreto del funcionamiento del elemento
gestionado. Cuando es necesario coordinar el funcionamiento de varios elementos autónomos se hace
necesario un mayor nivel de abstracción que se constituye como un nuevo elemento autónomo cuyos
elementos gestionados son otros elementos autónomos de más bajo nivel. Para que el comportamiento de
todos ellos responda a un objetivo común de negocio, generalmente, se utilizan políticas que definen los
objetivos de alto nivel del sistema que a su vez será capaz de aplicar las acciones correspondientes a bajo
nivel.
Impacto de AC en las tecnologías TIC
El objetivo principal de la iniciativa de Autonomic Computing es la de tratar la complejidad de la gestión
de las infraestructuras de computación actuales, proporcionando métodos, algoritmos, arquitecturas y
herramientas para estandarizar, automatizar y simplificar muchas de las tareas de administración de los
Sistemas de Información.
De igual forma que hace algunos años, la instalación de una aplicación software requería un elevado
conocimiento tecnológico para ajustar un número elevado de parámetros y hoy esta labor está al alcance
de todos los usuarios con unos pocos 'clicks' de ratón. Autonomic Computing pretende una simplificación
similar para muchas de las tareas de administración de sistemas.
Un aspecto destacado de Autonomic Computing es la promesa de solucionar problemas de evolución del
software ya que además de la automatización, al incorporar sensores y efectores a los sistemas, se podrá
monitorizar y verificar requisitos sobre periodos largos de tiempo. Por ejemplo, los sistemas
auto-gestionados serán capaces de actualizar automáticamente el software, adaptar sistemas críticos sin
necesidad de pararlos, asilar módulos que no estén funcionando adecuadamente, etc.
Desde un punto de vista práctico, Autonomic Computing supone más una evolución que una revolución.
En vez de desarrollar todos los sistemas de nuevo, se pueden ir añadiendo capacidades de autogestión en
los sistemas de forma gradual. De hecho, IBM define cinco niveles de madurez en Autonomic que se
representan en la Figura 3.
Figura 3.- Niveles de madurez de Autonomic
Una de las ventajas de Autonomic Computing es que su aplicación se puede hacer de forma progresiva,
abordando aspectos específicos de la gestión y administración de las infraestructuras IT. Así, aplicaciones
como distribución de procesos, actualización de software, ajuste de parámetros de funcionamiento de una
base de datos, etc. pueden realizarse de forma automática y con un impacto directo en el TCO (Total Cost
Ownership) de las infraestructuras.
Un aspecto curioso e interesante es que los principios de diseño de autonomic están siendo aplicados con
éxito a otros sectores. Los fabricantes de coches, por ejemplo, utilizan los mismos conceptos para
desarrollo de sistemas como el ABS (Anti Blocking System).
Conclusiones
La complejidad de las infraestructuras TIC empieza a ser un freno para el desarrollo de las empresas
debido a la dependencia cada vez mayor del negocio de estas infraestructuras. El objetivo de iniciativas
como Autonomic Computing es la de desarrollar tecnologías que ayuden a eliminar esta barrera.
Aunque sus objetivos y principios parecen claros, su implementación aún presenta incertidumbres. Las
dos principales son que algunas de las tecnologías que se usan no tienen aún el grado de madurez
necesario como para su uso industrial y la falta de estándares que garanticen la interoperabilidad de las
infraestructuras. En este sentido, el ACF está impulsando la creación de estándares que ayuden al
desarrollo y despliegue de infraestructuras de telecomunicaciones autogestionadas. Sin embargo, aunque
tiene un fuerte apoyo del mundo académico, sus resultados aún no son visibles y necesita más repercusión
en el sector industrial. También aparece la necesidad de renunciar a controlar infraestructuras a nivel de
componente, y esto supone un cambio cultural de importancia en la industria de sistemas de información.
En cualquier caso, lo que sí parece claro es que el desarrollo de infraestructuras TIC con capacidad de
autogestión abre un amplio abanico de posibilidades tanto para las empresas que las operan, que se
beneficiarían de unas infraestructuras cada vez mas inteligentes y autónomas más orientadas al negocio,
como para los usuarios de los servicios que simplifican su relación con la tecnología.
Autores: José Antonio Lozano López y Juan Manuel González Muñoz. Teléfonica I+D
Descargar