MQTT Sparkplug: Bridging IT and OT in Industry 4.0

Industrial companies are always looking to improve their competitiveness in terms of productivity, profitability, flexibility, quality, and agility. Most of them will use Industry 4.0 technologies to solve this problem. By investing more in the digital transformation of the factory, they want to achieve a high level of automation, better product quality tracking records, production scale-up, and sustainable development for the organizations. But before they go any further in budgeting, they should take a step back and consider whether their factory's IT and OT infrastructure can support a large number of additional new systems and equipment. This is an important consideration that most companies ignore.

At the heart of Industry 4.0 is the IIoT, which enables factories to connect their machines, sensors, robots, and other devices to the Internet and each other. One of the key challenges in implementing the IIoT is choosing the right communication standard that can meet the demands of Industry 4.0. MQTT Sparkplug is a communication protocol designed specifically for IIoT, and in this blog, we will dive into MQTT Sparkplug and see what it brings to Industry 4.0.

Beyond SCADA: Consolidating Your OT With an IIoT Platform

Industrial enterprises use SCADA as a process control system to monitor data acquisition processes and oversee various related workflows. The data coming from OT devices is taken in by SCADA systems and integrated into the SCADA ecosystem as applications covering a range of use cases for the shop floor. So why does an industrial IoT platform still make sense here? 

One downside of SCADA is that these systems are not made for rapid scaling. They do not accommodate change so easily. Most of the time, the processes are slow and inflexible. Further, the data collection processes, though robust, have their limitations. They are usually only suited for monitoring, supervision, and sending out alerts at best. More sophisticated analytics or use cases based on machine learning are out of reach. 

How Do CRDTs Solve Distributed Data Consistency Challenges?

This is an article about the complexity of maintaining data consistency in distributed environments. It introduces conflict-free replicated data types (CRDTs) as a way to resolve concurrent data changes.

Common Data Consistency Challenges

Consider a situation where there are several distributed entities that each hold a copy of the same data. Data consistency is maintained if those copies continue to match each other, even when one or more of them are updated.

Is Blockchain Tech the Solution to IIoT Security Dilemmas?

Digital transformation and the convergence of IT and OT in the industrial space have resulted in considerable challenges in securing infrastructures. This includes power grids, nuclear power plants, oil rigs, Supervisory Control and Data Acquisition (SCADA) systems, and machinery in factories and locations that traditionally have enjoyed security by obscurity. 

While IoT provides critical data insights, it also means systems are vulnerable to cyberattacks, and network-level protection is not enough. Working with data brings significant challenges, from data generation, transportation, and storage to controlling data access, analytics, and sharing amongst multiple parties. To deal with these challenges, organizations need new tools, processes, and cybersecurity architectures. 

How to Build Scalable, Stateful Java Services in Under 15 Minutes

Five years ago when I started tracking media buzz around stateful architectures, I’d see a few articles every month about running stateful containers. That's about when Caitie McCaffrey first shared this awesome presentation about building scalable stateful architectures. Since then, the dominant software paradigm has become functional application design. The actor model and other object-oriented paradigms are still in use, but database-centric RESTful architectures are standard means of building web applications today.

However, the tides are beginning to shift. Due to innovations like the blockchain, growing demand for real-time applications, the digitization of OT assets, and the proliferation of cheap compute resources at the network edge; there’s renewed interest in decentralized application architectures. As such, there’s also been increased focus on stateful applications. For example, at least five Apache Foundation projects (Beam, Flink, Spark, Samza, and TomEE) are touting statefulness as a benefit today. Modern applications communicate across multiple application silos and must span real-world machines, devices, and distributed data centers around the world. Stateful application architectures provide a way to abstract away the logistical effort of state management, thereby reducing development and management effort necessary to operate massive-scale distributed applications.

Build a Scalable, Stateful To-Do List in 15 Minutes or Less

For the rest of this post, I want to disprove the notion that building scalable, stateful applications is a task too complex for everyday Java developers. In order to illustrate how easily a stateful application can be setup, we’ll walk through a tutorial for building a simple to-do list using the Swim platform. You can find all the source code for the to-do list tutorial here on GitHub.