Reference Architecture: Descriptive Analytics using Docker
What Does This Article Cover?
This article will provide a reference architecture focused on enabling industrial data analysis utilizing Eclipse Ditto as a real-time digital twin.
- General Deployment Guidelines
- Reference Architecture Diagram
- Deployment Details
- Use Case Overview
- Summary
- Other Resources
General Deployment Guidelines
It is recommended to install the Intelligence Hub as close to the data source(s) as possible to ensure optimal access to the source data. The occasional unavailability of the output destination can be effectively managed with the Intelligence Hub's Store and Forward feature. This feature, designed as a failsafe for rare occasions when the output cannot be reached, buffers the data locally in a SQLite database and forwards it once the output target is accessible again. Deploying Intelligence Hub at the edge thus leverages this capability to enhance data integrity and reliability.
Intelligence Hub is licensed by physical site, one license supports unlimited installations for the licensed site. This enables flexible deployment strategies to deploy the Intelligence Hub by use case, by line or other methods.
HighByte encourages users to apply the DRY (Don't Repeat Yourself) principal when building use cases in the Intelligence Hub. Ensure Models are built with re-usability in mind. Consider using Intelligence Hub Templating to quickly scale use cases from one point to many.
When use cases span across multiple sites, HighByte recommends licensing a Central Configuration environment within a data center or cloud environment. This will provide users a single access point to easily manage and distribute configurations.
Reference Architecture Diagram
The following utilizes two Professional Intelligence Hub licenses. Building 1 and 2 share a physical address qualifying to share a license. The data center is located at a separate physical address and requires a second license.
Deployment Details
- Intelligence Hub instances are deployed in Docker containers within a Kubernetes environment. This allows for easy Intelligence Hub version upgrades and quick delivery utilizing CI/CD processes.
- New and existing use cases are developed within the Intelligence Hub Dev environment and deployed to production instances via Intelligence Hub's Central Configuration.
Use Case Overview
This reference architecture features multiple Intelligence Hub deployments that align with physical buildings. Each building consists of multiple floors or areas that controls engineers need to support.
- Alarm and status standardization: One of the main challenges this solution enables is the standardizing of alarm and status codes amongst devices. At the source, devices could have varying data structures that could mean the same thing. In the example below you can see several different examples of how an Emergency Stop value could be represented in many different ways. Not only are the tag names different, but the corresponding values also are different device to device.
- Using the Intelligence Hub, users can create common Information Models to establish standardized data into a Unified Namespace for consumption.
- Eclipse Ditto: Modeled data is delivered to Eclipse Ditto which acts as the real-time digital twin. Intelligence Hub enables standardized data models and ensures each payload includes an asset or process ID with the relevant data properties. Eclipse consumes the incoming JSON payload and automatically creates a "ThingID" that is used to query and utilize this data in consuming systems. Eclipse Ditto is extremely flexible for querying data via their REST API. This allows for quick data access to fulfil various use cases.
- Status Dashboards: Another challenge this solution addresses is providing real-time visibility of work areas utilizing Grafana. Engineers are required to maintain and monitor multiple work cells through their shifts. These work areas can span multiple floors which poses many challenges. Intelligence Hub standardizes data from the source systems and enables standard alarm definitions (Critical, High, Medium) that engineers can review, prioritize and react by monitoring the HMIs.
Summary
By utilizing Docker for the Intelligence Hub deployments, users can easily deploy product upgrades and monitor application health via their CI/CD processes. This architecture utilizes a development Intelligence Hub instance that allows users to safely build and manage new and existing use cases. Utilizing Intelligence Hub's Central Configuration, configurations can easily be synced to production instances ensuring proper data governance and integrity. This also ensures use cases and common data models are easily deployed and utilized at each licensed location.
Using the Intelligence Hub's modeling engine, users can create common data structures and in this example, standardize alert and alarm definitions. By doing this within the abstraction layer Intelligence Hub provides, source systems can remain operational in their current state and ensure the data modeled and ready for usage by the consuming systems.