Why the Edge Needs a Distributed Operating System
by Brad Johnson, on Jun 20, 2018 9:51:00 AM
You’re a total cloud pro. You’ve mastered the message broker, dominated the database, triumphed over timers, and battled buffer-bloat. You’re in so deep your pets are named Kafka, Mongo, and Cassandra. Your enterprise company has a myriad of devices and servers deployed across multiple regions, and they’re all sending data to the cloud. Everything is connected, and data is flowing across your entire system. Now it’s time to reap the benefits of your labor, and write the software applications that will optimize your business processes and discover hidden inefficiencies within your organization. Predictive maintenance, industrial equipment health monitoring, supply chain applications, resource optimization; the possibilities are endless.
But your goal was never to store all your application data. To achieve value for your capital and technology investments, you need to use that data to improve your everyday operations. That can be a problem, because creating an application which monitors real-time processes using the historical data in a database is complex, expensive, and difficult to scale. Imagine if you were writing a computer application, and had to think about and define ahead of time which core processors would carry out various tasks. Luckily for computer application developers, this task is abstracted away by the computer’s operating system.
An Operating System for a World of Networked Supercomputers
The world today is essentially comprised of millions of networked supercomputers. Much like the CPUs, GPUs, RAM and other components which are utilized by a computer’s operating system, the IoT edge can benefit from a software operating system which abstracts away the hardware complexity of edge environments. This distributed operating system would autonomously distribute applications services about networked edge devices, optimizing compute for data locality and latency. In other words, a distributed operating system would continuously optimize service distribution for performance, much in the same way a computer operating system functions. So what’s the benefit of this? Application developers can focus on domain-specific challenges (like predictive maintenance, monitoring machine health, process optimization, etc.) without spending time on the logistical headaches of configuring 31 flavors of databases, message brokers, poll intervals, and separate APIs.
Learn how SWIM EDX functions as a distributed operating system for edge applications to deliver real-time operations insights from the dark data generated by IoT applications and other connected systems.