Capítulo 1. El panorama de la IO
Este trabajo se ha traducido utilizando IA. Agradecemos tus opiniones y comentarios: translation-feedback@oreilly.com
Al contemplar la Internet de las Cosas (IoT), es posible que inicialmente te imagines los innumerables dispositivos entretejidos a la perfección en nuestro paisaje moderno. La IoT ha impregnado prácticamente todos los aspectos de nuestras vidas, desde la bombilla más sencilla hasta orquestaciones a escala monumental en los contornos de las ciudades inteligentes. Estos dispositivos reciben el acertado nombre de "cosas" en el ámbito de la IO. Para comprender la totalidad de este intrincado tapiz, no basta con ascender a la metafórica posición ventajosa de 40.000 pies desde un avión. Esta perspectiva revela los dispositivos y la elaborada sinfonía de piezas, todo orquestado en armoniosa colaboración. Es el Paisaje IoT, una vista panorámica que capta la esencia colectiva de cada elemento y orquestación que conspira para poner estos dispositivos IoT en notable movimiento. Da una taxonomía a cada parte individual, asignando un propósito y un lugar dentro del gran diseño. En este libro, te llevaré a través del Paisaje IoT específico de Azure, que ofrece una plétora de servicios en la nube gestionados por Microsoft, componentes de perímetro y kits de desarrollo de software (SDK) entre los que elegir. Así que, sin más preámbulos, echa un primer vistazo al Paisaje IoT de Azure que se muestra en la Figura 1-1.
Este libro explora cada faceta dentro de este paisaje, profundizando en la interacción de cada parte en el marco de una solución integral de IoT. Imagínatelo como un viaje: una expedición que comienza por el lado izquierdo (con dispositivos) y se desplaza generalmente hacia la derecha. Al navegar por esta trayectoria, atravesarás coyunturas significativas, como la informática de perímetro, la gestión y mensajería de IoT, las vías de datos, la persistencia de datos, el servicio de datos y la esfera expansiva de los consumidores de datos. Sin embargo, para aclimatarte a este viaje, embarquémonos con una visión general de cada punto del trayecto. Este preludio estratégico trazará tu rumbo, empezando por los dispositivos.
Off Azure
La primera sección del Paisaje IoT de Azure es, curiosamente, lo que existe fuera de Azure: los dispositivos y la informática de perímetro.
Dispositivos IoT
Es difícil definir exactamente un dispositivo IoT porque no es tan sencillo como podría pensarse. Una definición de libro de texto para el "Internet de las Cosas" sería una red de dispositivos interconectados que pueden recoger, transmitir y recibir datos sin intervención humana directa. Claro, algunas cosas son bastante obvias. Una bombilla inteligente o un electrodoméstico conectado es un dispositivo IoT, pero esa línea se vuelve un poco borrosa con cosas como televisores o reproductores multimedia. Con algunos dispositivos puede ocurrir todo lo contrario. Pueden estar construidos a propósito para trabajar con humanos, como una excavadora o los cepillos de dientes inteligentes. Fíjate en lo que he dicho: están construidos a propósito, como mover la tierra o limpiarte los dientes. El dispositivo tiene un propósito especializado en lugar de tener un propósito general como un ordenador portátil o un smartphone.
Sin embargo, los dispositivos IoT suelen tener algunas características comunes. Con los dispositivos, casi siempre tienes conectividad para que el dispositivo hable con Internet, sensores para recopilar datos, procesamiento de datos en el dispositivo para tratar los datos recopilados y actuadores para responder a las órdenes. La combinación de estas cosas puede crear un dispositivo complejo o simple, según el contexto.
Como hay una enorme variedad de dispositivos, desde bombillas a cámaras de tráfico, pasando por excavadoras o monitores cardíacos, es imposible abordarlos todos. Resulta incluso desalentador intentar generalizar porque, inevitablemente, parece haber excepciones. En el Capítulo 2, te llevaré a través de las ofertas de hardware centradas en Azure de Microsoft y estudiaremos cómo funcionan juntas para distintos fines. También te mostraré las distintas ofertas de software para dispositivos con restricciones (también conocidos como dispositivos con recursos limitados o de perímetro, dispositivos IoT con limitaciones en potencia de cálculo, memoria, energía y capacidades de comunicación) y dispositivos sin restricciones (dispositivos conectados a la nube o de pasarela, con mayor potencia de cálculo, memoria y capacidades de comunicación en comparación con los dispositivos con restricciones). Estos dispositivos están diseñados para realizar tareas específicas con un mínimo de recursos y a menudo se despliegan en entornos remotos o difíciles, donde puede resultar difícil el mantenimiento frecuente o la reposición de recursos.
En el Capítulo 3, te mostraré cómo empezar a explorar los dispositivos IoT sin necesidad de invertir inmediatamente en hardware.
En última instancia, los dispositivos se conectan a Internet . En algunos casos pueden hacerlo directamente, pero en otros pueden utilizar un proxy que asista a los dispositivos en su trabajo. Un proxy de este tipo formaría parte de la informática de perímetro.
Computación de perímetro
La informática de perímetro es un enfoque descentralizado del procesamiento de datos en el que los cálculos se realizan más cerca de la fuente de datos, lo que reduce la latencia y mejora la toma de decisiones en tiempo real. Implica procesar los datos en los dispositivos o servidores locales, o cerca de ellos, en lugar de enviar todos los datos a un servidor centralizado en la nube.
La computación de perímetro es la extensión de la nube a un centro de datos, en lugar de pensar en la nube como una extensión del centro de datos, que es más bien un modelo híbrido. Es especialmente valioso para aplicaciones que requieren respuestas rápidas, baja latencia, uso eficiente del ancho de banda de la red y escenarios informáticos conectados offline e intermitentes. La computación de perímetro se adapta a escenarios en los que es esencial el procesamiento inmediato de datos, como la automatización industrial, el monitoreo remoto y las ciudades inteligentes. El IoT, por tanto, es un tema pertinente en el ámbito de la informática de perímetro.
En el momento de escribir este libro, la computación de perímetro es un tema candente, con una oleada de actividad en el espacio de Microsoft que intenta acercar Azure al perímetro. En este contexto, Microsoft tiene dos grandes iniciativas que abarcan muchos recursos diferentes. Específicamente para el IoT, Azure ofrece Azure IoT Edge runtime. Es una plataforma ligera de orquestación de contenedores para construir dispositivos IoT modulares y aparatos de perímetro. Además, Azure ofrece Azure Arc, una herramienta de uso general para extender el plano de control de Azure a entornos fuera de Azure. Una de sus mayores habilidades es su capacidad para gestionar clústeres Kubernetes . Los usuarios pueden implementar servicios como procesamiento de flujos, SQL Server, aprendizaje automático y mensajería en el perímetro a través de Arc. Dado que Arc aprovecha Kubernetes, tanto Azure Arc como Azure IoT Edge utilizan contenedores Docker , ¡así que no puedes ignorarlo! Los contenedores, en cualquier caso, forman parte de estas soluciones. El Capítulo 6 entra en detalle sobre las opciones de perímetro para Azure.
Estas diferentes tecnologías hacen de la computación de perímetro una de las partes más apasionantes de las soluciones IoT. Aunque no tengas pensado utilizar el perímetro, algunas cosas de la informática de perímetro pueden incorporarse a tus dispositivos. Independientemente de cómo conectes tus dispositivos a Internet, necesitarán un lugar en línea para gestionarlos. Ésa es la siguiente parte del Paisaje de la IO.
Azure
Ahora, llegamos al Paisaje IoT que existe en Azure. Aquí tenemos mensajería y gestión de IoT, procesamiento de datos, persistencia de datos y presentación de datos.
Mensajería y gestión de IoT
La mensajería y gestión de IoT abarca un enorme conjunto de temas interrelacionados. Una solución en la nube como Azure IoT Hub los combina en una oferta de plataforma como servicio (PaaS) que puedes aprovechar como creador de soluciones. Esto es lo que Azure IoT Hub y sus servicios relacionados proporcionan a tus dispositivos en términos de mensajería y gestión IoT:
- Registro y aprovisionamiento de dispositivos
-
Los dispositivos deben estar registrados en dentro del IoT Hub para establecer una comunicación segura. Los Servicios de Aprovisionamiento de Dispositivos de Azure (DPS) proporcionan mecanismos para el aprovisionamiento automático de dispositivos, permitiendo que éstos se unan a la red de forma segura.
- Comunicación segura
-
Los dispositivos se conectan a Azure IoT Hub utilizando protocolos de comunicación segura , como MQTT, AMQP o HTTPS. La seguridad de extremo a extremo en Internet se mantiene mediante la autenticación, autorización y encriptación de los dispositivos a través de uno de estos protocolos de comunicación.
- Gemelos del dispositivo y propiedades deseadas
-
El hermanamiento es una forma de rastrear la configuración de los dispositivos en la nube sin tener que consultar cada dispositivo en la nube. Un "gemelo de dispositivo" mantenido por Azure IoT Hub representa el estado y los metadatos del dispositivo. Los gemelos de dispositivo almacenan las propiedades deseadas que puede establecer la aplicación en la nube y las propiedades notificadas que actualizan los dispositivos.
- Mensajería de nube a dispositivo (C2D)
-
Azure IoT Hub permite a las aplicaciones en la nube enviar comandos o mensajes a individuos o grupos de dispositivos. Proporciona API y capacidades de enrutamiento para estos mensajes. Los dispositivos reciben estos mensajes y pueden actuar en consecuencia.
- Mensajería de dispositivo a nube (D2C)
-
Los dispositivos pueden enviar a la nube datos telemétricos, actualizaciones de estado y otra información a . Azure IoT Hub proporciona muchas formas de trasladar estos datos a motores de procesamiento de datos posteriores para su análisis y monitoreo, como bases de datos, Azure Functions, Logic Apps y Stream Analytics.
- Gestión y monitoreo de dispositivos
-
Azure IoT Hub proporciona herramientas para monitorizar la salud y el estado de los dispositivos conectados. Los dispositivos pueden informar de su estado, y las aplicaciones en la nube pueden consultar esta información para la resolución de problemas y el mantenimiento.
- Gestión de dispositivos de perímetro
-
Ya hemos hablado de Azure IoT Edge, pero Azure IoT Hub admite la gestión de dispositivos IoT en el perímetro, donde el procesamiento de datos se produce más cerca de la fuente de datos. Azure IoT Edge amplía esta capacidad para implementar y gestionar cargas de trabajo en contenedores en dispositivos de perímetro.
- Escalabilidad y rendimiento
-
Azure IoT Hub está diseñado para gestionar un gran número de dispositivos y un alto rendimiento de mensajes. Con miles de dispositivos conectados a la vez, el potencial diluvio de datos es desalentador. Ofrece opciones escalonadas para adaptarse a diversos escenarios de IoT.
El Capítulo 4 se sumerge en todo lo relacionado con la gestión del ciclo de vida de los dispositivos. Este proceso abarca todo, desde la creación de un dispositivo hasta el día en que se descarga y deja de utilizarse. Implica el diseño del dispositivo, su aprovisionamiento, su mantenimiento y, por último, su retirada y eliminación.
El Capítulo 5 trata de lo que ocurre durante la secuencia principal de un dispositivo, en la que se comunica con la nube mediante mensajes del dispositivo a la nube y mensajes de la nube al dispositivo.
Como puedes ver, no hay una sola cosa que IoT Hub haga para gestionar la mensajería y los dispositivos a escala. Es el sistema nervioso central de tu solución IoT. Intermedia en la relación entre tus miles de dispositivos potenciales y los sistemas posteriores que gestionan la telemetría y los datos procedentes de esos dispositivos a través del procesamiento de datos de .
Tratamiento de datos
Procesamiento de datos es un componente crucial de las soluciones IoT que implica gestionar, preparar y analizar las enormes cantidades de datos generados por los dispositivos IoT. Los procesos de datos garantizan que los datos se recopilen, transformen y utilicen eficazmente para extraer información e impulsar acciones significativas.
El procesamiento de datos implica recopilar datos de estos dispositivos, integrar datos de diversas fuentes en conjuntos de datos, garantizar que los datos recopilados se almacenan adecuadamente en bases de datos o lagos de datos, limpiarlos y transformarlos para garantizar su calidad y coherencia, y finalmente presentar los datos con esquemas de datos bien diseñados para que los datos puedan consultarse y analizarse.
Sin embargo, hay muchas formas de hacerlo. Puedes pensar en ello como procesamiento en tiempo real y procesamiento por lotes. El procesamiento en tiempo real implica el análisis inmediato de los datos en flujo de los dispositivos IoT, lo que permite responder rápidamente a las anomalías y activar alertas o acciones. El procesamiento por lotes analiza los datos históricos en lotes predefinidos para descubrir tendencias, patrones y correlaciones que ofrezcan información sobre sucesos pasados. Este enfoque es especialmente valioso para el análisis a largo plazo.
En ambos casos, los datos se resumen y consolidan mediante la agregación , reduciendo su volumen pero conservando su contenido informativo. Se emplean técnicas más avanzadas, como el aprendizaje automático y la inteligencia artificial, para realizar análisis complejos, identificar patrones ocultos y predecir resultados futuros. El resultado del procesamiento de datos son conocimientos procesables que guían la toma de decisiones, optimizan las operaciones y mejoran la eficiencia general. Esto forma parte de la arquitectura de datos.
La arquitectura de datos proporciona un marco general sobre cómo se piensa en el procesamiento de datos. Abarca desde la recogida de datos hasta los resultados perspicaces. Abarca metodologías, herramientas y estrategias para manejar eficazmente grandes volúmenes de datos procedentes de fuentes como los dispositivos IoT. Examina las fuentes de datos, cómo se reciben los datos, cómo se integran, cómo se transforman, cómo se procesan y cómo se presentan. Al diseñar la arquitectura de procesamiento de datos, hay que tener en cuenta factores como el procesamiento en tiempo real frente al procesamiento por lotes, la latencia de los datos, la calidad de los datos, la integración con los sistemas existentes y la escalabilidad.
El Capítulo 7 inicia la última mitad del libro, cambiando el enfoque hacia la creación de soluciones de datos escalables en Azure. El Capítulo 8 amplía los conceptos de procesamiento examinando tres arquitecturas diferentes utilizadas habitualmente en los datos IoT.
Aunque acabo de nombrar dos amplias categorías de -el procesamiento en tiempo real y el procesamiento por lotes-, se pueden aplicar algunos matices más a este contexto con las rutas caliente, templada y fría. Cada una de ellas adopta un enfoque diferente del procesamiento de datos dentro de la arquitectura de datos.
Caminos calientes
"Camino caliente" datos se refiere a la parte de los datos de un sistema que requiere un procesamiento inmediato o en tiempo real para facilitar la toma de decisiones rápidas, respuestas rápidas y acciones oportunas. (La "ruta caliente" suele considerarse un procesamiento "rápido", pero no debe confundirse con la velocidad porque ésta no es la única preocupación). Los datos de la ruta caliente se procesan en tiempo real o casi real, lo que permite un análisis y una toma de decisiones rápidos. A menudo contienen información crítica que, si se actúa con rapidez, puede evitar o mitigar problemas, optimizar procesos o mejorar la experiencia del usuario. Estas acciones pueden ser respuestas automatizadas, notificaciones a los usuarios o ajustes de los parámetros del sistema. En el contexto del IoT, los datos de la ruta caliente implican eventos telemétricos de que alimentan sistemas que proporcionan respuestas a los datos en tiempo real y casi real. Un ejemplo canónico de evento de telemetría de ruta caliente puede ser un detector de humo que envía una señal para llamar la atención de los bomberos.
Azure proporciona herramientas para gestionar esto mediante opciones como Stream Analytics, Azure Functions, Event Grids, Event Hubs, Service Buses y otras capacidades de procesamiento en tiempo real. Todas ellas funcionan bien juntas para crear soluciones completas para las rutas calientes de IoT. Hablaré de las rutas calientes con más detalle en el Capítulo 9. Sin embargo, hay algo más que rutas calientes. Hay algo mucho más frío: las rutas calientes.
Caminos cálidos
Los datos de la ruta cálida representan una categoría que ocupa una posición intermedia entre los datos de la "ruta caliente" y los de la "ruta fría" en cuanto a su urgencia y frecuencia de procesamiento. Se caracteriza por requerir un procesamiento más rápido que los datos de la ruta fría, pero no tan inmediato como los de la ruta caliente. Al igual que la ruta caliente, la velocidad es importante, pero no es el único factor. Los datos de la ruta cálida proporcionan perspectivas y apoyan decisiones que pueden tolerar un breve retraso en el procesamiento.
A diferencia de los datos de la ruta caliente, que exigen una acción inmediata, los datos de la ruta caliente se procesan con una latencia moderada, entrando en casi en tiempo real o con un ligero retraso en el análisis. Su propósito es aportar ideas que ayuden al monitoreo en curso, a los esfuerzos de optimización y a las decisiones que requieren atención oportuna sin necesidad de reacciones instantáneas. Los datos de la ruta caliente se utilizan en situaciones en las que la eficiencia y la optimización son prioritarias. Estas situaciones se benefician de perspectivas lo suficientemente rápidas como para impulsar la acción, pero que no requieren una respuesta inmediata.
En cuanto a la arquitectura de procesamiento de datos, los datos de la ruta cálida se procesan normalmente utilizando técnicas como el procesamiento de flujos, que equilibra las percepciones en tiempo real y un ligero retraso en el procesamiento. Esto garantiza que los datos se transformen en información procesable en un plazo de tiempo acorde con las necesidades de la toma de decisiones operativas y la optimización continua. En esencia, los datos de la ruta caliente desempeñan un papel crucial al permitir a las organizaciones equilibrar la urgencia de los datos de la ruta caliente y las perspectivas a más largo plazo derivadas de los datos de la ruta fría. Para el IoT, una ruta caliente te ayuda a obtener información sobre las operaciones, el monitoreo y las optimizaciones en curso dentro de un marco temporal que equilibra el análisis rápido con un retraso aceptable. Una ruta cálida proporciona conocimiento de la situación al ofrecer información sobre cambios o tendencias en el comportamiento, el rendimiento o las condiciones ambientales de los dispositivos IoT. Consulta el Capítulo 10 para obtener más detalles sobre las rutas calientes.
Azure admite rutas cálidas a través de datos de series temporales. Azure Data Explorer y Azure Stream Analytics son los principales servicios que lo consiguen. Data Explorer es más un servicio de base de datos, pero tiene la capacidad de cálculo y los servicios integrados que lo hacen útil para las rutas cálidas. Stream Analytics también puede examinar datos históricos en ventanas de tiempo. Pero para grandes ventanas de tiempo o cuando los datos no necesitan un procesamiento inmediato, puedes considerar el siguiente tipo: rutas frías.
Caminos fríos
Los datos de trayectoria en frío son una categoría en el procesamiento y análisis de datos caracterizada por su enfoque en el almacenamiento a largo plazo y el análisis histórico. No es exactamente sinónimo de procesamiento por lotes, pero a menudo se implementa como tal. A diferencia de los datos de la ruta caliente o templada, los datos de la ruta fría se almacenan y procesan con una frecuencia de acceso menor. Sirve para fines tales como la elaboración de informes históricos, el análisis de tendencias y la obtención de conocimientos profundos que no exigen respuestas rápidas. El procesamiento de los datos de la ruta fría no requiere una urgencia inmediata y está sujeto a intervalos más largos, que suelen oscilar entre horas y días. Su principal utilidad reside en el análisis retrospectivo, identificando tendencias, patrones históricos y anomalías que se han producido durante un periodo sustancial. También es útil como patrón de integración para cargas de trabajo más tradicionales que aprovechan estilos de integración más convencionales de extracción, transformación y carga (ETL) de .
Las organizaciones tienden a almacenar los datos de la ruta fría utilizando soluciones de almacenamiento rentables, ya que el acceso frecuente y rápido no es un requisito central. Se utiliza cuando el cumplimiento normativo es esencial, ya que las industrias necesitan conservar datos históricos con fines de auditoría. Para las empresas, los datos de la ruta fría contribuyen a generar informes históricos, hacer un seguimiento del rendimiento a lo largo del tiempo y tomar decisiones informadas basadas en un contexto histórico completo.
Para el IoT, la contribución de los datos de la trayectoria en frío se extiende a análisis predictivo, como cuando los modelos de aprendizaje automático se entrenan con patrones históricos para hacer previsiones. Ayudan en el análisis de la causa raíz, permitiendo investigaciones detalladas de incidentes o anomalías pasadas. Además, las empresas utilizan los datos de trayectorias frías para planificar el futuro comprendiendo las consecuencias de decisiones y acontecimientos pasados. Me centraré en las rutas frías en el Capítulo 10.
En las arquitecturas de procesamiento de datos, Azure Data Factory, Azure Synapse, Azure Databricks y HDInsights proporcionan los recursos informáticos para trabajar con el almacenamiento y hacer funcionar las rutas frías. Los datos de rutas frías se almacenan en almacenes de datos como Azure Synapse, Azure Data Lake, sistemas de archivo especializados, o algo tan sencillo como el almacenamiento de objetos como Azure Blob Storage. Todos ellos forman parte de la persistencia .
Persistencia de datos
A menos que sólo trates con datos transitorios, necesitarás almacenarlos en algún sitio. Incluso los sistemas de datos transitorios, como las colas de mensajes, persistirán los datos durante un tiempo.
La persistencia de los datos en el contexto del procesamiento de datos se refiere a los métodos y mecanismos utilizados para almacenar y mantener los datos más allá de su procesamiento o entrada inicial. Garantiza que los datos sigan siendo accesibles, recuperables y utilizables para diversos fines, como el análisis, la elaboración de informes y el procesamiento futuro. Los distintos tipos de persistencia de datos responden a diversas necesidades en las arquitecturas de procesamiento de datos:
- Almacenamiento temporal o volátil
-
El almacenamiento temporal consiste en mantener los datos en memoria o caché para su procesamiento inmediato. Este tipo de persistencia es de corta duración y se utiliza principalmente durante la etapa de procesamiento inmediato. Una vez finalizado el procesamiento, los datos del almacenamiento temporal se descartan. Es adecuado para guardar datos a los que hay que acceder con frecuencia y rapidez durante el procesamiento, pero no está pensado para conservarlos a largo plazo. Encontrarás este almacenamiento para cosas como Azure Service Bus, Event Grids y tecnologías de procesamiento de flujos como Azure Stream Analytics. El almacenamiento de flujos se utiliza para gestionar flujos de datos en tiempo real generados por dispositivos IoT, sensores u otras fuentes. Este tipo de persistencia permite el almacenamiento y procesamiento inmediatos de datos de flujo, posibilitando el análisis y la toma de decisiones en tiempo real.
- Almacenamiento en bruto o lagos de datos
-
Los lagos de datos son depósitos que almacenan datos brutos, sin procesar, en su formato original. Esta forma de persistencia es ideal para almacenar diversos tipos de datos, como datos estructurados, semiestructurados y no estructurados, sin estructuración ni transformación inmediatas. Los lagos de datos facilitan el procesamiento y análisis futuros, permitiendo a las organizaciones obtener información de los datos a medida que surgen las necesidades. Las herramientas de procesamiento por lotes y ETL utilizan los lagos de datos y el almacenamiento en bruto, como el Almacenamiento de Bloques, como parte de su procesamiento.
- Almacenamiento estructurado o almacenes de datos
-
El almacenamiento estructurado , habitual en los almacenes de datos, consiste en almacenar los datos en un formato estructurado y optimizado para la consulta y el análisis. Este tipo de persistencia es especialmente adecuado para datos procesados y transformados que están listos para informes, análisis e inteligencia empresarial. Los almacenes de datos ofrecen un rendimiento optimizado para consultar grandes conjuntos de datos y generar información. Las bases de datos son útiles para consultar datos para cargas de trabajo transaccionales. Para el IoT, no hay una base de datos que lo haga todo bien, pero Azure Cosmos DB y Azure Data Explorer proporcionan cierto nivel de almacenamiento transaccional, mientras que Azure Synapse proporciona más almacenamiento analítico.
Aunque no hay ningún capítulo dedicado a la persistencia de datos, este libro habla bastante de la persistencia, especialmente en el contexto del procesamiento de datos. En una solución IoT, es probable que te encuentres con muchos tipos diferentes de almacenamiento de datos. Los utilizarás como parte de tu movimiento y procesamiento de datos.
En las arquitecturas de procesamiento de datos, especialmente IoT, la combinación de estos métodos de persistencia de datos crea diferentes etapas de procesamiento y análisis. El almacenamiento temporal ayuda al procesamiento inmediato, los lagos de datos almacenan datos sin procesar, el almacenamiento estructurado permite una consulta eficaz y el almacenamiento de archivo garantiza la conservación de los datos. Todos ellos, en cierto nivel, sin embargo, soportan una presentación de datos .
Capa de presentación de datos
En arquitectura de software y diseño de sistemas, una capa de presentación, a veces llamada capa de servicio, se refiere a un componente o conjunto de características que facilitan la interacción entre las distintas partes de un sistema. Es un intermediario que se encarga de diversas tareas relacionadas con la comunicación, el procesamiento de datos y la exposición a funcionalidades. El objetivo principal de una capa de servicio es proporcionar una interfaz unificada y estandarizada para los distintos clientes, que les permita acceder a los servicios y recursos de forma coherente. Esta capa ayuda a abstraer la complejidad subyacente de los componentes del sistema y proporciona una interfaz cohesionada con la que pueden interactuar los usuarios y otros sistemas.
Al actuar como puente entre los clientes (consumidores) y las funcionalidades básicas, la capa de servicio abstrae las complejidades técnicas, permitiendo a los usuarios interactuar sin necesidad de comprender el funcionamiento interno. Gestiona el intercambio de datos entre estas entidades, garantizando una comunicación fluida a través de diversos protocolos y transformaciones. Es, en efecto, un patrón de fachada sobre el procesamiento de datos complejos. Una capa de servicio proporciona seguridad para los datos, API para servir datos, push para los suscriptores de datos, cachés de datos para descargar, y muchas otras cosas que utilizan los consumidores de datos.
Esta capa también se ocupa de cuestiones transversales como el registro, el monitoreo y la gestión de errores, que son esenciales para mantener un entorno estable y bien supervisado. La capa de servicio puede diseñarse para la escalabilidad, permitiendo que el sistema gestione el aumento del tráfico y la demanda sin comprometer el rendimiento. Su papel es vital para crear un puente sencillo, seguro y eficaz entre los datos y los consumidores. El Capítulo 11 se sumerge en la capa de servicio con gran detalle, donde habla de todos los matices de cada uno de estos estilos de exposición de datos.
Ningún servicio de en Azure proporciona una capa de presentación de datos; sin embargo, los servicios utilizados para ello suelen estar orientados hacia delante. Para las entregas de estilo push, puedes utilizar algunos protocolos de bajo nivel como FTP. Aún así, el estilo push para aplicaciones web e integraciones de datos puede lograrse mediante webhooks, Azure Web PubSub y la integración Azure SignalR. Otras integraciones también pueden utilizar API como las expuestas a través de Azure Functions o un servicio API o con una herramienta como Azure Data API Builder. Todas estas herramientas y puntos de integración ofrecen a los consumidores una forma de obtener los datos que necesitan para sus fines.
Consumidores de datos
En el panorama expansivo del IoT, , los consumidores de datos abarcan un conjunto diverso de entidades y sistemas que encuentran valor en los datos generados por los dispositivos IoT. Estos consumidores desempeñan un papel decisivo a la hora de convertir los datos en perspectivas significativas e información procesable. En este ecosistema surgen varias categorías distintas de consumidores de datos:
-
Algunos consumidores exigen resultados inmediatos a partir de datos en tiempo real, que actúen rápidamente sobre la información entrante para tomar decisiones instantáneas y activar respuestas. Estos sistemas de análisis y decisión en tiempo real son esenciales para el mantenimiento predictivo, la detección de brechas de seguridad y las operaciones basadas en eventos. Estos sistemas consumen API e integraciones de datos de tipo push.
-
Operativo Los cuadros de mando y las herramientas de monitoreo, como Power BI, presentan datos e informes en tiempo real. Estas herramientas proporcionan una instantánea fácil de comprender de las operaciones en curso y las métricas de rendimiento, ayudando a los equipos operativos a gestionar los recursos con eficacia e identificar las anomalías a tiempo. Facilitan la toma de decisiones informadas y la formulación de estrategias, proporcionando información a partir de datos IoT en tiempo real, históricos y agregados.
-
Conjunto de datos consumidores, como el análisis predictivo y los modelos de aprendizaje automático, aprovechan los datos históricos y en tiempo real del IoT, deduciendo patrones, tendencias y perspectivas que sirven de base para predicciones futuras. Estos consumidores son vitales para optimizar los procesos, anticipar las necesidades de mantenimiento y orientar la planificación estratégica.
-
Las aplicaciones y API externas de utilizan datos de IoT para integrarlos en otros sistemas de software, aplicaciones o servicios. Van desde aplicaciones de terceros que mejoran la funcionalidad hasta mercados de datos que ofrecen acceso a conjuntos de datos IoT específicos. Es probable que consuman API y fuentes de datos en tiempo real. Las aplicaciones industriales y las aplicaciones para consumidores proporcionan a los usuarios información sobre sus datos. Estas aplicaciones permiten a los usuarios tomar decisiones informadas y gestionar a distancia sus dispositivos IoT.
Cada tipo de consumidor de datos posee demandas y propósitos únicos. Debe existir una arquitectura de datos robusta y una capa de servicio bien elaborada para servir eficazmente a este conjunto diverso. Esto garantiza que los datos generados por los dispositivos IoT sean accesibles, relevantes y estén disponibles en formatos adaptados a las necesidades de cada consumidor, permitiéndoles extraer el máximo valor del ecosistema IoT. El Capítulo 12 se sumerge en este tema y te ofrece algunos ejemplos prácticos de cada uno de ellos.
Monitoreo, registro y seguridad
El Paisaje IoT abarca diferentes dominios dentro del contexto de IoT, pero el monitoreo, el registro y la seguridad son preocupaciones transversales en el Paisaje IoT de Azure. Son como el abono, el agua y la luz del sol que hacen que los cultivos crezcan bien.
En el contexto de Microsoft Azure y las Implementaciones de IoT en la plataforma Azure, el monitoreo, el registro y la seguridad son tres aspectos cruciales a tener en cuenta. Estos aspectos son fundamentales para garantizar la fiabilidad, visibilidad y protección de los sistemas y datos IoT. No sólo debes monitorizar tus dispositivos. Tienes que monitorizar tus sistemas de software y el propio Azure.
El monitoreo en una solución Azure IoT se refiere a la observación y medición continuas de los componentes del sistema, el comportamiento de los dispositivos y los flujos de datos. Implica el uso de herramientas y servicios para realizar un seguimiento del rendimiento, la disponibilidad y la salud de los recursos IoT. IoT Hub proporciona los datos, pero herramientas como Azure Monitor ofrecen diversas capacidades de monitoreo, incluida la visualización de datos telemétricos en tiempo real. Azure proporciona Defender para IoT, Azure Security Center y Azure Sentinel para obtener información sobre las actividades de los dispositivos, detectar anomalías y garantizar que tu solución IoT funciona según lo esperado. Al monitorear los dispositivos y la infraestructura IoT, puedes identificar proactivamente los problemas, optimizar el rendimiento y proporcionar una experiencia de usuario sin problemas.
El monitoreo se basa en el registro , que registra sistemáticamente eventos, actividades e interacciones dentro de una solución IoT. Las soluciones IoT de Azure pueden generar datos considerables, y un registro eficaz es esencial para solucionar problemas, auditar y comprender el comportamiento del sistema. Azure proporciona Azure Log Analytics y Azure Monitor, que te permiten capturar y almacenar registros de forma centralizada. Estos registros pueden ofrecer información valiosa sobre el comportamiento de los dispositivos, las interacciones de las aplicaciones y los eventos del sistema, ayudándote a diagnosticar problemas y analizar datos históricos para introducir mejoras. En el Capítulo 13 se explica cómo monitorizar tu entorno Azure y cómo las herramientas disponibles capturan y registran los datos.
La seguridad es una preocupación transversal de en las implementaciones de IoT, y Azure ofrece sólidas funciones para proteger tu solución IoT. Azure IoT proporciona aprovisionamiento seguro de dispositivos, gestión de identidades y autenticación mediante tecnologías como certificados X.509 o claves de dispositivos. El control de acceso basado en roles (RBAC) te permite controlar el acceso a los recursos en función de los roles de usuario, garantizando que sólo las personas autorizadas puedan gestionar los componentes de IoT e interactuar con ellos. Como se ha mencionado, Microsoft proporciona Azure Security Center y Sentinel para la detección de amenazas y las capacidades de protección, ayudándote a identificar y abordar posibles vulnerabilidades de seguridad en tu entorno IoT. El Capítulo 14 enumera diferentes amenazas relacionadas con los dispositivos IoT y ofrece estrategias para mitigarlas.
El monitoreo, el registro y la seguridad forman parte integral de las Implementaciones de Azure IoT. El monitoreo te permite supervisar la salud y el rendimiento de tu solución en tiempo real, el registro permite la resolución eficaz de problemas y el análisis histórico, y las medidas de seguridad protegen tu entorno IoT de accesos no autorizados y amenazas potenciales. Estos aspectos contribuyen colectivamente a un ecosistema IoT fiable, bien gestionado y seguro en la plataforma Azure.
Conclusión
Las últimas páginas te han dado una versión destilada de lo que implica este libro. Cada componente iluminado tiene su papel e importancia dentro del Paisaje del IoT. Hay mucho que considerar, desde los dispositivos hasta las rutas de datos y desde la informática de perímetro hasta el servicio de datos. Bienvenido a la vanguardia de la innovación, donde las ofertas de Azure IoT te esperan y se erigen como tu puerta de acceso a las posibilidades.
Get Arquitectura de soluciones IoT en Azure now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.