Autonomic Computing


El número de nodos de los sistemas distribuidos en muchos de sus campos de aplicación está creciendo de manera espectacular en los últimos años. Este crecimiento añade una gran complejidad a la gestión de los sistemas, y en muchos casos, es esta complejidad la que limita el crecimiento de las infraestructuras tecnológicos y no, como se podría pensar sus costes o sus consumos energéticos.

Cuando se habla de Autonomic Computing, concepto introducido en el año 2001 por IBM, se trata de diseñar sistemas que se autogestionen de manera que se reduzca la complejidad de su integración, gestión y operación. Los sistemas autónomos deben cumplir, como mínimo tres propiedades: la automatización, la capacidad de adaptación y la conciencia del entorno.

Aunque existen diferentes aproximaciones al problema, este tipo de sistemas suele basar su diseño en el sistema nervioso humano y en la implementación de bucles de control que permitan realizar ciclos de monitorización, análisis, planificación, ejecución y predicción cuyos objetivos sean la auto-protección, la auto-configuración, el auto-mantenimiento, la auto-optimización, etc. 

Aunque parece que este es el futuro de las grandes infraestructuras desplegadas, por ejemplo, por los proveedores Cloud más importantes, en el campo de la autonomía todavía queda mucho por avanzar, y en los centros de datos actuales no se puede hablar de Autonomic Computing más que a niveles muy básicos, siendo todavía necesaria mucha intervención humana en la mayor parte de los procesos. Poco a poco.

Criterios para virtualizar sistemas de información


En esta entrada se analizaba el motivo principal por el que la virtualización se ha convertido en una práctica muy extendida en el ámbito de la gestión industrial. Dicho motivo es que permite la reducción del coste de propiedad (TCO) de los sistemas de información desplegados en una organización. 

Además de este motivo principal, a continuación se relacionan algunos de los criterios por los que una organización puede decidir si adapta su infraestructura tecnológica a un entorno virtualizado. En general, una organización debería plantearse virtualizar sus sistemas si:

  • Dentro de su estrategia corporativa, la sostenibilidad es un factor clave para alcanzar una ventaja competitiva. Es decir, si la empresa está llevando a cabo iniciativas de Green IT, Green Computing, eficiencia energética, reducción de huella de carbono, etc. La virtualización ayuda a reducir las emisiones y consumos de energía que generan los servidores y máquinas físicas.
  • Existe la necesidad de movilidad y/o replicación de sistemas en entornos distribuidos geográficamente.
  • Se están llevando a cabo estrategias de estandarización y homogenización tecnológica que requieran desplegar máquinas virtuales parecidas en diferentes host físicos.

La virtualización en entornos industriales


Durante los últimos meses se ha extendido la práctica de virtualizar la infraestructura hardware asociada a proyectos que se desarrollan en el ámbito de la gestión industrial. Esto se debe a que en muchas ocasiones, se tiene la percepción de que, por un lado, el hecho de utilizar máquinas virtuales para desplegar el software SCADA, MES, BMS, BI, etc…va a abaratar el coste inicial de un proyecto (al sustituir máquinas físicas por máquinas virtuales), y por otro, que la virtualización requiere de menos recursos de cómputo para ejecutar aplicaciones.

A partir de la experiencia en multitud de proyectos, se ha podido corroborar que estas ideas son erróneas.  El coste de adquisición de los equipos hardware que sean capaces de ejecutar máquinas virtuales obteniendo el mismo rendimiento que las máquinas físicas es siempre más elevado, ya que se requieren host físicos que sean capaces de ejecutar todas las tareas que antes se hacían en diferentes máquinas físicas.

En cuanto a la necesidad de cómputo, algunas estimaciones apuntan que para ejecutar una aplicación virtualizada es necesario incorporar como mínimo un 25% más de capacidad. Por ejemplo, si en un proyecto se requieren dos servidores de aplicación en redundancia (cada uno de ellos con 4GB de RAM) y un servidor de históricos (con otros 4GB de RAM), el host físico debería tener como mínimo 16GB de RAM para poder ejecutar tres máquinas virtuales a las que se les asocie como mínimo la misma capacidad de memoria principal.

¿Por qué se virtualiza entonces? Principalmente porque aunque el coste de adquisición es en principio más elevado, el coste de propiedad (Total Cost of Ownership) puede llegar a reducirse si se realiza una correcta gestión del entorno virtualizado. Es decir, las ventajas que proporciona la virtualización como reducir el número de infraestructura hardware (y por tanto el coste de mantenimiento del host físico), la facilidad para replicar máquinas (reduciendo el coste de puesta en marcha de proyectos en los que la infraestructura hardware sea parecida) o la flexibilidad para llevar a cabo estrategias de estandarización y homogenización, hacen que los costes de mantenimiento en general se reduzcan drásticamente, contrayendo así el coste de propiedad de los sistemas de información desplegados en una organización.

¿Qué es HTML5?


¿Qué es HTML5?
HTML 5 es una agrupación de diversas especificaciones relacionadas con el desarrollo de entornos web. No se trata por tanto de una mera evolución de HTML4, limitándose a crear nuevas etiquetas, atributos y eliminar aquellas marcas que están en desuso, sino que HTML5 cambia los paradigmas de desarrollo y diseño web al permitir la publicación de archivos de audio y video con soportes de distintos codecs, introduce canvas para que los usuarios dibujen contenidos en 2D y 3D, facilita la introducción de datos en  formularios y aprovecha todas las ventajas de la web semántica.
Entre las especificaciones que agrupa se encuentran HTML 4, XHTML 1, CSS Nivel 2 y DOM Nivel 2.

¿Por qué surge?
La mayoría de los contenidos que se visualizan en los navegadores están hechos en HTML. Sin embargo, este lenguaje fue limitado a textos e imágenes estáticas. Para paliar esto, Adobe desarrolla la tecnología Flash de manera que los contenidos pudieran ser dinámicos e interactivos. HTML5 quiere ser una alternativa a la tecnología Flash.

¿HTML5 & Flash?
Cuatro puntos a tener en cuenta.

1. COSTE DE DESARROLLO
  • Desarrollo Flash: El Adobe Flash Player es gratuito pero las herramientas para desarrollar los contenidos tienen un coste elevado.
  • Desarrollo HTML5: lectura y herramientas desarrollo gratuitas.
2. FUNCIONALIDAD:
  • Flash: más completo.
  • HTML5: permite menos efectos.
3. ACCESIBILIDAD:
  • Flash: bloqueado en algunos equipos móviles como los de Apple y necesita softwares especiales para que funcione en otros.
  • HTML5: se ejecuta en el navegador, por lo que es un estandar universal.
4. RENDIMIENTO:
  • Flash: similar
  • HTML5: similar
¿Qué ventajas proporciona?
  1. La introducción de la hoja de estilo CSS3 que permite más posibilidades de personalización del formato y look&feel de la página web.
  2. La posibilidad de acceder a contenido multimedia (reproducción de audio y video) sin necesidad de instalar plug-ins
  3. La introducción de bases de datos locales de manera que se reduzcan los tiempos de acceso a consultas. HTML5 permite almacenar y procesar información en el cliente, convirtiendo a una aplicación web en una aplicación mucho más parecida a una de escritorio.
  4. El desarrollo de ciertas funcionalidades que sólo podían llevarse a cabo incluyendo imágenes, sustituyendo estas por código. Esto permite una mejora en la velocidad de acceso y carga de la página.
  5. La posibilidad de geolocalizar los sitios web, de manera que puede saberse la ubicación física de la persona que lo visita.
  6. La posibilidad de incorporar tipografías no estándar.
  7. La introducción de funcionalidades que permitan el “drag & drop” en entornos web.