Cloud computing has been a dominant buzzword in the software industry for the last 10 years or so. Pushing workloads to remote servers has become the industry standard for almost all data processing and storage, but as the IoT community continues to innovate we find ourselves pushing some of this workload back out towards the edge. Some may call this edge computing, but others have continued with the weather related computing terms with Fog and Mist Computing. Let’s explore these concepts…
Fog Computing
Let’s delve one layer below the clouds: the fog. Fog computing devices extend beyond the cloud, physically closer to the edge. These devices can be deployed pretty much anywhere with a network connection. Fog devices are typically computers with storage and networking capabilities, but they are located on the edge. Personally, I would consider Edge Computing and Fog Computing synonyms, however some may argue that Fog is a little more IoT focused. Fog applications have an incredibly wide range of use cases since most IoT devices can connect to the Internet with relative ease. Some example use cases may include: smart homes, farming, energy management, healthcare, and many more. The ability to have a computer running with an Internet connection is what these Fog examples have in common, typically in a stationary location. The rise of Fog Computing is being driven by the rapidly expanding IoT industry and the need for edge computing.
Mist Computing
Mist Computing is the extreme edge consisting of lightweight computers, typically microcomputers and/or micro-controllers, and sensors. These devices do not necessarily have an Internet connection at all times. In many cases, Mist devices do not have storage and/or compute capabilities. Mist is the essence of IoT, consisting of the core hardware which makes IoT powerful. Some examples are smart cities, connected factories, trucking, shipping, etc. In these examples devices are not necessarily stationary and can be single purpose, meaning a device can be a simple sensor recording or streaming data to another device. An interesting comparison between the various levels can be found here.
Connecting the Cloud, Fog, and Mist
For the most part, these terms are used to describe the layer in which devices exist. While you can have a single layer, most architectures would involve a mixture of Cloud, Fog, and Mist. The Cloud and Fog are both always connected to the internet. Cloud servers are connected with incredibly high bandwidth connections, while Fog computing devices typically are not. Fog devices would most likely be connected via a standard broadband connection or slower. Mist devices may or may not be connected to the Internet. If they are, it would usually be via a cellular connection. In other cases, Mist devices may be connected via a mesh network where devices communicate with each other to form a localized network. In this case, there may be a larger device connected to the mesh network that also has an Internet connection, connecting the Mist to the Fog and/or Cloud. Mist devices can also be sent into the field with no network, where data is pulled only when they return to some sort of base. Take for example a submarine, it is difficult and costly to constantly communicate with a submarine, but data collection is vital. Data can be recorded for months, only to be read, aggregated, and analyzed on return to port. Suffice it to say, all forms of IoT can be connected in many different ways.
Analytics in the Mist
Establishing the network between Mist, Fog, and Cloud devices is vital to maximize the analytics capabilities of the infrastructure. As of today, nearly all of edge data collected is wasted. Stephen, our CEO, describes this issue more in-depth in his IoT Agenda blog post. We at HarperDB have been advocating, since day one, to push as much analytics to the edge as possible. Taking a tiered approach, by running different levels of analytics on different levels of hardware, allows organizations to utilize their existing infrastructure to provide the business intelligence where it matters. Mist devices can be used to constantly monitor conditions and provide real-time, local alerts. At the same time, they can be transferring data to Fog devices, which can be collecting additional data points, for regional level analytics. Finally, this data can be synced to the Cloud for resource intensive processes like machine learning and historical analysis.
HarperDB’s Embrace of the Mist
Our database is lightweight at 65MB, so it fits nicely within both Cloud and Fog computing, but a Mist device may be even smaller. Our roadmap includes a C client used for integrating even the lightest of devices with HarperDB. We like to keep things simple, so we want to make it as easy as possible for developers of all skill levels to write data. This client would enable even the lightest Mist devices to communicate with HarperDB for all I/O. Our goal is to have the client available by mid-2018. In the meantime, get in touch with us to learn more about how HarperDB can improve your Cloud/Fog/Mist forecast!