Tipos de hipervisor

Ya hemos hablado en entradas anteriores del concepto de virtualización. En entornos industriales cada vez es más frecuente la utilización de la virtualización del hardware, es decir, la utilización de máquinas virtuales. Estas máquinas se basan siempre en un hipervisor, o monitor de máquina virtual, que hace de intermediario entre el hardware de la máquina host y el sistema operativo invitado (guest) instalado sobre la máquina virtual. Es decir, que permita el acceso de este sistema operativo guest al procesador, la memoria, el almacenamiento y la red reales.

Existen dos tipos diferentes de hipervisores:
  • Tipo I (unhosted, bare metal o nativo): Se instala directamente sobre el hardware de la máquina host, sin necesidad de que ésta incorpore un sistema operativo. De esta manera, el sistema operativo guest pasa directamente del hipervisor al hardware físico.
  • Tipo II (hosted): Necesita que la máquina host lleve instalado un sistema operativo, de manera que el sistema operativo guest tiene que pasar por el hipervisor y por él antes de llegar al hardware físico.
Al primer tipo corresponden hipervisores como VMware ESX (versiones gratuitas y de pago), Xen (gratuito y tremendamente extendido en entornos Cloud) ó Microsoft HyperV (de pago) Al segundo tipo corresponden QEMU (gratuito y muy utilizado con fines didácticos por su sencillez), Oracle VirtualBox (gratuito),  VMware Workstation (de pago) ó Microsoft Virtual PC y Virtual Server (ambos gratuitos).

En teoría la utilización de hipervisores de Tipo I permite obtener configuraciones con un rendimiento mayor (al reducir las capas intermedias entre el sistema operativo guest y el hardware real) y de una mayor robustez (por no depender de un sistema operativo host). Pero en la mayor parte de los casos se opta por los hipervisores de tipo II dada su facilidad de instalación y configuración y sus garantías de acceso al hardware físico (a través del sistema operativo host).

En los últimos años se habla también de paravirtualización o full-virtualization, que son términos que se refieren al soporte hardware que los fabricantes de procesadores están proporcionando a las técnicas de virtualización. En estos casos lo que se persigue es que la traducción que el hipervisor hace habitualmente de las llamadas del sistema operativo guest al hardware y de las respuestas de este harwdare, se pueda realizar parcial o totalmente desde el propio hardware (por lo tanto, de una manera mucho más eficiente). En futuras entradas hablaremos de las tecnologías AMD-V e Intel VT-x que los dos grandes fabricantes de procesadores han propuesto para facilitar la virtualización de sus arquitecturas x86.

Servidores tipo Blade



La mayor parte de sistemas HPC (High Performance Computing) actuales se basan en el concepto de Blade, que al contrario de lo que habitualmente se cree, no pertenece a un fabricante concreto ni implica un modelo de arquitectura concreto.

Un Blade es una placa base que incorpora procesadores, memoria y buses de E/S. Pero no alimentación, dispositivos de red o de almacenamiento o mecanismos de refrigeración. Por lo tanto, un servidor Blade por si mismo no se puede utilizar. Es necesario que vaya montado en un rack o chasis que incorpore estos componentes esenciales. En cada chasis se insertan varios Blades que los comparten, depende del fabricante, pero se suelen "empaquetar" en conjuntos de entre 8 y 16 por chasis.

Existen Blades de propósito general y Blades de función específica (sólo memoria, sólo almacenamiento, sólo red, sólo conectores de E/S), se suele encontrar de los dos tipos dentro de cada chasis. La ventaja es que al tratarse de placas y chasis con dimensiones estándar, cada usuario puede construirse su propia configuración en función de sus necesidades.

Este tipo de organización ha permitido la reducción del espacio que ocupa el sistema, la minimización del consumo de potencia y la sencillez en el montaje y administración de los servidores (cableado y refrigeración, modificaciones en caliente, reducción de componentes mecánicos y por tanto mayor tolerancia a fallos), etc. Por eso suele encontrarse habitualmente en la mayor parte de centros de cómputo y CPDs actuales.

Sistema para telecontrol de vertidos en la Isla de la Cartuja

Alfonso López Escobar, Jefe de Automatización y Control y José Manuel Barrera Cuadra, Técnico de Automatización de Control, ambos de la Empresa Metropolitana de Abastecimiento y Saneamiento de Aguas de Sevilla (EMASESA) han escrito este artículo que lleva por título "Sistema para telecontrol de vertidos en la Isla de La Cartuja".

Para dar respuesta a lo establecido en el Reglamento de la Calidad de las Aguas Litorales, así como en el Real Decreto 334/1994 por el que se regula el procedimiento para la tramitación de las autorizaciones de vertidos, en el año 2007 se elaboró por el Departamento de Control y Servicios Técnicos de EMASESA, un proyecto cuyo resultado debía ser un sistema para supervisión y registro histórico de los parámetros fundamentales de calidad del vertido al río en cuatro puntos de la Isla de la Cartuja, en Sevilla Capital.

En este enlace podéis encontrar el artículo completo.

Wonderware Intelligence 1.5

Wonderware Intelligence 1.5 es la solución desarrollada por Wonderware que permite estandarizar y homogenizar procesos de extracción, carga, transformación, contextualización y análisis de datos. El enfoque de esta solución está basado en el concepto Business Intelligence (BI) que a continuación se describe.

Actualmente existe un gran número de aplicaciones individuales y aisladas (desarrollos a medida, aplicaciones comerciales, soluciones mixtas) que se ejecutan en diferentes servidores, tienen diferentes fuentes de datos y utilizan diferentes formatos de información, distribuidas geográficamente y con diferentes propietarios.

En estos entornos, es deseable una capa de integración que permita un intercambio de información fiable entre todas estas aplicaciones heterogéneas y la compartición de funciones y procesos entre ellas de una manera completamente interoperable.

A partir de un estilo de integración de BBDD compartida, puede definirse Business Intelligence como el conjunto de herramientas, aplicaciones, tecnologías, soluciones y procesos que permiten a diferentes usuarios acceder a información valiosa para la toma de decisiones proveniente de distintas fuentes de datos.

Partiendo de esta definición surge la adaptación realizada por Wonderware que acuña el concepto Low Latency Data Intelligence (LLDI) y que a su vez se define como el conjunto de herramientas, aplicaciones, tecnologías, soluciones y procesos que permiten a diferentes usuarios acceder a información valiosa para la toma de decisiones proveniente de datos asociados a entornos industriales y/o infraestructuras que son gestionados con sistemas tipo SCADA, BMS, DCS, HMI…y otros datos de carácter transaccional. Puede observarse que uno de los factores diferenciales del enfoque LLDI es que tradicionalmente los proveedores de soluciones BI sólo consolidan datos de BBDD transaccionales, obviando la información que generan los sistemas de información asociados a entornos industriales o infraestructuras.

Las soluciones LLDI se desarrollan partiendo de procesos ETL (Extract, Transform and Load).

El proceso de extracción consiste en comunicar con diferentes fuentes de datos y la capacidad de leer la información contenida en dichas fuentes. Estas fuentes pueden ser BBDD transaccionales tipo SQL y Oracle, BBDD asociadas a entornos industriales (Historian, PI, etc..), servidores OPC o ficheros planos (.txt o .csv).

El proceso de transformación consiste en contextualizar la información bruta recogida de las distintas fuentes de datos.

Por último, el proceso de carga consiste en almacenar toda esta información ya contextualizada en un repositorio centralizado que normalmente recibe el nombre de Datawarehouse. Asociado a este repositorio suelen vincularse otras bases de datos. Una BBDD en la que se recogen los datos de configuración y metadatos y otras BBDD que son pequeñas réplicas del Datawarehouse central que reciben el nombre de Datamart.

Se puede convenir que asociado a estos procesos ETL, existe un proceso de explotación de la información. Es decir, una vez que los datos están contextualizados, almacenados y disponibles en el Datawarehouse, existen herramientas que permiten explotar dicha información. Esta explotación permite realizar minería de datos (Data Mining), visualizar los principales indicadores de gestión (KPI) y definir informes predefinidos.

Es necesario precisar, que más del 80% del esfuerzo que requiere el desarrollo de una solución LLDI se concentra en la realización de los procesos ETL y no tanto en la configuración o parametrización de las herramientas vinculadas a la explotación de la información.

A partir de los conceptos antes nombrados, Wonderware Intelligence 1.5 permite abordar tanto los procesos ETL como los de explotación de la información con soluciones estándares, fácilmente parametrizables y permitiendo un aproximación escalonada.

Para desarrollar los procesos ETL, Wonderware Intelligence 1.5 proporciona tres plantillas de objetos que se integran de forma natural en el entorno de desarrollo de System Platform, el Integrated Development Studio (IDE) e incorpora una BBDD predefinida basada en SQL donde se almacenan todos los datos contextualizados (que recibe el nombre de Intelligence) que cubre el proceso de carga (Load). Estas plantillas de objetos son:

$Data Sources (que permiten los procesos Extract): son interfaces con diferentes fuentes de datos (Historian, SQL Server, Oracle, Access, Text (CSV), OSIsoft PI Server...)

$Measures (que permiten los procesos Transform): las medidas son valores numéricos que representan consumos, hechos, transacciones. Ejemplo: litros depurados; litros desalados; litros decantados; Kw consumidos…

$Dimension (que permite los procesos Transform): las dimensiones son variables que permiten contextualizar las medidas. Ejemplo: turno, equipo, producto…

Es decir la información puede proporcionarse de forma NO CONTEXTUALIZADA. Ejemplo: 10.000 litros de agua desalados (sólo con la medida), o
bien puede proporcionarse de forma CONTEXTUALIZADA. Ejemplo: 10.000 litros de agua desalados, el día 28 de febrero, durante el turno de mañana, con el equipo de personas 3, utilizando los filtros de arena 1 y 3 y consumiendo 30.000 Kwh.

Wonderware Intelligence proporciona el entorno de desarrollo que permite integrar información de diferentes fuentes de datos, definir las medidas y contextualizarlas a través de diferentes dimensiones.

Adicionalmente, para realizar los procesos de explotación de la información, Wonderware Intelligence 1.5 incluye herramientas de reporting basadas en la solución Tableu Software. En cualquier caso es preciso matizar que la información contextualizada que está recogida en la base de datos Intelligence puede ser explota con cualquier otra herramienta de explotación de información (tipo Click View, Cognos, Microstrategy...), ya que se trata de una BBDD SQL accesible vía ODBC y OLE DB.

Se puede concluir que las principales funcionalidades de Wonderware Intelligence 1.5 son las siguientes:

  • Crea información contextualizada en tiempo real a partir de datos de diferentes fuentes.
  • Permite estandarizar y homogenizar procesos de integración de datos.
  • Facilita el desarrollo de cuadros de mando sin necesidad de programación.
  • Combina información en tiempo real e información transaccional.
  • Utiliza un único entorno de desarrollo para gestionar ambos tipos de información.

En este link puede accederse a un vídeo en el que se muestra la parametrización de las fuentes de datos, medidas y dimensiones desde la solución Wonderware Intelligence 1.5, así como la posterior explotación de la información a través de las soluciones que proporciona Tableu Software.



SOA en entornos industriales (y II)

Volviendo a los entornos industriales, la pregunta que surge es la siguiente: ¿Tiene sentido incluir una capa de integración SOA que de forma estándar permitiera integrar y comunicar todos los dispositivos y sistemas para facilitar la gestión de entornos industriales?

La respuesta es afirmativa. De hecho ya existen varias iniciativas que corroboran la idoneidad de este planteamiento (SIRENA, SODA, SOCRADES, VINNOVA...) de las que hablaremos en futuras entradas.

En esta, resumimos y relacionamos los principales beneficios que se han obtenido al orientar el desarrollo de aplicaciones a servicios o a integrar diferentes sistemas a través de una arquitectura orientada a servicios.

  1. Se facilita la integración de todos los dispositivos y sistemas ya que han sido desarrollados bajo una arquitectura SOA. En este sentido se puede hablar de una integración horizontal (entre dispositivos y sistemas existentes al mismo nivel, como entre dos PLC o dos SCADA) y una integración vertical (entre dispositivos y sistemas existentes a diferente nivel, como entre un SCADA y un ERP). En caso de que las aplicaciones no hayan sido desarrollados bajo SOA, la práctica común consiste en desarrollar un "envoltorio" basado en Web Services para estas aplicaciones monolíticas que puedan ofrecer sus datos como servicios y ser accesibles por otras aplicaciones.
  2. Se proporciona una nueva generación de dispositivos y sistemas industriales “Plug&Play” en los que la integración sea una funcionalidad natural asociada a estos y en los que los cambios de configuración, parametrización y mantenimiento se realicen en tiempo real con alta disponibilidad de los sistemas.
  3. Se reducen los costes de integración entre sistemas transaccionales y sistemas tiempo real.

Por último, en esta imagen (extraida del artículo "Towards an Architecture for Service-Oriented Process Monitoring and Control") se puede observar cómo la incorporación de un capa de servicios sobre todos los dispositivos y aplicaciones asociados al entorno industrial permite que todos ellos puedan integrarse fácilmente.

SOA en entornos industriales (I)

Los entornos industriales se caracterizan por la complejidad de los procesos de fabricación, por la heterogeneidad de dispositivos de campo instalados (PCL, RTU, Controladores), por la diversidad de sistemas de información implantados (SCADA, MES, LIMS) y por la escasa integración existente entre los diferentes sistemas.

La existencia de islas de información y del desaprovechamiento de los datos generados por todos estos sistemas para la toma de decisiones es una realidad asociada a la gestión industrial.

En el ámbito de los sistemas transaccionales (ERP, CRM, SCM...), también existía este problema, pero la inclusión de arquitecturas SOA ha permitido resolver buena parte de las barreras que se encontraban para realizar proyectos de integración de aplicaciones.

El concepto de SOA ha sido tratado previamente en anteriores entradas.

http://redindustria.blogspot.com/2008/09/qu-es-soa-i.html

http://redindustria.blogspot.com/2008/09/qu-es-soa-ii.html

http://redindustria.blogspot.com/2008/09/qu-es-soa-y-iii.html

De todas ellas podemos extraer las siguientes ideas principales:

  • Service Oriented Architecture (SOA), es una nueva filosofía de diseño de aplicaciones que propone una alternativa a las tradicionales aplicaciones de negocio monolíticas basadas en objetos.
  • SOA propone que los procesos de negocio no se traduzcan en aplicaciones clásicas (desarrolladas con códigos difícilmente integrables y reutilizables), sino que éstos llamen a los servicios que necesitan para obtener resultados.
  • Los servicios deben estar débilmente acoplados y ser altamente interoperables, por lo que son muy importantes los protocolos que definen formalmente estos servicios y que permiten la comunicación con ellos y entre ellos.
  • Los estándares que han estado relacionados con SOA desde los comienzos han sido XML, SOAP y WSDL. Es decir, los que proporcionan la base para los Web Services. La definición más extendida de un Web Service es "función pública, encapsulada y débilmente acoplada ofrecida a través de protocolos estándar".
  • Por tanto, los Web Services son componentes accesibles desde diferentes aplicaciones, y que al estar basados en protocolos estándares, facilitan mucho la reutilización.

Pervasive Computing

Con esta denominación se conoce al modelo o paradigma de computación que pretende que todos los objetos y dispositivos de nuestra vida cotidiana incorporen algún tipo de procesador que les permita interactuar con nosotros para hacernos la vida "más cómoda". En castellano se suele utilizar el término computación ubicua (ubiquitous computing), aunque últimamente se habla mucho también de la inteligencia ambiental.

La integración de los procesadores (y de los sensores y actuadores que les permiten interactuar con su entornos) con el ambiente debe ser de un grado tan alto que los humanos prácticamente no percibamos su presencia y demos las órdenes y recibamos la información de una manera natural y transparente (la idea es que no seamos conscientes de estar rodeados por sistemas informáticos). Si se puede plantear este modelo de computación en la actualidad es gracias a, por un lado, el abaratamiento de los procesadores más sencillos, y por otro, la mejora en algunas de sus características como pueden ser la movilidad y autonomía (reducción en el consumo de potencia), el tamaño o la robustez. También han sido muy importantes las mejoras en redes de comunicaciones, que permiten el direccionamiento e interconexión de manera segura de dispositivos completamente heterogéneos en lo que se ha denominado Internet Of Things.

Las aplicaciones de este tipo de tecnología son prácticamente infinitas (casi todas ya exploradas en las películas de ciencia ficción...) y se ha comenzado por incorporarlas en ropa, electrodomésticos, aplicaciones domóticas y de SmartCity, etc. En futuras entradas hablaremos de las tecnologías asociadas a todos estos conceptos.