October 2021

3 min. de lectura

Azure SCADA IoT

Jesús Rodrigo Medrán

En este articulo os vamos a hablar de los SCADA desarrollados con Microsoft Azure, comentando sus ventajas y sus mejoras de posibilidades con respecto a los SCADA tradicionales.

En primer lugar, debemos saber qué ventajas nos ofrece Azure, por ejemplo:

  • Gran variedad de servicios para la captación y tratamiento de los datos capturados de dispositivos IoT, PLCs, etc.
  • Variedad de posibilidades a la hora de almacenar datos, entre ellas bases de datos relacionales (SQL) o no relacionales y orientadas a documentos (CosmosDb).
  • Libertad para desarrollar aplicaciones adaptadas a la solución que se deseé en el lenguaje de programación que se prefiera (TypeScript/JavaScript, C#, Java,Python, etc.).
  • Gran seguridad de los sistemas gracias a los servicios de proporciona Azure, como Active Directory (AD) o Key Vault, para acceso seguro de usuarios y mantenimiento de claves respectivamente.
  • Posibilidad de aplicar Inteligencia Artificial y Machine Learning a los datos recogidos de planta.

Estas son algunas de las ventajas más destacadas, pero además existen otras características interesantes ligadas a Microsoft Azure, como la facilidad para trazar errores en el sistema mediante el servicio de Azure Monitor (Application Insights) y la posibilidad de gestión de repositorios, tareas y despliegues automáticos con Azure DevOps.

SCADAs IoT

Desarrollar un SCADA con Azure permite crear soluciones ad-hoc para los clientes, ya que la libertad es total, pudiendo definir arquitecturas específicas a medida y con sus servicios adaptados totalmente a las necesidades del cliente.

Estructura

La estructura de estos SCADAs se puede dividir en tres partes, el Core, eje central del aplicativo, y BackEnd y FrontEnd, que aportan la versatilidad del desarrollo web al SCADA, pudiendo crear un entorno web a gusto del cliente.  

Core

En el Core es donde se tratarían los datos almacenados en las bases de datos, adaptándolos y realizando cálculos si fuera preciso mediante Events Hub, Streams Analytics o Azure Functions, como servicios principales.

Ejemplo de arquitectura con Microsoft Azure

  • Events Hub: son los encargados de ingestar los datos, y de ellos manan las Functions y los Streams Analytics. En los Event Hubs se permite, además, realizar análisis de datos, como por ejemplo detección de anomalías.
  • Streams Analytics: queries que permiten realizar filtrados y tratamientos sencillos de datos sin necesidad de usar las Functions, por ejemplo, dejar pasar eventos, o añadir y quitar información.
  • Azure Functions: son servicios que se ejecutan de manera independiente realizando sus respectivas tareas y que permiten, por ejemplo, gestión de notificaciones o cálculo de variables entre otros.

La gama de las Azure Functions es muy amplia, ya que pueden ser creadas para ser lanzadas ante eventos, temporizadores, colas, etc. y permiten hacer todo el procesado que se desee.

Otra ventaja que ofrece este servicio es que al aumentar las solicitudes, automáticamente asigna más recursos, ajustándose a la demanda.

  •  Bases de datos: Azure ofrece la posibilidad de trabajar con distintas bases de datos, aportando una gran flexibilidad, por ejemplo, bases de datos SQL, CosmosDb, Redis, Data Explorer o TSI. Cada una de ellas orientada a un determinado objetivo en función del cliente.

Backend

Azure permite la creación de App Services para desarrollar los backends que se deseen, en el lenguaje de programación que se quiera (.NET, Node, Java, etc).

Este backend puede ser enriquecido con todos los endpoints que se necesiten para obtener los datos almacenados y poder visualizarlos en la Web.

FrontEnd

Como en toda aplicación Web se dispone de un FrontEnd que muestra los datos almacenados y que son servidos por el backend.

Azure permite crear una interfaz a gusto del cliente, con todas las funcionalidades que ofrece Angular.

Ejemplo de FrontEnd.

Escalabilidad

Una ventaja fundamental del uso de Azure para el desarrollo de SCADAs IoT es la sencillez de escalabilidad que aporta a los proyectos, garantizando su rendimiento y las necesidades de almacenamiento de datos.

Además, permite adaptar los recursos asignados a cada servicio según convenga en función de las necesidades del cliente, ajustar el gasto mensual, y realizar previsiones de costes a futuro de acuerdo con el crecimiento previsto del proyecto.

En definitiva, usar Azure para desarrollar SCADAs IoT es una solución extraordinaria para alcanzar el éxito, ya que, además de todas las ventajas mencionadas en cuanto a captura y tratamiento de datos, almacenamiento en bases de datos, capacidad de adaptación a las necesidades específicas del cliente, y la seguridad que aporta la disponibilidad de la información en la nube, permite hacer crecer el sistema todo lo que se desee de manera rápida y sencilla, sin impacto sobre su estabilidad y su rendimiento.

Desarrollo de software
Azure
IoT
SCADA
Function
Streams analytics
Base de datos
Escalabilidad

¿Te ha gustado?

Compártelo en redes sociales

Descubre más

Ver más contenido