Ogres, Onions, and IoT
August 28, 2016
In 2001 we learned that Ogres were more than just dim and terrifying child eating monsters. Instead, a gruff green Ogre named Shrek and a happy go lucky donkey taught us that Ogres were made of layers.
While we all now appreciate Ogres for their complexity, we are making a similar early mistake attempting to simplify a new wave of technology called IoT (Internet of Things). As the marketplace is flooded with laundry detergent ordering buttons, Artificial Intelligence playing Jeopardy, and hilarious vignettes of feeble computer guys working on trains, we are still failing to see the basic layers behind the technology. Before we can really begin to enable our developers, architects, and enterprises on IoT we have to first understand the layers.
Layer 1: Things
This is what is exciting and new about IoT. It is the digitalization of the doors, appliances, fixtures, tools, people and other elements around us that will make our world safer, optimized for productivity and simpler. These Things are going to be extremely diverse in their ability to perform computer, communication methods, design and deployment. This market will have lots of differentiating innovation and will continue to see proprietary devices become best of breed household names. These things may wirelessly communicate with proprietary radio signals or with protocols like ZigBee, Bluetooth, RAIN, LoRAN, Thread. Ultimately, enterprises from insurance to industry will need strategies to work with a continually diverse ecosystem of Things.
Layer 2: Gateway
Smart devices are gaining in computational power, but to be cost effective and power efficient, they do not have the ability to communicate with the Internet directly. Instead, those devices communicate through a gateway layer that provides computation for security, Internet connectivity, real-time interaction and guaranteed uptime. Security means that the gateway handles encryption, device and user authentication and authorization of requests. The Internet connectivity means that Things like humidity sensors that don’t have the capability to send intensive TCP/IP based Internet requests can be relayed from local ZigBee to cloud based MQTT.
Besides creating a way for things to securely communicate, a gateway also serves as an initial application stack for performing logic and storage. A gateway can perform as a surrogate platform (see Layer 3) and make the following possible:
- Cost Savings — Redundant events can be filtered, merged and cleaned before going to the cloud.
- Performance — Enhance the user experience allowing for a mobile phone to talk directly to a door lock without wasting time communicating with a cloud.
- Guaranteed Uptime — Maintain continuity when the underlying infrastructure has network issues. This means the gateway can store state, keep local communication uninterrupted and intelligently sync back with servers when an Internet connection is restored.
Today, we see a large number of vendors like HP, Dell, Broadcom, and Cisco all creating gateway hardware capable on standard chip architectures like x86 and ARM. Additionally, we see IoT software vendors creating both pass-through agents (Microsoft IoT) / SDKs (AWS IoT) and intelligent edge software for rich compute and local processing (ClearBlade Edge). Finally, we see telecommunications companies building connectivity packages for ensuring those gateways have access to the Internet.
The gateway is a critical layer in all parts of an IoT solution, from secure connectivity and satisfying user experience.
Layer 3: Platform
In order to put the Internet in IoT, a server-side platform is needed to process events in real time, execute custom business logic and route information to correct data stores. The server side platform may be a single vendor offering, or a set of components tied together to achieve the five basic competencies of
- Secure Access — This includes the ability to encrypt information, authenticate users and devices, role-based authorization of actions and finally integration with other registries.
- Data Storage and Routing — This is the ability to store data in diverse locations from highly performant caches, traditional relational databases, cloud based document databases and enterprise data lakes.
- Messaging between devices — IoT isn’t possible without enabling devices to subscribe and publish information to each other. Unlike traditional mobile architectures, which depend on smart phones requesting information, our Things need the ability to simply listen for changes. MQTT, AMQP, STOMP, zeroMQ, and DDS are all popular protocols to send messages between users.
- Logic execution — Every solution will need the ability to simply run logic in order to provide unique value in its solution. Whether created with a simplistic graphical builder or codified with language specific micro-services; a platform enables design routing rules, authoring business logic, and implementing integrations.
- Event management — To tie capabilities together, event management makes it possible to turn passive IoT data stores into real time actionable systems. This means that your server based infrastructure allows for alerting when devices enter particular states, filtering messages that are sent over certain channels and logically reacting when data is modified.
These five platform competencies can run in cloud compute, traditional infrastructure or as a hybrid mix depending on the needs for security, flexibility and ownership. Ultimately it is server-side platform middleware that allows for IoT creators to build secure, fast, scalable solutions that will delight their users and customers.
Layer 4: Integration
The final and often forgotten layer of IoT is Integration. This layer applies across the spectrum of technology, from consumer IoT solutions that will leverage emerging cloud services via APIs all the way to Enterprise IoT solutions that must integrate with legacy protocols and software packages. IoT solutions that fail to integrate with northbound capabilities from the likes of SMS messaging, SalesForce, SAP, and IBM Mainframes will miss the opportunity to streamline processes for productivity and safety.
The integration layer is what will allow:
- Irrigation systems to react to both current humidity levels in the soil and to the upcoming weather report.
- Vacation homes to notify owners when doors are unlocked.
- Factory machines to update purchasing systems when production is complete.
- Smoke alarms to request help via emergency services communication protocols.
It’s the integration that will be necessary to create unique value for both disrupting new vendors and incumbent vendors with existing systems of record.
It’s exciting to see what we will be able to accomplish in coming years, as IoT becomes a reality in all our lives. In order for enterprises, startups and developers to create that world, we must first get a deeper understanding of the ecosystem required.
Establishing a common set of layers in the IoT environment we are now able to see where and how vendors and integrators can help us achieve our goals of building a successful IoT solution. Things, Gateways, Servers and Integrations represent the basic building blocks of IoT.