In November, 2020 Red Hat announced the availability of an AI/ML Industrial Edge solution based on an effort for boosting manufacturing efficiency and product quality with AI/ML, edge computing and Kubernetes. A year has passed and while the technology and products have improved, the opportunity remains the same. This article covers some of the advances in technologies as well as a new GitOps framework for managing all the components through the lifecycle of the pattern.
The combination of edge computing and AI/ML means that manufacturers can benefit from bringing processing power closer to data. The solution can help proactively discover potential errors at the assembly line faster, help improve product quality, and even reduce potential downtime through predictive maintenance. In the unlikely event of a drop in communications with the central datacater, individual manufacturing plants can continue to operate.
The earlier solution was based on real world collaboration with Red Hat customers, and reviewed by Red Hat consultants and engineers.
Red Hat is continuing to work on the solution with the creation of Red Hat validated patterns, which double down on the use of GitOps, simplify the deployment experience, and use automation to create a lifecycle that ensures they continue to work as new versions of the dependent products are released. Fig. 1. Industrial Edge validated pattern logical diagram
Why validated patterns are needed
While Kubernetes, and products like Red Hat OpenShift, provide an incredibly scalable platform for deploying applications and services, we can help customers achieve success faster with validated patterns for known workloads. The division of labor between various management pieces is not always clear and for application developers it can be difficult to understand where to begin, or where things might have gone wrong.
For Red Hat and our customers it also is a question of how do we ensure that these cloud native technologies continue to work together as they evolve, while still supporting the solutions that have been built? One way is to automate validated patterns and update them as the technologies and patterns improve. Having an opinionated validated pattern gives users confidence and helps Red Hat provide better product support to our customers.
Simplification through layering
By taking a layered approach the validated patterns framework is able to separate out the areas of concern. Edge cluster management, GitOps, DevOps and product operations are all kept within their layer. This way it is easier to deploy new components, such as additional sites, applications, and cloud native Kubernetes Operators, if needed, and update existing components, as product updates occur.
This can also help partners and vendors to more intuitively include their products into these, otherwise, complex validated patterns.
There are several supported and recommended ways to deploy OpenShift both in a cloud or on premises. Rather than create another, the validated pattern effort for Industrial Edge focuses primarily on deploying the pattern onto an existing OpenShift cluster. While the validated pattern does have recommended minimum requirements, it does not perform any provisioning itself. Our mantra is, bring your own OpenShift (BYOO).
All flows through OpenShift GitOps
For the most effective management and automation of the validated pattern we have chosen OpenShift GitOps to deploy and manage the aspects of the Industrial Edge applications onto the OpenShift clusters at the datacenter and at the factories.
OpenShift GitOps helps to have visibility and traceability into changes rolled out to clusters, whether they originate from cluster configurations or application deployments. Validated patterns use OpenShift GitOps to sync the state of OpenShift cluster configurations and application deployments automatically with any change made in the Git repository.
As developer code is checked into the repository Red Hat OpenShift Pipelines build and test the images, push them to the appropriate registries, and update the configuration in Git to reference them. These changes will be picked up by OpenShift GitOps and deployed to testing and staging environments and ultimately to the factories.
Red Hat ACM for edge cluster management and policy enforcement
Red Hat Advanced Cluster Management is used to apply security policies and to manage the edge clusters, factories, in the Industrial Edge validated pattern. Attaching the factory cluster to the datacenter ensures that the factory has the proper channel subscription to deploy OpenShift GitOps to the cluster. Once OpenShift GitOps is deployed, it deploys and manages all the applications and operators for the factory.
Fig. 3. Deploying Industrial Edge validated pattern to the factory
Templating makes it easier for architects and developers
Getting started couldn’t be much easier - though we’re still trying. By using Helm for templating we’ve been able to make installation of the validated pattern down to two steps for the data center and one for each factory. Developers and/or architects need only load their GitHub, Quay, and other credentials into a locally stored secrets file and the validated patterns framework will do the rest.
The templating is actually a very small step but it makes sure that OpenShift GitOps can drive the rest. The templates include sub-patterns that can be applied to the multiple layers that were mentioned earlier. These sub-patterns help to deploy the components consistently and apply best practices.
The end result is a bill of materials for each validated pattern, that clearly and centrally indicates the full list of namespaces, subscriptions, and configuration bundles needed for the solution.
QE Multi-product Pipeline System (MPS)
The primary purpose for the validated patterns is to provide better support for our customers use cases. By taking patterns that have proven to work, that have been validated by our experts, and moving them into an automation framework, this allows Red Hat to continuously deploy, test and validate the pattern.
Therefore one of the downstream consumers of validated patterns is Red Hat Quality Engineering. Dedicated Quality Engineers are taking the framework and moving into the QA Multi-product Pipelines System environment and testing as products are upgraded.
The Red Hat validated patterns engineering team are already working on their next validated pattern - medical diagnosis for edge - and continue to work with Red Hat QE to improve the validation process even further.
If you’d like to get involved, please go to the Hybrid Cloud Patterns site for more information and download the pattern today from the industrial-edge repository on GitHub. Experiment with it, try replacing the anomaly detection models with your own, or even try a completely different AI/ML application. This is the open source way, and we welcome contributions to the project.
Red Hat products & projects included in Industrial Edge 2.0 validated pattern
About the authors
William Henry is a software and IT enthusiast with more than 30 years of experience developing distributed applications and systems and service-oriented architectures for both government and private industry. Henry works in Red Hat's Ecosystem Engineering Team, focusing on validated enterprise patterns in cloud-native environments.
Andrew Beekhof works for Red Hat in Melbourne. Beekhof has been an enthustiast of high availability for over 20 years, and recently embraced GitOps as a powerful mechanism for validating, deploying, and updating cross-product solutions.