Cloud Computing en entornos industriales. SCADA as a Service


Los conceptos y tecnologías asociados al paradigma Cloud Computing se encuentran cada vez más arraigados en la implantación y despliegue de sistemas de información. En el ámbito industrial su introducción está siendo más lenta, pero las tendencias indican que el modelo Cloud Computing se extenderá en breve a todos los entornos tecnológicos, incluido el nuestro.

Es por ello que creímos conveniente realizar un seminario sobre Cloud Computing en el que se proporcionara una visión general de los conceptos tecnológicos y de negocio asociados a los sistemas Cloud y su aplicación en entornos de gestión en tiempo real, en concreto en entornos de tipo industrial. 

A este seminario acudieron diferentes integradores, entre los que se encontraban Acisa, CMC, ElecpaFCC IndustrialNucleo y Sampol

Durante la última parte del seminario analizamos que el desarrollo de proyectos SCADA lleva asociadas una serie de características que deben considerarse a la hora de decidir la forma de realizar un proyecto utilizando para ello:
  • Un entorno tradicional "in house" con soluciones a medida, utilizando productos de una software factory o desarrollando sobre plataformas de código libre.
  • Un entorno Cloud.

Las características principales que analizamos fueron:
  • El cumplimiento de latencias.
  • La fiabilidad del sistema, entendiendo como fiabilidad el grado de determinismo de la solución.
  • La disponibilidad de la plataforma hardware sobre la que se despliega el proyecto.
  • La disponibilidad de la red de comunicaciones.
  • La gestión de entornos distribuidos.
  • La gestión de eventos.
  • La gestión de grandes volúmenes de información.
  • La utilización de protocolos específicos del sector industrial y de infraestructuras.
  • La seguridad de los sistemas.
  • La integración con otros tipos de sistemas tiempo real o transaccionales.

A continuación debatimos acerca de qué características pueden gestionarse de manera más eficiente dependiendo del entorno utilizado (tradicional&Cloud). En general hubo consenso en determinar que:
  • El cumplimiento de latencias, la fiabilidad del sistema, la disponibilidad de la red de comunicaciones, los protocolos específicos y la integración con otros sistemas se resuelven mejor utilizando un entorno tradicional. Aunque en este último caso hay que considerar que el paso a soluciones Cloud implica cierto grado de estandarización (servicios web, virtualización, etc) que puede favorecer esta integración.
  • Mientras que la disponibilidad de la plataforma hardware, la gestión de entornos distribuidos y la gestión de grandes volúmenes de información son características que en un entorno Cloud, se gestionarían mejor.
  • La seguridad fue la característica que más debate levantó. De hecho no llegamos a ninguna conclusión consensuada por la disparidad de opiniones que se expresaron. Algunos de los integradores comentaron que un entorno Cloud les parece más seguro ya que la inversión en seguridad informática para los sistemas locales por parte de las empresas es muy escasa. Otros sin embargo, mantenían que el hecho de tener el sistema de forma propietaria facilita la gestión de la seguridad si ésta se lleva a cabo. 

En la siguiente figura hemos resumido las ideas arriba expuestas.



A la conclusión que llegamos es que sigue habiendo mucha desconfianza por parte de los clientes a la hora de "perder el control" de sus sistemas core y por ende, de utilizar sistemas tipo Cloud en el ámbito industrial. Después de analizar diferentes posibilidades de despliegue e integración, parece que todos los integradores coincidieron en que la introducción de soluciones híbridas en las que se mantenga el núcleo del SCADA tradicional en sistemas propietarios de los clientes, pero complementado con soluciones en la nube de Real Time Information as a Service, Analytics as a Service, Historian as a Service, etc; parece un primer paso que aporta valor y diferenciación  y que permite familiarizar poco a poco a los clientes con el nuevo paradigma.


¿Qué es MapReduce?


Ya hemos hablado en entradas anteriores de las aplicaciones de Big Data. Este tipo de aplicaciones suelen explotar el paralelismo de datos, de manera que diferentes núcleos de procesador, procesadores o nodos de cómputo (dependiendo de la arquitectura que haya por debajo) realicen las mismas tareas sobre conjuntos de datos diferentes para producir un resultado en el menor tiempo posible,

MapReduce es un framework o entorno de desarrollo (pensado para lenguaje C inicialmente, aunque luego se han implementado versiones para otros lenguajes como Java) que permite trabajar en paralelo con grandes cantidades de datos en sistemas de memoria distribuida (clusters, sistemas Grid y entornos Cloud).

Con este entorno tanto los datos de entrada como los de salida (los resultados) se almacenan en ficheros, así como todos los resultados intermedios que se produzcan. Se basa en el modelo maestro/esclavo, de manera que uno de los nodos de cómputo lleve el control del programa y vaya enviando trabajo al resto de los nodos (los esclavos) según vayan quedando libres. Se ofrecen dos interfaces a los programas de usuario: el de Map y  el de Reduce. El interfaz Map mapea los datos iniciales que aparecen en el fichero de entrada a pares clave/valor intermedios con los que sea más fácil trabajar. Después de ordenar, agrupar, filtrar, etc; estos pares con interfaces internos, el interfaz Reduce, reduce de alguna forma los pares intermedios a un conjunto de datos menor que el inicial en el que se agrupan los que comparten la misma clave. El ejemplo típico es el de la cuenta de palabras (está extraído de este enlace).



MapReduce nos facilita las siguientes tareas:
  • Particionamiento de datos y de cómputo.
  • Tratamiento de ficheros de entrada y de salida.
  • Sincronización (hasta que todos los esclavos no terminan de hacer el Map, no se comienza con las tareas de Reduce).
  • Comunicación (que se realiza mediante RPC).
  • Sort y Group (interfaces internos para trabajar en paralelo con los grandes conjuntos de datos).
  • Map y Reduce (interfaces externos disponibles para los programas de usuario).

En futuras entradas hablaremos de las implementaciones que existen de este framework en la actualidad y haremos una comparativa entre ellas.

NoSQL


Con este término nos referimos a sistemas de gestión de bases de datos que no utilizan el lenguaje de consultas SQL ya que la información, a diferencia de en los sistemas relacionales clásicos se almacena de manera estructurada pero no obligatoriamente en forma de tablas (existen bases de datos de documentos, de objetos, de pares clave-valor, aunque también las hay tabulares).

Las bases de datos NoSQL no suelen garantizar completamente las propiedades ACID (atomicidad, coherencia, aislamiento y durabilidad), pero presentan la ventaja de estar muy optimizadas para realizar las operaciones de recuperar y agregar información en tiempo real, son altamente escalables y el tiempo de proceso no es un cuello de botella ni siquiera manejando grandes cantidades de datos.

Esto ha hecho que en entornos de Big Data (de los que ya hemos hablado en entradas anteriores) se haya optado en muchos casos por estos tipos de bases de datos, ya que las tres Vs (velocidad, volumen y variedad) hacen que el modelo de datos típico en estos entornos pueda aprovechar a la perfección estas características.

Tanto las grandes compañías del mundo de las redes sociales (Twitter y Facebook) como otras grandes de Internet (como Google o Amazon) han optado por este tipo de bases de datos para algunas de sus aplicaciones. E incluso en algunos casos, han diseñado sus propios sistemas de gestión. Hablaremos de alguno de ellos en futuras entradas.

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.

3PL y 4PL

Estas siglas se corresponden con Third Party Logistics y Fourth Party Logistics respectivamente, y el concepto que hay detrás es el de la externalización de los procesos logísticos de una compañía.
Si comenzamos por el término 3PL, este modelo se puede asociar directamente al de contratación de un operador logístico (un único operador, es decir, estrategia de Sole Sourcing) para el almacenaje, transporte y distribución de mercancías por poner sólo algunos ejemplos de los procesos típicos que se externalizan con este tipo de compañías. Normalmente se crea una nueva figura dentro de la organización, el Chief Resources Officer (CRO) cuyo trabajo consiste en gestionar el outsourcing en lugar de gestionar procesos logísticos propios.
Las ventajas de este tipo de modelo se pueden resumir en competitividad en costes, menor inversión que con logística propia (en muchos casos), posibilidad de presencia global y sin barreras geográficas e idiomáticas, propuesta de valor añadido para los clientes y obtención del respaldo de un especialista en logística. Por otro lado, las desventajas son las mismas que en casi todos los procesos de externalización: pérdida de control y riesgo de cautividad.
En la mayor parte del mundo este tipo de modelo ha sido ampliamente adoptado por las organizaciones que realizan actividades de comercio electrónico. Sin embargo, en el informe especial publicado recientemente por la consultora DBK, un estudio realizado a partir de 150 entrevistas con empresas españolas que hacen comercio electrónico se muestra que sólo el 4% tienen externalizada la gestión a operadores logísticos de este tipo.
Si el modelo 3PL es la asignatura pendiente, más lo es de momento el 4PL. El objetivo de 4PL es externalizar la cadena de suministro desde un punto de vista operativo, táctico y estratégico. Es decir, desde el transporte hasta la administración de indicadores, pasando por el almacenaje y la gestión de inventarios, pero también por el diseño de los procesos y la estrategia tecnológica. El 4PL es un integrador de la cadena de suministro: aconseja, diseña, construye y ejecuta soluciones globales.
El 4PL combina las capacidades de los 3PLs, de los proveedores de servicios tecnológicos y de los gestores de procesos de negocio. Tradicionalmente, los 3PLs se han centrado sólo en la parte operativa, y las consultoras en la parta estratégica. Y aquí ha surgido la polémica en los últimos tiempos, ¿quién debe asumir el papel de 4PL? ¿Un operador logístico que añada la parte de consultoría estratégica? ¿O una consultora que adopte también el papel de operador? 

Nuevo postgrado en la UCJC

El curso próximo esperamos poder colaborar activamente con este nuevo postgrado oficial que se abre en la Universidad Camilo José Cela. Se trata del Máster en Métodos y Técnicas para la Optimización y Mejora de la Cadena del Suministro.
Tenéis toda la información en el siguiente enlace, y si os queda alguna duda, os podéis poner en contacto cono nosotros o con el director del máster, Ramón García (rgarcia@ucjc.edu).

http://www.ucjc.edu/index.php?section=estudios/titulaciones/masters-posgrados/metodos-mejora-cadena-suministro

¿Que es un DSS?

Estas son las siglas de Decision Support System, es decir, se trata de un sistema de apoyo a la decisión. Este tipo de sistema es cualquier sistema informático que apoye a los procesos de toma de decisiones en los diferentes niveles de una organización (estratégico, táctico u operativo). 
Normalmente un DSS presenta, mediante algún tipo de interfaz gráfico, datos, información y conocimiento relacionados con la decisión que debe tomarse para que el responsable de la misma pueda tomarla de manera rápida y eficiente, y teniendo en cuenta información precisa, actualizada y completa (algo que no podría hacer confiando exclusivamente en sus capacidades personales).
Los entornos de decisión en ámbitos financieros, empresariales, industriales, de defensa y seguridad o sanitarios, por poner sólo algunos ejemplos, son cada vez más complejos. Esto implica, que aunque la decisión final siempre sea responsabilidad de una persona (o de un grupo de ellas), sería imposible que tuviera en cuenta todos los criterios y alternativas posibles sin la ayuda de un sistema de este tipo.
Además del interfaz ya mencionado, estos sistemas suelen incluir también, en casi todos los casos, algún tipo de base de datos con los modelos, datos, documentos, etc; que se utilizan para ayudar en la toma de decisiones.
Algunos de los principales retos que el diseño e implementación de este tipo de sistemas presentan hoy en día son:
  • Utilizar simuladores para que se puedan realizar análisis "what-if" para la toma de decisiones. Las técnicas de simulación distribuida permiten que en la actualidad este tipo de análisis puedan realizarse en tiempo real y por lo tanto, que se puedan evaluar los posibles resultados y consecuencias de las decisiones antes de tomarlas.
  • Mejorar los entornos colaborativos en los casos en los que las decisiones se toman en grupo y no dependen exclusivamente de un único responsable.
  • Incorporar técnicas relacionadas con Business Intelligence, Big Data, analítica web, inteligencia artificial, etc; para incrementar el número de variables que pueden tenerse en cuenta en la toma de decisiones y mejorar así su calidad.

OIP y la gestión en tiempo real

Ya hemos hablado en entradas anteriores del concepto de Zero Latency Enterprise (ZLE) y de la importancia que la combinación de las soluciones SOA y BPM tienen para alcanzar el objetivo de la gestión en tiempo real de una compañía.
OIP (Optimized Interactive Process) es un nuevo concepto, que añade a BPM una serie de características y funcionalidades que lo hacen todavía más interesante en este tipo de escenarios. Se trata de incluir en las soluciones los nuevos mecanismos y dispositivos de comunicación (dispositivos móviles y redes sociales, sobre todo), y en gran medida, de dotar a los procesos de conocimiento del entorno (context-aware processes) mediante la utilización de todo tipo de sensores (cada vez más importantes y extendidos en el contexo de Internet Of Things), de tecnologías como GPS y de plataformas de coordinación, colaboración y compartición que permitan un mejor aprovechamiento de los recursos físicos, humanos y de información que se encuentran a disposición de la compañía.
Como hemos discutido en muchas ocasiones en este blog,  ZLE implica que la empresa ha minimizado la latencia de sus operaciones de manera que los eventos relacionados con cualquier factor que afecte a la compañía inmediatamente desencadenan las acciones oportunas de las personas responsables. Y el concepto de OIP encaja perfectamente con este modelo de gestión, ya que, como su propio nombre indica, hace hincapié en la optimización de los procesos mediante la mejora de sus capacidades de interacción con los usuarios y con el entorno. Se puede simplificar diciendo que OIP es el resultado de combinar el BPM tradicional con plataformas de tipo UCC (Unified Communications and Collaboration), y esta combinación es muy ventajosa en el marco de trabajo actual de muchas organizaciones.

Jornadas de Computación Empotrada (JCE)


Las JCE son un foro de debate y cooperación entre investigadores y expertos en sistemas empotrados, que comenzaron en el año 2010 en el marco del CEDI. Este año se celebrarán en Elche, del 19 al 21 de septiembre, conjuntamente con las Jornadas de Paralelismo y las Jornadas de Computación Reconfigurable y Aplicaciones, en el contexto de las Jornadas SARTECO 2012 (http://www.jornadassarteco.org).

Como en las ediciones anteriores, los mejores trabajos serán seleccionados para su publicación, en versión extendida y en inglés, en la revista Embedded Software Design (Journal of Systems Architecture) de Elsevier, indexada en el JCR (con factor de impacto).

La fecha límite de envío de trabajos es el 27 de Abril y los temas de interés:
  • Arquitecturas y Diseños de Referencia en Computación Empotrada:
    Plataformas, procesadores y dispositivos de propósito específico.
    Firmware y sistemas operativos en tiempo real.
    Sistemas multi-core, multi-hebra.
    Seguridad y confiabilidad en sistemas empotrados.
    Sistemas críticos y de tiempo real.
    Linux, Android y plataformas de código abierto.
  • Conectividad de Sistemas Empotrados
    Middleware.
    Calidad del servicio y análisis de prestaciones.
    Virtualización.
    Sistemas distribuidos, redes de sensores y comunicaciones.
    Gestión compleja de datos.
    Captura dinámica de sensores.
    Tecnologías de Servicios: Servicios pervasivos de localización.
    Interfaces al usuario y realidad aumentada.
    Sistemas vestibles y computación ubícua.
    Internet de las cosas.
  • Diseño de Sistemas Empotrados
    Métodos y Herramientas.
    Depuración, verificación, integración y test de sistemas.
    Líneas de productos.
    Certificación.
    Optimización del consumo energético.
  •  Computación Empotrada: Aplicaciones y Retos de la Sociedad
    Automatización y control avanzado.
    Robótica y mecatrónica.
    Consumer electronics (multimedia, entretenimiento, comunicaciones, etc).
    Aplicaciones críticas (aeroespaciales, militares, industriales, médicas, automoción, etc).
    Salud y bienestar accesible.
    Transporte verde seguro y funcional.
    Aplicaciones Medioambientales, en Agricultura o Ganadería.
    Edificios inteligentes y comunidades del futuro (Smart Bulding, Smart City y Smart Grid).
    Educación universitaria.



Innovación tecnológica e I+D

Existen distintas definiciones de innovación tecnológica:
  1. Acto o proceso consistente en aceptar o en casar por primera vez, en un país o ámbito espacial preciso, una nueva oportunidad tecnológica con una necesidad o, en su caso, con una demanda a ser cubierta.
  2. Proceso que posibilita la producción de nuevos bienes y servicios aplicando las últimas técnicas conocidas. Este proceso comprende el desarrollo y comercialización con éxito de nuevos o mejorados productos; la utilización comercial de nuevos procesos y equipos y la introducción de nuevos métodos de servicio social.
  3. Introducción de alguna modificación de tipo técnico que incremente la eficacia del proceso productivo.
  4. Proceso por el cual se introducen en el sistema productivo nuevas combinaciones de los factores de producción que permiten disponer de un nuevo producto o producir uno ya existente con un menor coste.
  5. Producto o proceso enteramente nuevos, o sustancialmente mejorados técnicamente, que se ofrecen a usuarios potenciales.

A partir de estas, se puede concluir que la innovación tecnológica es aquella que resulta de la primera aplicación de los conocimientos científicos y técnicos en la solución de los problemas que se plantean a los diversos sectores productivos, y que origina cambio en los productos, en los servicios o en la propia empresa en general, introduciendo nuevos productos procesos o servicios basados en nueva tecnología

En ocasiones se confunden los conceptos de innovación tecnológica e I+D. La Invetigación + Desarrollo se define como el mecanismo generador de aquellas tecnologías y conocimientos propios con las que la empresa pretende potenciar o desarrollar sus productos, procesos y servicios.

Esta definición remarca el carácter interno de la I+D y su menor alcance con respecto a la innovación tecnológica que incluye:
  • La Investigación y Desarrollo (I+D)
  • La adquisición de tecnología externa (patentes, know-how, marcas, diseños…)
  • La compra e implantación de paquetes de software
  • La adquisición de maquinaria y equipos con rendimiento tecnológicamente mejorado
  • La puesta a punto de herramientas y equipos industriales
  • La ingeniería de procesos y diseño industrial
  • La formación del personal
  • Mejora de la experiencia del consumidor

De hecho se habla de I+D+i (Investigación + Desarrollo + innovación)

Procesadores Itanium

Ya hemos comentado en entradas anteriores que los procesadores que podemos encontrar hoy en día en los PCs, portátiles y servidores, están diseñados para ejecutar instrucciones del repertorio x86 (que es CISC, aunque luego el front-end de los procesadores traduzca las instrucciones a microoperaciones de tipo RISC). Este es el estándar de facto en el que los dos grandes fabricantes de este segmento de mercado, Intel y AMD, basan todos sus diseños. O casi todos, porque Intel lanzó hace ya unos años un procesador que se basa en otro tipo de repertorio: el procesador Itanium diseñado para ejecutar instrucciones del repertorio IA-64.

Algunos habéis preguntado en ocasiones por este tipo de procesador ya que es relativamente habitual en  servidores críticos tanto en industria como en infraestructuras (en concreto del fabricante HP), así que intentaré explicar en qué se diferencia del resto de procesadores en pocas palabras. El Itanium es un procesador de tipo EPIC (Explicitly Parallel Instruction Computing) y en este tipo de diseños la relación entre el compilador y el hardware es mucho más estrecha de los habitual. Simplificando un poco, la idea es descargar al procesador de ciertas "responsabilidades" de manera que se encargue de ellas el compilador. De esta manera se puede simplificar el hardware que normalmente se dedica a funciones como la planificación dinámica de instrucciones y ejecución fuera de orden, la emisión superescalar, etc; y dedicar el área que se ahorra a añadir más unidades funcionales a la ruta de datos del procesador (capacidad de realizar operaciones). ¿Para qué? Para agrupar varias instrucciones en una más larga (con técnicas del tipo VLIW que ya hemos explicado) y que se puedan ejecutar en paralelo.

El compilador, además de encargarse de buscar las instrucciones que pueden empaquetarse juntas, y por lo tanto, ejecutarse en paralelo, también se encarga de proporcionar "pistas" (hints) al procesador para que pueda mejorar sus resultados en las predicciones de los saltos, para que las técnicas de prefetching sean más eficientes, etc.

A pesar de los continuos rumores acerca de este procesador y de su desaparición, parece que Intel y HP siguen apostando por él para servidores de HPC, por lo que los sistemas operativos orientados a servidores, tanto Windows como Linux, le siguen dando soporte. Próximamente se espera el lanzamiento de una nueva versión del procesador Itanium2, el Poulson, que ha generado bastantes expectativas en cuanto a su rendimiento.

Disponibilidad de servidores 2010-2011

En esta entrada se relacionan los principales resultados que se extraen de la ITIC 2010-2011 Global Server Hardware and OS Reliability Survey. Esta encuesta presenta la fiabilidad y la disponibilidad de los principales sistemas operativos para servidor utilizados en las organizaciones.

Por tercer año consecutivo, el sistema operativo para servidor considerado como el más fiable es el IBM's AIX UNIX sobre un total de 19 plataformas entre las que se incluyen SO UNIX, Microsoft, Linux y MAC OS X. Según el 78% de los encuestados, el sistema de IBM experimentó menos de un error por año asociado a la capa 1 (Tier 1*) de disponibilidad.

Destaca la posición obtenida por los sistemas operativos Windows 2008 Server y 2008 Server R2, que ocupan el tercer puesto del ranking de fiabilidad, desbancando a sistemas operativos tipo UNIX, Linux y Open Source que ocupaban estos puestos durante los años 2008 y 2009. Según el 92% de los encuestados, los sistemas operativos desarrollados por Microsoft, experimentaron menos de un error por año asociado a la capa 3 (Tier 3*) de disponibilidad.

En cualquier caso, además del criterio de la disponibilidad, es necesario tener en cuenta otros criterios a la hora de seleccionar un sistema operativo para servidores. Entre estos criterios destacan:

  • El coste de propiedad (TCO) del sistema operativo, en el que se incluiría el coste de adquisición y el mantenimiento del mismo (Service Packs y Parches).
  • La facilidad de desarrollo de parches en caso de que se produzcan fallos en los sistemas operativos.
  • La existencia de personal cualificado que sea capaz de administrar correctamente el sistema operativo seleccionado.
  • La idiosincrasia del sector o entorno en el que se va a implementar el sistema operativo.
  • La latencias requeridas por los usuarios para satisfacer sus peticiones de servicio.

En esta entrada se describía el método AHP como una técnica de decisión multicriterio (TDM) en la que el decisor debe alcanzar un objetivo y para ello dispone de varias alternativas. A su vez cada alternativa es valorada teniendo en cuenta una serie de criterios. Podría ser una buena práctica aplicar esta TDM para seleccionar el sistema operativo idóneo para cubrir las necesidades de una aplicación específica.

(*) La denominación de Tier 1, 2, 3 y 4 corresponde a una nomenclatura estándar que identifica el nivel de disponibilidad de un Data Center. Un Data Center Tier 4 es considerado el más robusto y con menor probabilidad de interrupción de servicio no programado. El Tier 1 es un sistema no redundado, mientras que el Tier 4 se desarrolla redundando todos sus componentes (servidores, almacenamiento, SAI…)

Los porcentajes de disponibilidad garantizados por cada Tier son los siguientes: Tier 1 (99.671%), Tier 2 (99.741%), Tier 3 (99.982%) y Tier 4 (99.995%). Como se comentaba en esta entrada, los Tier 3 y 4 se corresponden con sistemas de alta disponibilidad (HA), ya que el porcentaje está en un valor a partir de los tres nueves, es decir, por encima de un 99.9%.