The endpoint is key to the golden rule. Better processors, cheaper memory, and better networking stacks from companies like Haystack are evolving endpoints from dumb terminals to independent, distributed computing devices with real-time query (think Google for the IoT) and NoSQL-like filesystem support. Endpoint-centric designs also have the bonus of being more stealthy and secure, faster, cheaper, and better stewards of battery life and wireless bandwidth. In short, good IoT network design should begin with the endpoint in mind and “dumb” endpoint technologies that beacon or create unnecessary security risks should be phased out.

Endpoint-centric design brings us closer to a P2P IoT. If you envision a future with IoT devices that can operate more or less autonomously using artificial intelligence, intelligent agents, or blockchain-based contracts, it means reducing (or eliminating) our dependence on clouds and edge gateways and allowing devices to communicate on a peer-to-peer basis to do their jobs. This could be a separate post unto itself, but here are just a few examples of P2P IoT application opportunities:

Driverless cars and drones communicating with smart city infrastructure. You need immediate, low latency info about the icy bridge or railroad track you are about to cross. Waiting 2–3minutes for a cloud app to make time for you is a non-starter. Actually, any moving thing that communicates with a fixed thing using low power wireless needs P2P.

Moisture sensors coordinating in a cornfield to better manage irrigation. Where water is scarce, programs residing on endpoints bid and arbitrate in order to optimize for food production.

Access control. Second-factor authentication. The P2P IoT as an additional security layer for data centers and other computing devices.

Supply chain networks. Chain-of-custody tracking. A nurse querying the temperature history of a carton of flu vaccine can do so without the cloud.

Bitcoin. P2P payments. Autonomous, battery-powered, wireless things will bid, negotiate, and execute financial transactions based on the condition of what or who they are sensing.

Augmented reality wearables.

Most of today’s wireless IoT technologies were not designed for P2P:

Bluetooth low energy is basically a one-way beaconing technology so is not P2P. It’s sister standard, Bluetooth 4.0, can “pair” with another Bluetooth 4.0 device but it’s a long, laborious process that is neither real-time nor low power and is full of security vulnerabilities. Bluetooth’s short range and poor signal propagation make it a poor choice for anything but the shortest range IoT projects.

ZigBee and 6lowPAN tout “meshing” as a way for their short range technologies to daisy-chain messages to an edge gateway. This might qualify as “P2P-lite” but for private networks only since the feature is useless in public network scenarios like driverless cars or AR wearables where true P2P discovery and authentication must occur almost instantly. These technologies are also good if you are OK with hackers being able to easily find and exploit their endpoints.

WiFi supports mesh networking as well and recently announced plans for better P2P support, though its woeful security and high power consumption make it rarer and rarer in IoT deployments. WiFi, too, suffers from molasses-like discovery and authentication which is a non-starter for most IoT networks, especially public ones. I do not expect WiFi to find its way into serious P2P IoT discussions despite its ubiquity on smartphones.

Newer wireless IoT technologies like DASH7 were built directly for P2P and provide “instant-on” connections in public and private IoT networks. The technology is still young, but it gets P2P more right than any other low power wireless IoT technology. DASH7 does not currently support meshing (it supports 2-hop, which is typically more than sufficient) but since it uses longer range physical layer technologies, meshing is almost always unnecessary.

“Quite a lot of this content won’t be sent over the network to be processed by the ‘enterprise-based’ cloud infrastructure. Rather, you will need cloud computing-like processing at the edge … Quite simply, this is a big deal.” — Vernon Turner, SVP @ IDC.

When endpoints are not enough, then add the edge. For processes that can’t logically reside entirely at the endpoint, the edge gateway (or edge router or server) is their next logical home in the network. An edge gateway can interact with endpoints, host applications like analytics, store data, manage security, and more. There are no rules about the size or capabilities of edge gateways — they can be very simple or very large computing devices or may be a component of a much larger computing device. But the essential point in all of this is that the edge gateway is controlled and maintained locally and not in the cloud and not by a third party.

Think of the edge as a “cloudlet”. Smart cloud vendors will help customers bring cloud functionality to their edge devices as functionality that is usually delegated to the cloud can often be executed at the edge gateway. Gateway hardware is cheap and powerful, and much of what resides in the cloud can be placed at the edge for an increasingly ridiculous low price. Cisco, IBM, and a few others are trying to make “fog computing” a trendy term and … this is all for the better. And for those legacy firms doing yoga moves to transition into this cloud thing, it’s possible that your product lines can more easily make a more successful and shorter leap to the edge/fog.

The “Intranet of Things” is already here. Remember that the IoT is not new. Barcode and RFID networks have used fog computing for decades and hundreds of building automation, defense, manufacturing, and other types of local IoT networks existed before the cloud became a trend.

Special reminder to cloud people reading this with clenched teeth: helping your customers to keep more of their data at the edge of their network is a good thing for you. If you keep what belongs in the cloud in the cloud (e.g. global network analytics) and what belongs at the edge at the edge, your customers (and their CSO’s and PR people) will thank you for it. Some of you already market “private clouds” or “hybrid clouds”, so marketing “local clouds” may be easier than you think. And keep in mind that 40% of all IoT data is predicted to be “stored, processed, analyzed, and acted upon close to, or at the edge, of the network,” by 2018 according to IDC.

When the edge is still not enough, it’s OK to look to the cloud. The cloud has a role to play in the IoT, and where processes cannot be practically executed at the endpoint or the edge, the cloud may be the only reasonable choice. Batching data from gateways around the world for non-real time, non-mission critical analysis is one example of a “smart” cloud+IoT process. Controlling, configuring, and querying endpoints via a cloud-based application is not, however.

Pilot in the cloud, deploy in the fog. The cloud is a fast and affordable way to prototype, demonstrate, and pilot, but it is the IoT’s Faustian bargain. For projects requiring scale, it’s a good idea, again, to default to the endpoint and/or the edge gateway and then ask how the cloud can complement them, not vice-versa.

If you deploy in the cloud, have a Plan B. If the temptation to deploy in the cloud is too great, at least be able to articulate how the system will function in the case of a cloud outage, hack, or other “unforeseen” event. At a minimum, a Plan B lays the groundwork for a future phase you may need in order to reduce your IoT system’s exposure to the cloud. You know, the phase that happens after your cloud IoT system is hacked and your board of directors asks “so now what?”.

So Now What?

The cloud is a useful tool for jump-starting IoT initiatives and has an important role to play in non-real time analytics. But it is inevitable — if only for the sake of security — that the IoT as an industry will go through a kind of cloud “detox” that results in a healthier and more resilient IoT where the cloud is deployed with eyes wide open to the accompanying risks. If your organization is talking about designing an IoT network and you are hearing or seeing the word “cloud”, it’s worth raising your hand and asking questions like “Is there a good reason not to execute this (insert process/feature) at the edge, rather that in the cloud?” or “Are we able to deploy stealthy endpoints that don’t over-share data?”

The momentum behind the cloud is strong and some of you may encounter resistance to arguments for pushing IoT functionality to the edge. If so, you can always take comfort in the fact that endpoints are only increasing in functionality, security “accidents” in the cloud will only become more numerous and more lethal, and that in the history of computing, the arc of history clearly supports the inevitability of more autonomous IoT endpoints.

You can reach me via @patdash7 or via email at pat @ haystacktechnologies dot com.

Also, if you liked this post, please consider scrolling down and recommending it here on Medium by clicking on the heart-shaped icon at the bottom left.