O slideshow foi denunciado.
Seu SlideShare está sendo baixado. ×

Building the IOT Platform as a Service

Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Carregando em…3
×

Confira estes a seguir

1 de 70 Anúncio

Mais Conteúdo rRelacionado

Diapositivos para si (20)

Semelhante a Building the IOT Platform as a Service (20)

Anúncio

Mais de Jesus Rodriguez (20)

Mais recentes (20)

Anúncio

Building the IOT Platform as a Service

  1. 1. Powering the Industrial Enterprise: The Emerge of the IOT PaaS
  2. 2. Better Title: The NO BS Guide to IOT in the Real World
  3. 3. About Me • Hackerpreneur • Founder of KidoZen • Founder of Tellago • Board member: Mobiquity,Electric Cloud • Advisor: Microsoft, Oracle • Angel Investor • Speaker, Author http://jrodthoughts.com https://twitter.com/jrdothoughts
  4. 4. Agenda • A quick look at the IOT market • A platform as a service for IOT • Centralized IOT capabilities • Decentralized IOT capabilities • Foundational models of an IOT PaaS: Cloudfoundry, Block Chain • The current IOT solution landscape
  5. 5. Key Takeaways • IOT PaaS models • How to implement IOT PaaS capabilities • State of the IOT platform market
  6. 6. IoT is destined to power the modern enterprise
  7. 7. We all know the real value of IOT
  8. 8. We Need Smarter Toasters
  9. 9. The Market?
  10. 10. Gartner calls IOT overhyped technology
  11. 11. Growth in venture funding has sustained in IoT over the last four years
  12. 12. ~70% of IoT funding rounds from 2011-2013 were related to wearable technology
  13. 13. IoT company exits have grown ~36% YoY since 2010
  14. 14. Notable exits $200M $100M $2B $3.2B $555M $175M $170M $112M $107M ~$500M IPO $780M
  15. 15. Most of the Innovations has taken place in the wearables market but the enterprise is quickly catching up…..
  16. 16. Redefining Industries
  17. 17. The Opportunity is Huge… but so are the Challenges
  18. 18. Enterprise IoT Challenges Connectivity Integration Data Collection Scalability Real Time Analytics Security Event Simulation
  19. 19. You Can Build Your Own Infrastructure
  20. 20. But It Will be Hard
  21. 21. There Must be a Better Way
  22. 22. IOT requires a new type of platform….
  23. 23. Introducing IOT Platform as a Service
  24. 24. Key Capabilities of an IOT Platform
  25. 25. Centralized vs. Decentralized IOT PaaS Models
  26. 26. Centralized IOT PaaS Model • Smart devices talk to a central hub • The hub provides backend capabilities to smart devices • The hub manages and controls the IOT topology
  27. 27. Decentralized IOT Capabilities • Capabilities that operate without a central authority • Smart devices host a version of the IOT PaaS • Smart devices communicate autonomously without a central authority
  28. 28. Let’s explore….
  29. 29. Centralized IOT PaaS Capabilities…
  30. 30. Device Management Service • Managing smart devices in an IOT topology • Device monitoring • Device security • Device ping
  31. 31. Device Management Service: How To Implement it? • Consul.io • XMPP discovery extensions • IBM IOT Foundation device management API REQUEST POST org_id.internetofthings.ibmcloud.com/api/v0001/devices {"type": "raspberrypi-sample", "id": "1958138a4dfe", "metadata": { "address": { "number": 29, "street": "Acacia Road" } }} RESPONSE {"uuid": "d:ey67sp:raspberrypi-sample:1958138a4dfe", "type": "raspberrypi-sample", "id": "1958138a4dfe", "metadata": { "address": {"number": 29, "street": "Acacia Road" }}, "password": "A?j8y_ueh*d(je34", "registration": { "auth": {"id": "joebloggs@uk.ibm.com", "type": "person" }, "date": "2014-08-21T18:25:43-05:00"}}
  32. 32. Protocol Hub • Enabling devices to interact with the IOT platform using heterogenous protocols • Provide consistent data/message exchange experiences across different devices • Unify management, discovery and monitoring interfaces across different devices
  33. 33. Protocol Hub: How To Implement it? • IOTivity protocol plugin model • IOTLab protocol manager • Apigee Zetta PluginManager *m_pm = new PluginManager(); std::vector<Plugin> plugins = m_pm->getPlugins(); std::string name = plugins[0].getName(); std::string id = plugins[0].getId(); <?xml version="1.0" encoding="UTF-8"?> <plugin id="oic.plugin.hue" version="0.1" name="hue plugin" resourcetype="oic.light" provider-name="wallace"> <runtime library="libplugin-hue-light" funcs="hue_light"/> </plugin>
  34. 34. Device Discovery • Registering devices in an IOT topology • Dynamically discovering smart devices in IOT network
  35. 35. Device Discovery: How To Implement it? • UDP datagrams • Constrained application protocol (CoAp) • IOTivity discovery APIs platform.findResources("", "<span class="s1">coap://224.0.1.187</span>/oc/core?rt=alpha.light", findHandler)
  36. 36. Event Aggregation • Execute queries over data streams • Compose event queries • Distribute query results to event consumers
  37. 37. Event Aggregation: How To Implement it? • Apache Storm • AWS Kinesis • Azure Event Hubs • + Stream Analytics • Siddhi (WSO2) KinesisSpoutConfig(streamName, zookeeperEndpoint). withZookeeperPrefix(zookeeperPrefix) .withInitialPositionInStream(initialPositionInStream) .withRegion(Regions.fromName(regionName)); builder.setSpout("Kinesis", spout, 2); builder.setBolt("Parse", new ParseReferrerBolt(),6).shuffleGrouping("Kinesis"); builder.setBolt("Count", new RollingCountBolt(5, 2,elasticCacheRedisEndpoint), 6).fieldsGrouping("Parse", new Fields("referrer")); .. StormSubmitter.submitTopology(topologyName, topoConf, builder.createTopology());
  38. 38. Telemetry Data Storage • Store data streams from smart devices in an IOT topology • Store the output of the event aggregator service • Optimize access to the data based on time stamps • Offline data storage • Offline data syncing
  39. 39. Telemetry Data Storage: How To Implement it? • Time Series: OpenTSDB, KairosDB, InfluxDB • Offline: Couchbase + Couchbase lite • IBM Bluemix Time Series API • InfluxDB select percentile(value, 95) from response_times group by time(5m) into response_times.percentiles.5m.95 select mean(value), percentile(90, value) as percentile_90, percentile(99, value) as percentile_99 from /^stats.*/ group by time(10m) into 10m.:series_name
  40. 40. Event Simulation • Replay streams of data in an IOT topology • Store data streams that simulate real world conditions • Detect and troubleshoot error conditions associated with specific data streams
  41. 41. Event Simulation: How To Implement it? • Azure Event Hubs • AWS Kinesis • Apache Storm • PubNub // retrieve last 100 messages pubnub.history({ channel : 'my_channel', count : 100, callback : function(m){console.log(m)} });
  42. 42. Event Notifications • Distribute events from a source to different devices in an IOT topology • Devices can subscribe to data notification on specific topics
  43. 43. Event Notifications: How To Implement it? • PubNub for IOT • Parse Notifications for IOT • MQTT public class SubscribeCallback implements MqttCallback { @Override public void connectionLost(Throwable cause) {} @Override public void messageArrived(MqttTopic topic, MqttMessage message) { System.out.println("Message arrived. Topic: " + topic.getName() + " Message: " + message.toString()); if ("home/LWT".equals(topic.getName())) { System.err.println("Sensor gone!"); } } @Override public void deliveryComplete(MqttDeliveryToken token) {} }
  44. 44. Real Time Data Visualizations • Visualize IOT data streams real time • Provide map visualizations in an IOT topology • Integrate with big data platforms • Integrate with machine and deep learning platforms
  45. 45. Real Time Data Visualizations: How To Implement it? • MetricsGraphicsJS • Graphite • Graphene • Cube • Plottly • D3JS d3.json('data/ufo-sightings.json', function(data) { MG.data_graphic({ title: "UFO Sightings", description: "Yearly UFO sightings from the year 1945 to 2010.", data: data, width: 650, height: 150, target: '#ufo-sightings', x_accessor: 'year', y_accessor: 'sightings', markers: [{'year': 1964, 'label': '"The Creeping Terror" released'}] }) })
  46. 46. Other Interesting Centralized IOT Capabilities • Device authentication • Access control • Integration with enterprise systems
  47. 47. Adopting Centralized IOT PaaS Capabilities • Standard services, different implementations • Hosting environment agnostic • Incorporating third party services • Centralized management and governance
  48. 48. Cloudfoundry: A Foundational Model for a Centralized IOT PaaS • Open PaaS architecture • Standard set of services • Broker model to incorporate new services • CF web and infrastructure services • CF mobile services (Pivotal CF mobile) • CF IOT services??????????????
  49. 49. Decentralized IOT PaaS Capabilities…
  50. 50. Peer to Peer Secure Messaging • Exchanging messages between smart devices in an IOT topology • Eliminate the need of a central hub • Secure, fully encrypted messaging protocol
  51. 51. Peer to Peer Secure Messaging: How To Implement it? • Telehash var th = require("telehash"); th.generate(function(err, endpoint){ if(err) return console.log("endpoint generation failed",err); // endpoint contains a `keys:{}`, `secrets:{}`, and `hashname:"..."` }); …... var link = mesh.link(hashname); // will be called when link status changes, err is undefined when link is up link.status(function(err){ if(err) { console.log('disconnected',err); return; } console.log('connected'); // can do any other link.* methods});
  52. 52. Contract Enforcement & Messaging Trust • Express capabilities of a device • Enforce actions between devices • Maintain a trusted ledger of actions in an IOT network
  53. 53. Contract Enforcement: How To Implement it? • Bitcoin Block Chain • Ethereum
  54. 54. File Sharing • Efficiently sending files to smart devices (ex: firmware update) • Exchange files in a decentralized model • Secure and trusted file exchanges
  55. 55. File Sharng: How To Implement it? • Bittorrent
  56. 56. Other Interesting Decentralized IOT Capabilities • Historical analytics • Device cooperation
  57. 57. Adopting Decentralized IOT PaaS Capabilities • Smart devices will host an embedded version of the IOT PaaS • Interactions between devices need to be trusted without a central authority • Standard way for devices to express capabilities
  58. 58. Block Chain: A Foundational Model for a Decentralized IOT PaaS • Decentralized consensus • Trusted computing • Proof of work
  59. 59. The IOT Platform Market Is Incredibly Crowded…
  60. 60. Main Groups IOT Platforms Traditional Enterprise Software Vendors Platform as a Service Solutions API and Integration Platforms Telecommunica tion Operators Hardware & Networking Vendors IOT Platform Startups
  61. 61. Enterprise Software Vendors Vendors • Oracle IOT Platform • IBM IOT Foundation • Citrix Key Characteristics • Closed source • On-premise • Proprietary technology • Hard to manage and deploy Key Scenarios • Vertical IOT solutions built on the platform • Integration with enterprise systems
  62. 62. Platforms as a Service Vendors • Azure Stream Analytics + Event Hubs • AWS Kinesis Key Characteristics • Cloud based • Standalone services for specific IOT capabilities • Easy to use and manage Key Scenarios • IOT products or solutions that require a specific service or capability
  63. 63. API and Integration Platforms Vendors • Apigee IOT Link (Zetta) • MuleSoft Anypoint • Parse IOT Key Characteristics • Integrating APIs with IOT telemetry data • Missing key elements of an IOT platform • Relatively simple to use and setup Key Scenarios • Integrating IOT solutions with backend APIs • Suppporting heterogeneous IOT transports and protocols Integration PlatformsIntegration Platforms
  64. 64. Telecommunication Operators Vendors • Huawei Agile IOT Platform • <Insert your favorite telco name here…> IOT Platform Key Characteristics • Deep integration with operator network • Optimized for devices and solutions provided by the network operator • Complex to use, lack of mainstream adoption Key Scenarios • Industry solutions built on the platform • Network traffic optimization
  65. 65. Hardware and Networking Solutions Vendors • Cisco IOT solution suite • F5 IOT networking solutions Key Characteristics • Focus on networking and security • Integration with specific network hardware topology Key Scenarios • Enable an efficient network topology for IOT solutions
  66. 66. Mobile OS Vendors Vendors • Android Brillio • Blackberry IOT platform Key Characteristics • Tight integration with a specific mobile OS • Simple developer experience • Optimized for wearable’s Key Scenarios • Developing solutions for wearables • Interoperability between mobile apps and smart devices
  67. 67. IOT Platform Startups Vendors • LogmeIn Xively • ThingWorx • 2lemetry (AWS) Key Characteristics • Focus on enabling backend capabilities to IOT apps • Simple developer experience • Cross IOT platform capabilities Key Scenarios • Highly customizable IOT solutions • Advanced green field capabilities
  68. 68. Summary • Industrial IOT will require a new type of platform • IOT PaaS models will be the foundation to the industrial enterprise • IOT PaaS models can be centralized or decentralized • Cloudfoundry architectures can be a great enabler of centralized IOT capabilities • The block chain provides an incredible foundation for decetrnalized IOT • The IOT PaaS is evolving on different segments of the market
  69. 69. THANKS Jesus Rodriguez https://twitter.com/jrdothoughts http://jrodthoughts.com/

Notas do Editor

  • Doesn’t imply mobile
    Security is limiting – doesn’t convey analytics
  • Doesn’t imply mobile
    Security is limiting – doesn’t convey analytics
  • Doesn’t imply mobile
    Security is limiting – doesn’t convey analytics
  • Doesn’t imply mobile
    Security is limiting – doesn’t convey analytics
  • Doesn’t imply mobile
    Security is limiting – doesn’t convey analytics
  • Doesn’t imply mobile
    Security is limiting – doesn’t convey analytics
  • Doesn’t imply mobile
    Security is limiting – doesn’t convey analytics
  • Doesn’t imply mobile
    Security is limiting – doesn’t convey analytics
  • Doesn’t imply mobile
    Security is limiting – doesn’t convey analytics
  • Doesn’t imply mobile
    Security is limiting – doesn’t convey analytics
  • Doesn’t imply mobile
    Security is limiting – doesn’t convey analytics
  • Doesn’t imply mobile
    Security is limiting – doesn’t convey analytics
  • Doesn’t imply mobile
    Security is limiting – doesn’t convey analytics
  • Doesn’t imply mobile
    Security is limiting – doesn’t convey analytics
  • Doesn’t imply mobile
    Security is limiting – doesn’t convey analytics
  • Doesn’t imply mobile
    Security is limiting – doesn’t convey analytics
  • Doesn’t imply mobile
    Security is limiting – doesn’t convey analytics
  • Doesn’t imply mobile
    Security is limiting – doesn’t convey analytics
  • Doesn’t imply mobile
    Security is limiting – doesn’t convey analytics
  • Doesn’t imply mobile
    Security is limiting – doesn’t convey analytics
  • Doesn’t imply mobile
    Security is limiting – doesn’t convey analytics
  • Doesn’t imply mobile
    Security is limiting – doesn’t convey analytics
  • Doesn’t imply mobile
    Security is limiting – doesn’t convey analytics
  • Doesn’t imply mobile
    Security is limiting – doesn’t convey analytics
  • Doesn’t imply mobile
    Security is limiting – doesn’t convey analytics
  • Doesn’t imply mobile
    Security is limiting – doesn’t convey analytics
  • Doesn’t imply mobile
    Security is limiting – doesn’t convey analytics
  • Doesn’t imply mobile
    Security is limiting – doesn’t convey analytics
  • Doesn’t imply mobile
    Security is limiting – doesn’t convey analytics
  • Doesn’t imply mobile
    Security is limiting – doesn’t convey analytics
  • Doesn’t imply mobile
    Security is limiting – doesn’t convey analytics
  • Doesn’t imply mobile
    Security is limiting – doesn’t convey analytics
  • Doesn’t imply mobile
    Security is limiting – doesn’t convey analytics
  • Doesn’t imply mobile
    Security is limiting – doesn’t convey analytics
  • Doesn’t imply mobile
    Security is limiting – doesn’t convey analytics
  • Doesn’t imply mobile
    Security is limiting – doesn’t convey analytics
  • Doesn’t imply mobile
    Security is limiting – doesn’t convey analytics
  • Doesn’t imply mobile
    Security is limiting – doesn’t convey analytics
  • Doesn’t imply mobile
    Security is limiting – doesn’t convey analytics
  • Doesn’t imply mobile
    Security is limiting – doesn’t convey analytics
  • Doesn’t imply mobile
    Security is limiting – doesn’t convey analytics
  • Doesn’t imply mobile
    Security is limiting – doesn’t convey analytics
  • Doesn’t imply mobile
    Security is limiting – doesn’t convey analytics
  • Doesn’t imply mobile
    Security is limiting – doesn’t convey analytics

×