TECNOLOGÍAS EN LA INDUSTRIA 4.0 (13ª Parte)- Cloud Computing.
Entrega Núm 13 - 28/02/2018

TECNOLOGÍAS EN LA INDUSTRIA 4.0 (13ª Parte)- Cloud Computing.

CLOUD COMPUTING

El concepto científico de la computación en nube o Cloud Computing se le atribuye a John McCarthy (el inventor del lenguaje de programación Lisp), quien propuso la idea de utilizar la computación como un servicio público, de forma similar a las empresas de servicios de agua o electricidad. En 1960 dijo: "Algún día la computación podrá ser organizada como un servicio público", pero la lentitud de la red en aquel entonces impidió su desarrollo y penetración. Tuvieron que transcurrir más de tres décadas para que la velocidad de transmisión de datos en hogares y empresas lo permitiese.

En el año 2002 Amazon se dio cuenta de que gran parte de la infraestructura informática que necesitaba para desplegar sus campañas de Navidad, quedaba infrautilizada durante el resto del año. Entonces tuvieron la brillante idea de alquilar sus infraestructuras a terceros para reducir sus costes. El éxito fue tal, que actualmente los servicios de computación en la nube de Amazon (AWS) dan soporte a multitud de empresas (Netflix, AirBnb, Pinterest, etc.) y generan más de 15.000 millones de dólares de ingresos. Otras compañías en vista del éxito obtenido por Amazon actualmente prestan servicios similares, como: Google (Google Cloud), Microsoft (Azure), IBM (Watson), Baidu, etc. y compiten entre ellas por este goloso mercado denominado Cloud Computing.

La computación en la nube (Cloud Computing), se define como una infraestructura que permite ofrecer servicios de computación a través de una red, que usualmente es Internet y que ofrece como servicios de pago por uso  todo lo que puede ofrecer un sistema informático con una serie de ventajas:

• Nuestro sistema va a estar más seguro normalmente en su infraestructura que en la nuestra.

• Todos los recursos IT que necesitamos los puede ofrecer el mismo proveedor.

• Podemos contratar y “des-contratar” servicios de manera libre y ágil.

• Los servicios que ofrece son escalables en capacidad.

• Pagamos por lo que usamos.

• Podemos disponer del mejor hardware sin costes de inversión inicial.

• Mejora el time-to-market de las aplicaciones.

• Los ingenieros se centran en lo que importa y no en la infraestructura.

• Permite probar de forma económica nuevos modelos de negocio.

En líneas generales, los servicios a contratar a operadores Cloud se dividen en tres categorías: IaaS (Infraestructure as a Service), PaaS (Platform as a Service) y SaaS (Software as a Service) veamos en qué están especializados cada uno de ellos:

La Infraestructura como Servicio (IaaS) se encuentra en la capa inferior, es decir, la más próxima al hardware. Los servicios estandarizados que ofrecen los operadores a este nivel consisten en almacenamiento básico (espacio en disco) y capacidades de cómputo. Estos servicios pueden ofrecerse gracias a un entramado de servidores, sistemas de almacenamiento, conexiones, enrutadores y un complejo software de virtualización que permite gestionar nuestro servidor alojado en la Nube como si se tratase de un servidor de nuestra red. Los servicios IaaS llevan implícitos el manejo de los picos de cargas de trabajo cuando nuestras aplicaciones requieran un aumento del cómputo o más espacio en disco.

Fig.- Diferencias entre IaaS, PaaS y SaaS.                            Fte: Web


Las Plataformas como Servicio (PaaS), tal y como se observa en la figura anterior, ofrecen un mayor nivel de servicio, pues a las infraestructuras básicas les añade un sistema operativo con escritorio virtual para la gestión remota, una capa Middleware para intercambio de información entre aplicaciones y el Runtime. Por tanto una PaaS nos proporciona la estructura necesaria para instalar nuestras aplicaciones y acceder a ellas a través de la red.

Mediante la utilización de Software como Servicio (SaaS), nuestra Nube, además de los servicios anteriores, podrá disponer de aplicaciones de terceros tan complejas como queramos. Estas aplicaciones normalmente se encargarán de analizar los datos publicados para mostrarlos a los suscriptores según lo hayamos programado a través de cualquier dispositivo.

 Como vemos, disponemos de una amplia oferta para construir nuestra Nube de servicios. La elección de unos servicios u otros dependerá de nuestras necesidades y de las habilidades que tengamos para generar una parte de los servicios por nosotros mismos ya que dependiendo de la elección que hagamos excluimos al proveedor de unas responsabilidades u otras. Por ejemplo, si contratamos un servicio IaaS, el proveedor no se hará responsable de los problemas que podamos tener con las aplicaciones instaladas. Sin embargo, al contar con un servicio SaaS, el proveedor se encargará de gestionar toda la infraestructura, el mantenimiento y los problemas de seguridad que pudieran surgir con las aplicaciones.

Básicamente los proveedores de servicios en la Nube ya sea directamente o a través de partners especializados ofrecen multitud de servicios:

  • Computación: Permite adecuar distintas máquinas, con distintas potencias de cómputo, a nuestras necesidades de procesamiento posibilitando la puesta en marcha de los servicios en base a eventos.
  •  Almacenamiento: A través de este servicio podemos contratar mayor o menor espacio en disco para almacenamiento de datos y aplicaciones con la ventaja de que estarán disponibles desde cualquier ubicación.
  • Base de Datos: Permite la utilización de distintas Bases de Datos para acceder a nuestra información y los servicios relacionados con las mismas, de forma que para nosotros sea transparente el uso de una tecnología u otra. Soportan bases de datos relacionales (MySQL, PostgreSQL, etc…) como no relacionales (también denominadas NoSQL) que están mucho mejor adaptadas al IoT.


Fig.- Acceso a servicios Cloud                                             Fte: Web


  •  Migración: Podemos trasladar parte de nuestra información de una plataforma a otra con total transparencia para los usuarios, sin apenas interrumpir el funcionamiento y disponiendo del control total de la monitorización y la gestión desde una única ubicación.
  • Herramientas: Disponen de herramientas para desarrolladores que permiten modificar las funcionalidades básicas, así como de herramientas de administración muy potentes para gestionar usuarios, monitorizar recursos y aplicaciones y automatizar procesos.
  • Seguridad: La seguridad es uno de los aspectos más valorados en la Nube, pues si no se tuviera muy en cuenta, pocas empresas confiarían en tener datos en equipos remotos. Entre los servicios más destacados están los de administrar el acceso de los usuarios, generar certificados de seguridad para acceso a nuestros contenidos, analizar el tráfico de red y filtrarlo y disponer de copia de respaldo.
  • Análisis de Datos: Directamente, los operadores Cloud apenas ofrecen servicios para el análisis de datos y su presentación, no obstante todos disponen de un gran número de empresas colaboradoras que se dedican a estas tareas, y por tanto a través de ellas podemos disponer de cualquier servicio.
  • Inteligencia Artificial: A medida que avanza la IA y se estandarizan los algoritmos para la resolución de problemas concretos, los operadores Cloud han ampliado su oferta y proporcionan herramientas muy potentes para desarrollar aplicaciones basadas en IA como por ejemplo los ChatBots, el aprendizaje máquina (ML Machine Learning) o el análisis facial y de imágenes.


Con objeto de conectar este apartado con los dos anteriores que también han sido dedicados a infraestructuras, representaremos mediante la siguiente figura un esquema que permite ver cómo podemos conectar los servicios del Cloud con todos los integrantes de nuestra cadena de suministro.


 Fig.- Cloud en nuestra cadena de suministro                     Fte: Web

 

A la izquierda estarán los dispositivos, los sensores, los PLCs, nuestras máquinas y robots e incluso nuestros productos IoT en posesión de nuestros clientes. Estos dispositivos serán mayormente publicadores de datos que utilizarán las tecnologías de red vistas en el apartado anterior (Ethernet, Lpwan, Bluetooth, Zigbee, etc.), para comunicarse con un Gateway que será el que acceda al medio de comunicación usado para transmitir los datos a la Nube a la vez que estandarice el protocolo a usar por todos ellos.

Con los datos recibidos, los servicios contratados en la Nube ejecutarán las tareas para las que han sido programados, como el almacenamiento, la seguridad y el control de usuarios, la actualización remota del firmware de los dispositivos, los motores de reglas (que definen qué hacer con los datos según su procedencia o su valor).

A través de estos servicios, todos los suscriptores que integren nuestra cadena de suministro, ya sean clientes, proveedores o personal de nuestra organización, podrán acceder a los datos que estén suscritos desde su móvil o su ordenador.

CLOUD, FOG y EDGE COMPUTING

Muchos lectores habrán oído hablar de Fog y Edge Computing, por ello, explicaremos de manera concisa qué son y cuándo se emplean. Ninguno de ellos hasta la fecha están pensados para sustituir los servicios de Cloud Computing pero sí para disminuir el coste. Su empleo es fundamental cuando el número de datos capturados por los sensores, máquinas y robots de nuestra organización es muy elevado y necesitamos respuestas muy próximas al tiempo real, trabajar en la Nube además de costoso puede no darnos la solución.

En estos casos, suele ser conveniente el utilizar tanto Fog Computing (computación en la niebla) como Edge Computing (computación en el borde) ya que ambos están pensados para hacer frente a este tipo de problemas.

Supongamos que tratamos de detectar el posible malfuncionamiento de una máquina con objeto de sustituir determinadas piezas fungibles antes de que se averíe y de esta forma reducir costes en el mantenimiento además de evitar múltiples daños. Además, nuestra organización tiene instaladas 100 máquinas donde cada máquina a su vez dispone de cinco sensores que toman una muestra cada milisegundo, lo que equivale a 500.000 de muestras por segundo.

Para analizar todas esas muestras (podrían ser muchísimas más dependiendo el problema a tratar) mediante un servicio puro de Machine Learning en la Nube (Cloud Computing), todos los datos tendrían que viajar desde los sensores al Cloud pasando por gateways y la red/es local de la empresa hasta llegar a un router que los envíe a nuestra Nube (ver figura). Allí se almacenarían (si es preciso) y nuestras aplicaciones de Machine Learning los analizarían en busca de cualquier anomalía. Si además pretendemos decidir sin esperas, es decir, analizando los datos a medida que se generan, necesitaremos conectar 500.000 veces por segundo con nuestra nube lo que supone muchos recursos y mucho dinero.

Empresas como Cisco (que introdujo el concepto de Fog Computing), aconsejan en estos casos, dotar de inteligencia software a los dispositivos que manipulan los datos dentro de nuestra organización y hacer los cálculos en ellos para filtrarlos antes de ser enviados a la Nube. De esta forma se reduce enormemente el volumen de los datos a enviar (almacenamiento) y el tiempo de cálculo (cómputo).

Cuando los cálculos se realizan en modernos routers (que incorporan un potente microprocesador embebido con sistema operativo para poder instalar y ejecutar aplicaciones), hablamos de Fog Computing.

Si los cálculos se realizan más próximos todavía a donde se producen, es decir, en los gateways o en los mismos sensores (lo que supone que incorporan una electrónica más avanzada con elevada capacidad de cómputo), entonces nos referimos a Edge Computing.

Como podemos observar, usar Fog Computing puede resultar más económico que Edge Computing sobre todo cuando el número de sensores es elevado ya que sólo dispondremos de un dispositivo que concentrará las tareas de filtrado para obtener los datos significativos. Sin embargo, al igual que usamos Fog en vez de Cloud a medida que las necesidades de procesado aumentan, podría darse el caso de que nos viésemos obligados a realizar el filtrado en cada máquina e incluso en cada sensor y por tanto a usar Edge Computing.

Dependerá del volumen de datos a tratar, del tiempo de respuesta máximo que admitamos y del número de sensores que tengamos que monitorizar para decantarnos por una solución u otra.


Próxima Entrega (Dispositivos)

Inicia sesión para ver o añadir un comentario.

Otros usuarios han visto

Ver temas