A few weeks ago, I published my first article in CIO.com as part of the IDG contributor network. For the opening article, I decided to focus on new trends that will influence the enterprise IOT market in 2016.
Tag Archives: iot
This is the second of a series of blog posts about the main building blocks of an IOT platform. As mentioned before, the capabilities of an IOT platform can be classified in two main groups: centralized and decentralized. At a high level, the following figure illustrates some of the fundamental features of an IOT platform:
In this blog post we will cover one of the fundamental capabilities of a centralized IOT topology: the device discovery service.
What Is It?
The device discovery service abstracts the dynamic registration and de-registration of smart devices in an IOT topology. This service keeps a up to date directory of devices in an IOT network.
The device discovery service should enable some of the following key capabilities:
- Registering a Smart Device: This capability should enable the dynamic registration of a smart device in an IOT topology. With the registration, the device should communicate relevant information such as capabilities, SLAs, etc.
- De-Registering a Smart Device: This capability should facilitate removing a smart device from an IOT topology.
- Device Discovery Queries: This capability should facilitate the inspection of devices in an IOT topology via queries.
How to Implement it?
There are several technologies available in the market that can facilitate the implementation of device discovery capabilities in an IOT solution. The most important aspect of implementing such a capability is the fact that devices should dynamically register with the central hub as they are join the IOT network. The following technologies might serve as inspiration of how to implement an IOT device discovery service:
- IBM IOT Foundation Device Management Service(https://developer.ibm.com/iotfoundation/recipes/api-documentation/#registerDevice ): IBM’s IOT Foundation provides a series of services that facilitates the registration and management of devices using the IOT Foundation Cloud.
- IOTivity Device Discovery Service(https://www.iotivity.org/documentation/linux/programmers-guide/registering-resource ): Intel’s led open source IOTivity platform provides a service that abstracts the registration of devices in an IOT network.
- XMPP Discovery Extensions(http://xmpp.org/extensions/xep-0128.html ): This protocol adds discovery capabilities to services communicating through XMPP
- Consul.io(https://consul.io/ ): Consul makes it simple for services to register themselves and to discover other services via a DNS or HTTP interface. Consul.io capabilities also work in a cross-datacenter topology.
Last week I delivered a session at QCon New York about the emerging trends and techniques powering the next generation IOT platform as a service (PaaS). The session explored the current IOT platform market as well as some of the architectures and technologies that will be foundational to the adoption of IOT in industrial enterprise settings. Based on the great feedback received during the session, I am planning to write a series of blog posts about some of the most important ideas from my presentation. Let’s start with one of the key points of my presentation: centralized and decentralized capabilities in an IOT PaaS.
Most people tend to associate IOT PaaS models with centralized architectures in which a hub (typically powered by the cloud) controls the execution of nodes (smart devices). While this model is certainly essential to implement industrial IOT solutions, is rarely sufficient. Decentralized computing models in which nodes in an IOT interact without the control of a central authority are also fundamental to enable the next generation of IOT enterprise solutions. Let’s explore both models at a high level.
Centralized IOT Platform Capabilities
As mentioned in the previous section, most emerging IOT PaaS are generally associated with cloud architectures in which a central hub provides a series of backend services to smart devices. In this architecture style, smart devices act as a recipient or consumer of data while the central hub enables centralize services and capabilities as illustrated in the following figure:
Some of the key centralized capabilities of an IOT platform
- Event processing
- Enterprise system integration
- Device discovery
- Device management
- Event Notifications
- Real Time Analytics
Cloudfoundry as the Foundation for Centralized IOT
From the different technologies in the market, I believe Cloudfoundry provides a great model for powering centralized IOT PaaS architectures. As a platform, Cloudfoundry provides an open, platform agnostic model that abstract essential backend features of PaaS infrastructures while enables the flexibility of incorporating third party services and infrastructure capabilities. In the same way that Cloudfoundry is currently powering Web and mobile solutions we feel the model can be extended to the IOT space.
Decentralized IOT Platform Capabilities
While centralized services are essential elements in an IOT topology, they are not sufficient for powering industrial IOT solution. In addition to integrating backend services, there are many scenarios that require autonomous communication between smart devices in an IOT topology without the need of a central hub. We like to call that architecture style decentralized IOT as illustrated in the following figure:
From the functional standpoint, decentralized IOT models can help to enable some of the following capabilities:
- Peer-to-Peer Messaging
- Decentralized Auditing
- Decentralized File Sharing
The Block Chain as the Foundation for Decentralized IOT
Implementing decentralized IOT capabilities requires an infrastructure that enables nodes in a distributed topology to perform autonomously. With autonomous computing comes the need to maintain trusted relationship between the nodes without a centralized authority. From the technologies in the market, the Bitcoin Block Chain provides a mechanism to enable this type of distributed model. While Bitcoin is the most famous application built on the block chain is certainly not the only one.
As a platform, the block chain provides the building blocks to enable nodes in a distributed topology to exchange data and perform tasks in a trusted and verifiable manner. I believe the block chain can provide the foundation to enable decentralized capabilities in an IOT topology. IBM Project Adept is attempting to take the first steps to validate this model. More about this in a future post.
A few days ago, I was part of a super interesting debate with several thought leaders in the internet of things (IOT) community about the evolution of IOT enterprise platforms. The core point of the debate was trying to identify the different channels by which enterprises will be exposed to IOT platforms.
In the past, I’ve been very vocal that the enterprise IOT will inevitably produce a new type of platform. That thesis is no longer a theoretical argument as we are already seeing the first flavors of IOT platforms starting to make inroads in the enterprise. Even though this generation of IOT platform represent the first iteration in the space, we can already see marked differences between different types of platforms. As an organization looking to embrace an IOT platform, this initial diversity can result very confusing.
IOT Platforms Provided by Traditional Enterprise Software Vendors
- Overview: Traditional enterprise software vendors like Oracle or IBM are already heavily invested in extending their capabilities into the IOT space. As a result, these vendors are likely to bring to market IOT platforms that are deeply integrated with their existing technology stacks , vertical solutions and services.
- Should Excel At: in my opinion, the IOT platforms produced by traditional enterprise software vendors are likely to be commercialized as part of industry specific industry solutions rather than standalone platforms. In that sense, this type of platform will excel at providing industry specific capabilities as well as tight integration with the products and platforms provided by the specific enterprise software vendor.
- Should Not Be Great For: Complementing the previous point, we think IOT platforms provided by traditional enterprise software vendors will be commercialized as part of domain specific solutions and will require a decent level of professional services and training. In that sense, we can make the argument that those types of platforms won’t be great for building general purpose solutions without the involvement of the target enterprise software vendor.
IOT Services Provided by Platform as a Service Providers
- Overview: Platform as a service (PaaS) providers like AWS, Azure or IBM are already providing specific services that abstract fundamental backend capabilities of IOT solutions. This trend is only going to increase in the near future as more and more cloud providers start building a presence in the IOT space.
- Should Excel At: The IOT capabilities of PaaS solutions are typically provided in the form of individual services. In that sense, this type of solutions should see a broad adoption within the developer and startup communities. As a result, we should see a lot of the IOT PaaS services being adopted by startups providing smart devices or industry specific solutions as well as IT organizations building their own internal infrastructure.
- Should Not Be Great For: The IOT capabilities provided by PaaS platforms are likely to lack the consistency of complete IOT platforms. Also, the cloud nature of this type of solution should present challenges for organizations building IOT solutions that require to be deployed within their premises.
IOT Services Provided by Smart Device Providers
- Overview: From startups to big software companies like Cisco or Texas Instruments, IOT device providers are starting to build the first incarnations of IOT platforms that work consistently across their device portfolio. These IOT platforms will be tightly integrated with the specific family of hardware devices as well as the corresponding manufacturing toolkits.
- Should Excel At: Platforms provided by IOT hardware providers should be best in class enabling solutions powered by those specific devices. Similarly, this type of platforms will provide consistent backend services and management experience for solutions powered by those smart devices.
- Should Not Be Great For: While the IOT platforms provided by smart device providers should excel in solutions powered by those devices, they are likely to result limited for general purpose IOT solutions. In that sense, is unlikely that third parties will embrace this type of platforms for building new IOT solutions.
IOT Capabilities Provided by Enterprise Mobility Management Platforms
- Overview: Enterprise mobile management platform(EMM) vendors such as BlackBerry or VMWare are starting to make the first inroads in the IOT space. If you think of mobile as a subset of IOT, the assumption that a lot of the current capabilities provided by those platforms should be adaptable to the IOT space makes some sense. As a result, we are likely to see that group of vendors providing hybrid platforms that enable both enterprise mobile and IOT solutions.
- Should Excel At: If we use the enterprise mobile space as a reference, we are likely to see strong IOT security, device management and other operational capabilities included in the IOT platforms provided by traditional enterprise mobile management platform vendors. That model will allow the EMM vendor to extend their existing footprint in the enterprise mobile ecosystem into the IOT space with a consistent value proposition.
- Should Not Be Great For: While IOT platforms provided by EMM vendors should excel in the security and management capabilities, they are likely to not result an ideal platform for developers building IOT solutions. For years, EMM vendors have evolved cultivating devops as their target customer which entails specific product delivery, sales and marketing models. EMM vendors should continue expanding on this model as they enter the IOT space.
New IOT Enterprise Platforms
- Overview: Like any other transformational movement in the history of enterprise software, IOT will produce a new group of startups and platforms that will help enterprises build and manage the new generation of industrial solutions. These platforms should provide capabilities such as complex event processing, security, real time analytics, operational management while also providing a friendly interface for developers. We are already witnessing platforms like Kii, Xively, 2lemetry (Amazon), ThingWorx etc start to make progress in this space.
- Should Excel At: From all the different channels explained in this article, the new wave of enterprise IOT platforms is likely to produce the biggest wave of innovation in the entire space. We should also expect to see these type of platforms being delivered using both on-premise and cloud models as well as leveraging open source vehicles. Additionally, these new group of platform is likely to provided the broadest levels of integration with new hardware manufactures and IOT solution providers.
- Should Not Be Great For: As explained previously, the new generation of enterprise IOT platforms is likely to excel at innovation and openness. However, because this type of platforms are just evolving, we should not expect to see a lot of industry-specific solutions powered by these platforms in the immediate future. Additionally, as the enterprise OT space evolve, some of this new IOT platform startups will be acquired by larger enterprise software companies inheriting some new commercial and delivery models.
Recently, I’ve been spending a lot of time thinking about the key elements that will be required to make IOT successful in enterprise settings. While IOT is clearly dominating the discussions in technology forums, the ecosystem of enterprise solution is still in very early days. As a result, many of the key elements of enterprise IOT platforms are still to be defined. When we think about those key elements of IOT platforms, we naturally tend to focus on technology. However, lately I’ve becoming convinced that the development and distribution models (open vs. closed source) is going to play an important role in how organizations embraced IOT platforms.
When we think about a way to categorize the different types of IOT platform, we can use a simple model that groups them based on its hosting topology (cloud vs. on-premise) and development-distribution model (closed sources vs. open source).
Following the previous taxonomy, we can clearly see that closed source solutions, whether deployed on-premise or in the cloud, are likely to see more adoption powering vertical-specific solutions in industries such as healthcare, retail, manufacturing, etc.
There are a number of reasons that can contribute to the adoption of closed source IOT solution in this model. For starters, vendors such as IBM or Oracle providing these type of IOT platform have a deep expertise in different verticals and a long history of developing solutions for customers in those industries. However, that’s not the only factor. The closed source nature of those IOT platforms makes it ideal for building solutions using the platform building blocks but almost impossible to extend the platform with new building blocks.
As an alternative to closed source IOT platforms, open source models can see a lot of adoption in the enterprise IOT environment. Below are some of the reasons that might facilitate the adoption of open source IOT platforms in the enterprise:
- Adapters to custom devices: As IOT continues evolving, enterprises are likely to adopt all sorts of smart devices that go beyond the traditional development toolkits such as Arduino or RasperryPI. An open source platform will provide the right extensibility vehicles for supporting heterogenous devices in enterprise settings.
- Integration with Enterprise Systems: Integration with corporate systems will be a fundamental component of enterprise IOT platforms. An open source model would allow enterprises and the developer community to implement new adapters to line of business systems so that they can be leveraged in an IOT solution.
- Custom Protocols: Despite the increasing adoption of standard transport and encoding protocols within IOT device manufacturers, it is safe to expect some IOT vendors to create custom encoding formats or transport protocols that optimize their devices for certain conditions. An open source IOT platform will allow the vendors to incorporate their custom protocols, encoding mechanisms and other elements into the platform so that they can be used in enterprise settings.
- On-premise Hosting: Even though the cloud is destined to play a super important role in the adoption of enterprise IOT solutions, there will be many scenarios in which enterprises would prefer to deploy on-premise instances of an IOT platform. In those settings, open source models will offer the right levels of customization to support diverse enterprise environments.
- New Foundational Capabilities: As enterprises reinvent themselves by embracing smart devices in industrial settings, the number of requirements for an enterprise IOT platform is destined to grow exponentially. An open source model will allow enterprises to customize and extend the IOT platform with new foundational capabilities that are required in their scenarios. As more and more foundational capabilities get added to the platform, other enterprises can benefit from the collective knowledge of the platform
- Customer Confidence: Like any other emerging trend in enterprise software, the IOT industry is likely to produce a new group of startups that provide platforms for enterprise IOT deployments. Large enterprises typically express concerns when working with new startup platforms. Open source models typically help to alleviate those concerns as enterprises can help to maintain and evolve the code base if the platform vendor goes out of business.
These are just some of the reasons I think might propel open source enterprise IOT platforms as one of the most dominant models in the space. As I said before, I don’t have any clear answers but hopefully the ideas explained in this post will trigger some interesting debates.
As enterprises start embracing smart devices to automate business processes, the need for a platform will evolve all the way from a fancy requirement to a key element of enterprise IOT deployments. In the past, I have been vocal about as the adoption of new forms of data consumption or data production technologies in the enterprise typically creates new requirements in areas such as security, analytics, integration etc. The internet of things (IOT) promises to take this principle to a whole new level producing new platforms that will power the industrial enterprise.
While the initial flavors of enterprise IOT platforms are starting to emerge, they are still very basic from the capability standpoint. That statement can only seem logical if we consider the fact that enterprises are just starting to adopt IOT technologies and the requirements of real world IOT solutions are rapidly changing. Having said that, there are a group of capabilities that we believe will be foundational to enterprise IOT platform. Let’s start with the following diagram that I believe provides a good foundation for an enterprise IOT platform.
From the previous diagram, we can identity the following capabilities that should be considered when considering enterprise IOT solutions.
IOT Protocol Layers
An enterprise IOT platform should be able to receive and send data using IOT protocols such as XMPP, MQTT as well as binary payload formats such as protocol buffers. This layer should adapt the data produced from smart devices so that it can be processed by other elements of an enterprise IOT platform.
Complex Event Processing Layer
Enterprise IOT solutions are notorious for continuously producing large volumes of data. The vast majority of that data comes in the form of events that provide telemetry data and don’t have a lot of meaning individually but that can be aggregated to describe specific conditions. This characteristic makes it completely unpractical to integrate IOT devices directly with business APIs. Instead, a complex event processing layer will aggregate the data produce
Event Integration Layer
As events are collected from different devices in an IOT topology and processed by the CEP layer, the results should be integrated with different backend systems. To enable this capability, enterprise IOT platforms should enable connectivity with enterprise backend systems or APIs. This model will facilitate the integration between the data produced by smart devices and traditional enterprise systems.
Real Time Analytics
Providing real time telemetry and visualization about the data generated by smart devices is an essential element of an enterprise IOT solution. To enable this capability, enterprise IOT platforms should provide real time analytics features that can visualize the aggregated data in real time providing intelligence about the runtime behavior of enterprise IOT deployments.
Mobile Device Management
Enterprise IOT topologies are typically composed of hundreds or thousands of smart devices. The security and management of those devices should be one of the key capabilities of enterprise IOT solutions. In that sense, enterprise IOT platforms should include a flavor of device management that can scale to thousands or tens of thousands of devices.
As any other new trend in the history of enterprise software, enterprise IOT will require new levels of data protection, privacy and access control. Those capabilities should be present at the platform level so that they can be holistically applied across different solutions.
The capabilities listed in the previous sections are just some of the essential elements of an enterprise IOT platform. As the enterprise IOT industry evolves, new requirements and capabilities will emerge that will shape the next generation of enterprise IOT platforms. In future posts we will analyze the individual elements of an enterprise IOT platform