See how digital transformation can change your business and help your organization develop new capabilities. Click here

Case Study: Controller HMI in the Cloud...

By Team enkaytech, August 10th, 2023

The Customer

The customer is a leading provider of industrial automation solutions, such as controllers, sensors, actuators, and software. They have a global presence and serve various industries, such as manufacturing, oil and gas, mining, etc.

Business Challenge

The customer wanted to improve the efficiency and productivity of their engineers who install and configure controllers in the field. Before they went to the field, they wanted to enable their engineers to provision a controller using a web-based HMI (Human Machine Interface) that was hosted in the cloud. This would save time and resources and reduce errors and rework.

The customer also wanted to ensure that the controller HMI in the cloud was securely connected to the on-premise controller hardware that contained a PostgreSQL database. The controller database was the master, which would keep data in a remote PostgreSQL cloud database via events. The customer wanted to use Azure IoT Hub for communication between the cloud and edge devices.

CRM Integrations

Solution Overview

Enkaytech designed and developed a solution that used Azure Kubernetes Services (AKS) and Ingress Controller for hosting the controller HMI in the cloud. The solution had the following components:

  • Controller HMI: A web-based application that allowed engineers to provision and configure controllers using a graphical interface. The application was developed using React.js and Node.js, and was deployed as a Docker container in an AKS cluster.
  • AKS Cluster: A managed Kubernetes service that provided high availability, scalability, and security for the controller HMI application. The AKS cluster consisted of multiple nodes (virtual machines) that ran the Docker containers. The AKS cluster also had an Ingress Controller that exposed the controller HMI application to the internet using a public IP address and a domain name.
  • Ingress Controller: A Kubernetes resource that managed the inbound traffic to the AKS cluster. The Ingress Controller used Nginx as the reverse proxy and load balancer for the controller HMI application. The Ingress Controller also enabled SSL/TLS encryption for the communication between the browser and the controller HMI application.
  • Azure IoT Hub: A cloud service that enabled bi-directional communication between the cloud and the edge devices (controller hardware). The Azure IoT Hub used MQTT protocol for sending and receiving messages between the devices and the cloud. The Azure IoT Hub also provided device management, authentication, authorization, and monitoring capabilities.
  • Controller Hardware: A physical device that contained a controller board and a PostgreSQL database. The controller hardware was connected to the internet via Ethernet or Wi-Fi. The controller hardware also had an IoT Edge runtime that enabled it to communicate with the Azure IoT Hub.
  • PostgreSQL Database: A relational database that stored the configuration data of the controller. The PostgreSQL database was hosted on the controller hardware and was configured as the master database. The PostgreSQL database also used logical replication to send events to a remote PostgreSQL cloud database, which acted as a replica database.

Benefits

  • The solution provided by Enkaytech helped the customer achieve theirLogic-Apps.jpg business objectives by:
  • Improving the efficiency and productivity of their engineers who could provision and configure controllers using a web-based HMI in the cloud, before they went to the field.
  • Reducing the time and resources required for installing and configuring controllers in the field, as well as minimizing errors and rework.
  • Ensuring secure and reliable communication between the cloud and the edge devices using Azure IoT Hub and SSL/TLS encryption.
  • Providing high availability, scalability, and security for the controller HMI application using AKS cluster and Ingress Controller.
  • Maintaining data consistency between the master and replica PostgreSQL databases using logical replication.

Technologies Used

  • Azure Kubernetes Services (AKS)
  • Ingress Controller
  • Nginx
  • Azure IoT Hub
  • MQTT
  • IoT Edge
  • React.js
  • Node.js
  • Docker
  • PostgreSQL

Conclusion

The project demonstrated the feasibility and benefits of using Azure Kubernetes Services (AKS) and Ingress Controller for hosting Controller HMI in the cloud. By using AKS, the project team was able to deploy and manage the HMI application in a scalable, reliable, and secure way. By using Ingress Controller, the project team was able to expose the HMI application to the Internet using Azure’s native Application Gateway L7 load-balancer, which provided features such as URL routing, TLS termination, and Web Application Firewall (WAF) protection. The project also leveraged Azure IoT Hub to connect the cloud HMI with the on-premises controller hardware, which contained a PostgreSQL database. The database synchronization was achieved by using events to update the remote PostgreSQL cloud database from the master database in the controller hardware.

Contact US

Tell Us About Your Project

Please fill out the quick form and we will be in touch with lightning speed.