• Keller
November 30, 2022

Industrial IoT solutions: how to connect machines to the cloud

We designed and developed an end-to-end integration platform for Keller, the world’s largest geotechnical solutions specialist. Our product allows managers and engineers to have real-time access to their heavy construction-field machinery. This opens new doors for future Business Analysis, Data Science, and Machine Learning solutions. Overall, and thanks to the real-time connection between the field and the office, Keller’s workflow has been astonishingly improved, production problems solved much faster, and decision-making taken to the next level.

ASSIGNMENT

The request to connect industrial machines either deployed on the field or inside factories is one of the greatest demands of industry 4.0. When coupled with a skilled team, cloud solutions allow for fast developments with little upfront cost. Engineers and managers want real-time information on the status of their machines, to push tasks to operators, and to collect and analyze machine data for multiple technical and business purposes. To do this, the information is collected and pre-processed in the machines, ensuring accuracy and reliability. This information is then sent through an internet link to the cloud. This last step uses state-of-the-art security solutions to ensure data safety. Once the data are in the cloud and reliably stored, they must be post-processed, then they are ready for engineers and managers to inspect. Tasks for operators can then be pushed to the cloud for the machines to fetch them in a similar fashion. Using Combine’s highly-skilled and multi-disciplinary team, a complex process that once involved multiple company departments, and years of work can now be achieved in months.

Image credit: Keller

 
 

THE STRATEGY: A MICRO-SERVICES ARCHITECTURE

One of the keys to tackling big multi-layered problems is to split them into multiple smaller pieces. And one of the advantages of cloud solutions is that they allow us to extend this approach to the deployment and creation of infrastructure. Therefore, modularization can be carried up to its maximum consequences. This increases the reliability, flexibility, and long-term maintainability of software solutions. In cloud deployments, this modular approach is known as micro-services architecture. It consists of splitting the cloud system into multiple smaller parts, which communicate with each other through defined communication channels, but that act independently of each other. It allows for changing, replacing and updating each of the components independently, achieving a high-availability solution. This also reduces the complexity of most components. The final architecture that was deployed can be seen below, where Combine developed those components either in bold or in black, as well as the interconnections between them:

Figure 1: Micro-services architecture used implemented for Keller

 

Although may be unclear to the untrained eye, it has a multitude of features that simplify development. Some of the most important ones are:

  • Many of the components, especially those ensuring that the system will never be down, like the security gateway or the storage system, are cloud-provided services. This reduces the up-front costs and the time-to-market by outsourcing the most resource-intensive tasks.
  • A security gateway which takes care of warrantying secure, encrypted communication with the clients and verifying the validity of the incoming traffic. For this second purpose, a series of audited Keller’s security policies are in place. This gateway increases the solution’s security and efficiency by concentrating all security efforts on a small service. Additionally, the warranty that any traffic which goes through it can be trusted allows all other moving parts to be shielded from external security risks and to relax their security requirements.
  • The heavy Data Analysis tasks are off-loaded from the main component (App API), allowing real-time processing of other relevant data. Additionally, it has the potential to save costs on computational-heavy Data Science, by scheduling the work during low-cost timeframes.
  • All data is stored in dedicated solutions for storage provided by the cloud service: the SQL database and the so-called blob storage. These two components are the only ones that store data from the whole architecture and have very high availability and persistence warranties. They contribute to the project’s reliability by allowing any other component to fail without ever risking data loss.
  • The processing (App API and Data Analysis) and UI elements are split, allowing improvements to be developed and deployed independently. The graphics elements can be changed, and fail, without ever posing a risk to the processing work, or interfering with machine operations.

However, the benefits of this architecture do not only lie on the technical side. In pre-cloud times, a similar product description, with a high number of moving parts and high-availability requisite would have required some great up-front investment and the creation of a specific infrastructure team. In consequence, very long times to market and production can be expected. Cloud solutions allow to spread the up-front investment, reduce the requirements for highly-specialized professionals and greatly shorten the times to market and production. Still, cloud solutions come with their drawbacks. On one hand, the up-front investment is replaced by smaller but regular payments, which can hardly be reduced or disappear as long as the service is required. On the other hand, it creates a strong bond and often also a dependency on the cloud provider, known as vendor lock-in, which has a great harming potential. Combine’s multi-disciplinary team can, however, help alleviate this last issue. If you want to know how just continue reading!
 
 

FAST RESPONSE TO CHALLENGES: FLEXIBILITY AT THE CORE OF OUR SOLUTIONS

Although initially the main challenge that we identified for the project was its many parts and complexity, the future had a surprise waiting for us. More than halfway through the project, and close to the first production release, an unexpected request came from Keller. The internal IT team had requested the product owner to get the project under their umbrella, for security and compliance reasons. For us, that meant integrating with their IT security and infrastructure groups. But also to change cloud providers from AWS to Azure, which can be a big challenge due to some cloud providers often discouraging interoperability. For the project, it meant an unexpected cost due to the contract changes, and a delay in the production deadline. In other companies, that might have been an inflection point in the project, creating unnecessary overhead and degradation of the confidence and communication with the client. This then has the potential to lead to a product quality decrease or even failure. However, Combine’s flexible mindset both at the management and engineering layers allowed for minimal disruptions. Shortly after the announcement, the engineering team began analyzing the differences in the infrastructure available between AWS and Azure. Although the services offered are often very similar, the process for their use and configuration, and the level of maturity of the platforms vary widely. Shortly after, it was clear that although the architecture also fitted the Azure cloud, changes to the development and deployment process were necessary. With this analysis in mind, management arranged a new agreement for a 1-month transition project at the cost of 20% of the original project. Such minimal disruptions for a complete provider change were possible due to the approach taken by Combine’s engineers regarding the cloud services. Each of the designed components had been documented and deployed as infrastructure-as-code when possible, and self-developed tools were packaged in Docker containers. Both of these solutions allow easier plug-and-play setups than other vendor-specific deployment tools. In consequence, we were able to avoid a hard vendor lock-in to AWS, which allowed a seamless, fast, and cost-efficient transition to Azure.
 
 

RESULTS, SCALABILITY, AND EXPANDING FRONTIERS

The initial project was a total success, with the solution entering production before any field machine did, despite the delay for the changed requirements. The implemented solution allowed the client management and engineers to get accurate real-time information, push instructions to field operators, and obtain an accurate analysis of the overall production status. However, success stories rarely finish with a simple “Thank you and goodbye!”. Instead, customer satisfaction can be proved by the fact that we not only continue providing maintenance but we were also requested to integrate newly-developed machines. In consequence, the second type of machine is finishing its integration, and a project for a third kind is on its way! These new machines will challenge our architecture, where we are enthusiastic to further prove its scalability properties and keep expanding the project frontiers.

Image credit: Keller

 

Visit Keller

 
 

Find out how our consultants can take your operations to the next level:


Contact Simon Yngve

simon.yngve@combine.se
+46 731 23 45 67

Want to stay up to date of what is happening at the Edge of technology development? Sign up for our community and newsletter, Edge by Combine.