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 McCarthy dijo:
Algún día la computación podrá ser organizada como un servicio público.
(John McCarthy)
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.
El testigo lo cogió Amazon que ya en el año 2002 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.
Destacan las siguientes ventajas:
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.
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, una capa Middleware para intercambio de información entre aplicaciones y el Runtime. Por tanto, al contratar una Plataforma como Sercicio tenemos 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 según lo hayamos programado a los suscriptores 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. Veamos una descripción de los más importantes:
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.
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.
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 casi es 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.
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.
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.
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.
Directamente, los operadores Cloud apenas ofrecen servicios para el análisis de datos y su presentación, pero 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.
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.
La siguiente figura muestra un esquema que permite ver la utilidad del Cloud a la hora de conectar a todos los integrantes de nuestra cadena de suministro.
A la izquierda de la figura se encuentran los dispositivos, los sensores, los PLCs, nuestras máquinas y robots e incluso nuestros productos IoT en posesión de nuestros clientes. Todos estos dispositivos serán mayormente publicadores de datos que utilizarán tecnologías de red (Ethernet, Lpwan, Bluetooth, Zigbee, etc.), vistas en el apartado anterior, para comunicarse con un Gateway (puerta de enlace) 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).
Una vez los datos son tratados convenientemente a través de estos servicios, todos los suscriptores que integren nuestra cadena de suministro, ya sean clientes, personal de nuestra organización o proveedores, podrán acceder a los datos que estén suscritos desde su móvil o su ordenador.
Cuando los datos capturados por los sensores, máquinas y robots de nuestra organización son muy elevados y necesitamos respuestas muy próximas al tiempo real, trabajar en la Nube además de costoso puede complicar la solución. Por eso, empresas como Cisco (que introdujo el concepto de Fog Computing) hablan de que es preferible de dotar de inteligencia software a los dispositivos que capturan y procesan los datos dentro de la empresa y realizar los cálculos necesarios o establecer filtros antes de ser enviados y almacenados en el Cloud para su posterior proceso.
Por ejemplo si lo que tratamos de detectar es el mal funcionamiento de una máquina persiguiendo el valor de unos cuantos parámetros que generan miles de datos por segundo, en vez de enviarlos todos a la nube y analizarlos una vez estén allí para estudiar el comportamiento de la máquina, suele dar mejor resultado utilizar herramientas para únicamente enviar aquellos que sean anómalos.
De esta forma se reduce enormemente el volumen de los datos a tratar y por consiguiente el coste de las infraestructuras necesarias en la Nube, tanto en espacio de almacenamiento como en cómputo.
En esa línea, fabricantes como Cisco o FogHorn incorporan en sus routers un potente microprocesador embebido con sistema operativo (normalmente Linux) para poder instalar y ejecutar aplicaciones que permitan filtrar los datos que no van a aportar información interesante sobre el proceso.
¿Eres proveedor de soluciones tic y necesitas mas información?
¿Eres una empresa y no encuentras lo que estás buscando?