RSS

Tag Archives: enterprise software

Building an IOT Platform: The Device Discovery Service

iot-discovery1

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:

iot-discovery2

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.

iot-discovery3

Key Capabilities

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:

 
Leave a comment

Posted by on June 24, 2015 in Uncategorized

 

Tags: , , , , ,

Building an IOT Platform: Centralized vs. Decentralized Models

iot1

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:

iot2

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:


iot3

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.

 
Leave a comment

Posted by on June 17, 2015 in Uncategorized

 

Tags: , , , ,

Not All IOT Platforms are Created Equal

wonder

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.
 
Leave a comment

Posted by on May 14, 2015 in Uncategorized

 

Tags: , , , , ,

Will Open Source Platforms Dominate Enterprise IOT ?

open source

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).

iot2

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.

 
Leave a comment

Posted by on April 24, 2015 in Uncategorized

 

Tags: , , ,

Building the Industrial Enterprise Part I: The Elements of an IOT Platform

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.

iot1

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.

Data Security

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

 
Leave a comment

Posted by on April 9, 2015 in enterprise software

 

Tags: , , ,

Democratizing Enterprise Data Access: A Data Lake Pattern

The Problem

The number of enterprise data systems in your organization has grown our of control. Every day, your team gets presented with new business scenarios that require aggregating or combining data from different enterprise data sources. Also, as more and more systems get adopted within your organization becomes increasingly hard to understand the different data sources that can be used by applications as well as its underlying programming models and governance rules.

If this challenge sounds familiar, then you probably went through the exercise of building an operational data store (ODS) a few years ago. As time passed, your ODS probably started experiencing challenges incorporating new forms of unstructured and semi-structured data as well as providing a universal model to discover and access the different data sources in your enterprise in a consistent way.

The aforementioned story describes some of the current challenges of democratizing data access in today’s enterprise. Despite the diverse needs that can drive the simplification of data access in the enterprise, we think they can be summarize the following four requirements:

  • Centralized catalog of enterprise data sources
  • Consistent API model to access data from enterprise systems
  • Ability to create aggregations between different data sources using known languages like SQL
  • Ability to manage, monitor and secure the different data sources in your enterprise.

The Data Lake Solution

A data lake, is one of the emerging architecture patterns that help with the democratization of data access in the enterprise. From a functional perspective, a data lake represents the gateway and aggregation layer to access enterprise data in a consistent, secure and compliant manner. From a functional perspective, a data lake should include the following elements:

datalake

Data Definition Interfaces

A data lake should provide architects with the ability of defining new “data sources” based on underlying enterprise data. For instance, a data source can be a representation of data coming from an Oracle database or being returned from a component interface in PeopleSoft. In order to accomplish this, a data lake solution should provide connectors to the common corporate systems in an enterprise.

Data Aggregation Interfaces

To address the growing set of requirements for new data, a data lake solution should provide a SQL-like interface that users can leverage to define new data sources based on aggregations of existing data sources.

Centralized Data Store

Similar to a traditional ODS, a data lake solution should provide a model to centralize the data from various enterprise data sources. Differently from a traditional ODS, a data lake should work with structured, semi-structured and non-structured data and should not require the definition of data schemas ahead of time.

Data Catalog

A data lake solution should provide a centralize catalog of all the different data sources in your enterprise. This catalog should allow users to easily discover, test and validate the different data sources available in your enterprise.

Data Access APIs

A data lake solution should dynamically generate data access APIs from the different data sources defined in the catalog. For instance, if an architect has defined a data source for invoice information, a data lake should expose that data source using a dynamic API so that it can be consumed by different applications.

Data Search Interface

In addition to accessing data using standard queries or APIs, a data lake solution should support the indexing and search of enterprise data sources. This feature is key to allow end users to discover data records using standard search keywords.

Data Governance

A data lake solution should enable the governance, management and security of existing data sources. Using the appropriate governance models, IT organizations can setup the correct access control, SLAs, security and other policies that govern the access to data in the enterprise.

From a functional standpoint, a data lake solution should provide a universal data access gateway to your enterprise data. Differently from traditional solutions like operational data stores, a data lake solution takes advantage of the latest generation of big data, search and API management stacks to provide a robust architecture model that enables the cataloging, discoverability, consumption and governance of data in the enterprise.

I hope you like the thoughts listed here. In the next post, we will discuss how to implement a data lake solution with today’s technologies.

 
Leave a comment

Posted by on March 31, 2015 in Uncategorized

 

Tags: , , ,

Some Thoughts About the Box IPO

Cloud storage company Box debuted in the public markets last Friday with a strong performance that pushed the price per share to $23.23 which represents an astonishing $2.7B market capitalization. The Box IPO represents the successful conclusion of a process that started last year when the company filed its first S-1 but later delayed the process to correct some of the concerns expressed by investors and analysts while also wait for a friendlier IPO climate.

All things considered, the Box IPO has been both incredibly successful and very atypical. Talking to a few friends about the IPO on Friday evening, we dicussed a few points that I thought would be interesting to summarize in this blog post.

The Risk of Raising at a Sky High Valuation

After retracting from its initial intentions of going public in 2014, Box raised $150M at a sky high $2.4B valuation. While the Box traded slightly over that valuation in the initial day, some of its investors are not yet seeing great returns based on the last round. In that sense, this is a great example of how, sometimes, raising at incredibly high valuations can fire back on investors looking for 2-3x returns.

Box-Info-Graph

It’s All About Going Fast

The Box IPO clearly puts the company as one of the market leaders in the cloud storage category which is getting increasingly competitive and commoditized. Since the early days, Box has done a masterful job accelerating customer acquisition, sometimes at the expense or revenues, to create distance between them and the incumbents in the space. Box’s relentless pursue of growth should be an example to follow by all startups in high growth enterprise software categories.

Profitability Matters

The market reaction to Box’s initial S-1 was far from warm. The company showed revenues at $124M  with losses at $168M which represented an increase from the year before ($112M). After the initial filing, Box updated the S-1 showing strng progress closing the gap between revenues and expenses and a clear path to profitability. As much as we reward growth in the enterprise software world, it is important to remember that profitability is a super important criteria for a strong performance in public markets.

Price Low

The initial price of $14 share proven to be correct for the Box IPO in this climate and Box ended up raising $150M with this initial public offering. This price highly contrast with Box’s initial S-1 with which the company was hoping to raise $250M. Similar to other IPOs like ZenDEsk, the strategy of pricing reasonably low mitigates any investor anxiety for the first weeks of trading.

Enterprise Software Continue to Perform Strong

Prior to the Box IPO, there was a lot of skepticism within the VC community in terms of the future of enterprise software IPOs. Similar to the Facebook phenomenon in 2013, a weak IPO for Box could close the window for enterprise software companies eyeing a public offering in the next few months. Thankfully, Box performed incredibly strong and the IPO window remains open for enterprise software companies.

 
Leave a comment

Posted by on January 26, 2015 in Uncategorized

 

Tags: , , , , , ,

 
Follow

Get every new post delivered to your Inbox.

Join 61 other followers