Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Cloud Foundry Summit 2015: Cloud Foundry and IoT Protocol Support

Speaker: Atul Kshir­sagar, GE Soft­ware

To learn more about Pivotal Cloud Foundry, visit http://www.pivotal.io/platform-as-a-service/pivotal-cloud-foundry.

Cloud Foundry Summit 2015: Cloud Foundry and IoT Protocol Support

  1. 1. Imagination at work CF & IoT Protocol Support Atul Kshirsagar Senior Engineer, GE Software Dedicated Committer, CF Diego Project May 11, 2015
  2. 2. 3 Protocol Landscape – GE Usecase P Predix ERP / CRM Predix Go L P F L P Data historian HMI station Engineering workstations PrinterControl server (SCADA - MTU) Serial based radio Cellular, satellite, mesh, P/ ethernet or serial communication Control server (SCADA - MTU) P P PumpValve PumpValve Pressure sensor Flow sensor Level sensor Pressure sensor Flow sensor Level sensor RTUPLC Modem gateway P Local access Remote station Remote station Modem gateway F Modem gateway HML station Corporate enterprise network WAN Primary control center Backup control center Regional control center Data historian P MODBUS OPC-UA OPC-UA MTConnect DDS DDS DDS DDS DDS MQTT S2S XMPP HTTP Binary PROFINET MODBUS CDMA FDMA TDMA HTTPRMI SFTP SMTP AMQP Asset optimization Operations optimization
  3. 3. GE | Non-GE Predix-ready MACHINES and industrial devices Industrial Internet apps powered by Predix Cloud Infrastructure •  Scalable •  Elastic •  Reliable •  Trusted end-to-end Cloud Foundry Industrial Microservices Catalog Application services Infrastructure services •  Built by GE, customers, partners Machine Embedded Discover Code Deploy Operate Monetize •  BizOps •  DevOps •  Community Asset Performance Management (APM) Operations Optimization Predix* Industrial Internet Platform - Architecture Predix is a trademark of General Electric Company.
  4. 4. IoT Protocols
  5. 5. IoT Protocols
  6. 6. CF Go router App1 App2 App3 mqtt://app1 http://app1 Sensor/Device/ Gateway Cloud Foundry Protocols
  7. 7. App1 App2 MQTT Service Sensor/Device/ Gateway Go router App3 http://app1 mqtt://iotservice Service Broker CF Service Cloud Foundry Services
  8. 8. Option 1 – Layer 7 Router •  Pluggable architecture for protocol specific proxies •  Routes traffic to protocol specific proxies based on standard ports •  Protocol proxy then routes traffic to appropriate app/instance based on routing table App nApp3App2App1 Layer 7 routerLayer 7 router MQTT DDS XMPP App1 App2 App3 App n Load Balancer 1883 7400 5222
  9. 9. Option 1 – Layer 7 Router •  Pluggable architecture for protocol specific proxies •  Routes traffic to protocol specific proxies based on standard ports •  Protocol proxy then routes traffic to appropriate app/instance based on routing table Pros •  Standard ports exposed for protocols •  Scalable •  Extensible as more protocol proxies can be added on needed basis •  Router services could be developed Cons •  Support for each protocol needs to be developed independently •  Difficult for protocol proxies to decipher logical targets App nApp3App2App1 Layer 7 routerLayer 7 router MQTT DDS XMPP App1 App2 App3 App n Load Balancer 1883 7400 5222
  10. 10. bit 7 6 5 4 3 2 1 0 byte 1 Message type (1) DUP Flag QoS Level RETAIN byte 2 Remaining length Fixed Header Variable Headers for CONNECT Protocol Name (8 bytes) Protocol Version (1 byte) Connect flags (1 byte) Keep Alive timer (2 bytes) Header extensions to support protocol specific router plugins requires client-side updates – doesn’t work for IOT! MQTT Headers 7 6 5 4 3 2 1 0 User name flag Pass word flag Will RETAIN Will QoS Will QoS Will flag Clean Session Reserved
  11. 11. Option 2 – Layer 4 (TCP) Router •  Map external port on router to an app •  Route traffic on mapped port to appropriate app •  Specify mapping of router port to app as part of cf cli •  Mechanisms to detect and report port conflicts App3 App4App1App1 Layer 4 routerLayer 4 router Load Balancer TCP router - 1 App1 App2 App4 1883 52225222 1883 5222 5222 TCP router - 2 Load Balancer App3 5222 51216
  12. 12. Option 2 – Layer 4 (TCP) Router •  Map external port on router to an app •  Route traffic on mapped port to appropriate app •  Specify mapping of router port to app as part of cf cli •  Mechanisms to detect and report port conflicts Pros •  Ability to support almost all layer 7 protocol (including but not limited to IoT protocols) •  Reduced complexity Cons •  May have to use of non standard ports •  Number of apps that can have non- http traffic is limited •  Number of ports on router ( ~ 64K) •  Number of front end IPs App3 App4App1App1 Layer 4 routerLayer 4 router Load Balancer TCP router - 1 App1 App2 App4 1883 52225222 1883 5222 5222 TCP router - 2 Load Balancer App3 5222 51216
  13. 13. Layer 4 (TCP) Router - Architecture
  14. 14. Layer 4 (TCP) Router - Architecture
  15. 15. •  As apps get placed/moved emit the information to router •  Update the tcp router config to forward the traffic to appropriate host IP/Port Route TCP traffic •  During Config changes Zero downtime Rolling deploy Layer 4 (TCP) Router – Goals
  16. 16. Load balancing among app instances •  Is the host IP/Port in routing table still reachable Health checks •  Simultaneous connections •  Connection rate Traffic shaping/limiting Managing backend ports Layer 4 (TCP) Router - Goals
  17. 17. •  Cloud controller changes Reserve front end IP/Port combination •  CLI changes Add/Remove/Show mapping Application manifest to support new mapping Layer 4 (TCP) Router – Goals
  18. 18. Summary Layer 4 (TCP) router to provide IoT protocols (and more) support in CF 1 Will be hosted in cloudfoundry-incubator2 Feedback/contributions are welcome •  IoT usecases •  Contact atul.kshirsagar@ge.com or scoen@pivotal.io 3
  19. 19. Imagination at work Q&A
  20. 20. General Electric Company reserves the right to make changes in specifications and features, or discontinue the product or service described at any time, without notice or obligation. These materials do not constitute a representation, warranty or documentation regarding the product or service featured. Illustrations are provided for informational purposes, and your configuration may differ. This information does not constitute legal, financial, coding, or regulatory advice in connection with your use of the product or service. Please consult your professional advisors for any such advice. No part of this document may be distributed, reproduced or posted without the express written permission of General Electric Company. GE, Predixand the GE Monogram are trademarks of General Electric Company. ©2015 General Electric Company – All rights reserved.

×