SlideShare uma empresa Scribd logo
1 de 27
Baixar para ler offline
Architectural Patterns In
IoT Cloud Platforms
Roshan Kulkarni
Cloud. Mobility. Internet of Things.
IoT PaaS Platforms Galore!
Are we spoilt for choice?
Why patterns?
§ Understand the recurring nature of design problems in IoT.
§ Capture essential aspects of a successful IoT implementation.
§ Reuse components to accelerate your solution development.
§ Understand feature-parity and differentiators across various IoT platforms.
§ Checklist to validate architectural readiness of your solution.
‘An architectural pattern is a general, reusable solution to a
commonly occurring problem in software architecture
within a given context…’
Patterns we’ve observed…
Patterns Patterns
1. Edge Connectivity Patterns 7. COTA
2. Device Identity & Enrollment 8. FOTA
3. Brokered Communication 9. Virtual Device Representation
4. Control Plane 10. Stream Processing
5. Heartbeat 11. Telemetry Ingestion
6. Unified Endpoint Management 12. Event-Driven Micro Services
* Not claimed to be an exhaustive list, as the domain is rapidly evolving. :)
Personal
Area
Networks
Pattern 1: Edge-Connectivity Patterns
Smart IP Capable
Devices
IoT Field
Gateway
PAN and Low
Power Devices
Custom
Cloud
Gateway
(Protocol
Translation)
Legacy IP Capable
Devices
IoT Cloud
Gateway
IP-Capable But
Low Compute
Legacy IP
Capable Devices
IoT Cloud Backend >><< Field / WAN
A
B
C
Proprietary IP
Capable Devices
Pattern 1A: IoT ‘Cloud Gateway’
§ Termination for IoT Protocols:
§ MQTT, AMQP
§ Web Sockets, BSD Sockets…
§ Terminate Persistent, Transport-
layer, Device Connections.
§ Secure Tunnel for Data in Motion:
§ TLS / SSH / IPSec.
§ Enforce Security Safeguards:
§ Firewalls, DDOS, Rate Limits.
§ Authorization and Admission-
Controls for Devices.
§ Access Policy Enforcement:
§ Permission to Topics, Queues…
§ Tenant Metering:
§ Enforce Quotas and Throughput.
§ Horizontally Scalable:
§ Support Millions of Devices.
§ TCP / HTTP Load Balancing.
§ Process Per Connection
§ Thread Per Connection
§ Non-blocking IO.
Pattern 1B: IoT ‘Field Gateway’
When Applicable?
§ Devices Without a TCP/IP Stack:
§ PAN Protocols
§ BT, ZigBee, Z-Wave, ModBus, I2C.
§ Devices with Low Compute Power:
§ No support for tunnels or crypto.
§ Legacy Devices With IP Stack:
§ Without Support for IoT Protocols.
§ SNMP Managed Devices…
§ How do they hook to IoT Cloud?
Primary Responsibilities…
§ Support Near-field PAN Protocols,
RS 232, RS 485 Interfaces.
§ Edge Filtering, Data Shaping, Data
Aggregation, Edge Analytics!
§ Monitor Sensor & Actuator Health.
§ Localized ‘Control Loops’:
§ Local Decision Tree.
§ Provide A Secure Tunnel to the
IoT Cloud Gateway.
Pattern 1C: ‘Protocol Translation Gateway’
§ Legacy Devices and Protocols:
§ Ex: Modbus TCP/IP.
§ Devices which Need:
§ Custom Authentication
§ Custom Authorization
§ Custom Encryption, Compression
§ Protocol Impedance Mismatch
Between Devices and IoT Cloud
Gateway.
§ Support Low-Latency, In-flight
Protocol Translation.
Legacy IP Capable
Devices
IoT Cloud Gateway
Protocol Translation
Gateway
Legacy: BSD Sockets,
Custom Authentication,
Custom Authorization
Contemporary: MQTT,
AMQP, X.509 Certificates
Pattern 2: Device Identity Patterns
§ Primary Concerns:
§ Device Identity Provisioning?
§ Identity Uniqueness?
§ Cloning and Impersonation?
§ Identity Lifecycle M’gmt?
§ Physical Device Identity:
§ SoC Identifier
§ MAC Address
§ M2M SIMs / MIMs
§ Trusted Platform Modules (TPM)
§ Logical Device Identities:
§ Device UUID
§ User Credentials / Binary Credentials
§ X.509 Client Certificates
Pattern 2: Device Enrollment Patterns
§ ‘Foundry Assisted’ Enrollment:
§ Keys + Certs Embedded During
The Firmware Build Process.
§ ‘Factory Assisted’ Enrollment:
§ Keys + Certs Embedded at Unit
Manufacturing Time.
§ ‘Provider Assisted’ Enrollment:
§ Using TPM or UUID.
§ JIT Enrollment at First Boot.
§ ‘User Assisted’ Enrollment:
§ Unit Deployment Time.
§ Companion App (BT, WiFi).
§ Companion Web Interface.
Pattern 2A: Foundry Assisted Enrollment
Certificate
Authority
Firmware Build
Process
Device
Client Certificate,
Private Key
4. Out of Band
Installation of
Certificate
(Burning the
Standard Firmware)
2. Request Certificate
(CSR)
1. Generate Key Pair and CSR
3. Issue
Certificate
• Same keys & certificates across all devices!
• File system based key-store.
• MCU - JTAG fuse blown after burning the firmware.
• Certificate lifecycle management?
• Anti-pattern?
Device
Pattern 2B: Factory Assisted Enrollment
Certificate
Authority
Factory Buildout
Process
Client Certificate,
Private Key
4. Out of Band
Installation of a
Unique Certificate
During the Build-
out of Each Unit.
2. Request Certificate
(Public Key, CSR)
1. Generate Key Pair and CSR
3. Issue
Certificate
• Unique Key-Pair for Each Device.
• Complicates the manufacturing process!
• File system based key-store?
• MCU - JTAG fuse blown after burning the key and device certificate.
• Certificate lifecycle management?
Device
Pattern 2C: Provider Assisted JIT Enrollment
Enrollment
API
Client Certificate,
Private Key
4. Request Certificate
(CSR)
3. Verify Fingerprint,
TPM Attestation
5. Issue
Certificate
2. Enrollment Request
(Provisioning Keys, Device Fingerprint,
CSR)
Certificate
Authority
6. Enrollment Response
(Client Cert)
1. Generate Key
Pair, CSR Device
Registry
TPM
• Just-in-Time Enrollment to the IoT Cloud.
• TPM-based Key Store: Key Pair Generation, Crypto Functions.
• Easier Certificate Lifecycle Management (Revocation, Renewal).
Device
Pattern 2D: User Assisted Enrollment
Enrollment
API
Client Certificate,
Private Key 6. Request Certificate
(CSR)
7. Issue Client
Certificate
3. Enrollment Request
(User Creds, Fingerprint, CSR)
Certificate
Authority
8. Enrollment Response
(Client Cert)
Companion App
Directory
Service
1. Generate Key Pair, CSR
2. PAN
Pairing
4. Verify User
Credentials
5. Verify
Fingerprint
Device
Registry
• Not a ‘Headless’ Enrollment Mechanism!
• Companion App used to Validate User Identity Before Device Enrollment.
• Client Certificates Transferred to the Device Over a Local PAN Interface (Bluetooth)
Pattern 3: Brokered Communication Model
§ Communication Models:
§ Request-Response
§ Need a Bi-directional Asynchronous Communication Model.
§ Decoupling of Parties is a Critical Requirement.
§ Durable Messaging Queue / Pub-Sub / Service Bus:
§ Accommodate ‘Latency Mismatch’ Between Producers and Consumers.
§ Primary Messaging Backbone within most IoT Cloud Platforms.
§ Message Delivery Semantics:
§ At most once / At least once / Exactly once.
§ Ordered vs Unordered Delivery.
Pattern 4: Device Control Plane
§ Polling by Device – Inefficient!
§ Need a Push-based Mechanism.
§ Push Commands & Notifications.
§ Intermittent Device Connectivity:
§ Hibernation > Power Conservation.
§ Choppy WAN Connectivity.
§ ‘Inbox’ Pattern for Offline Devices.
§ Typically Uses:
§ At Least Once Delivery Semantics.
§ Highest QoS Level.
§ Target Addressing Modes:
§ Unicast (Device UUID).
§ Multicast (Tags or Device Groups).
§ Broadcast (All Tenant Devices).
Pattern 5: Device Heartbeat
§ Would the TCP Keep-Alive Mechanism Suffice?
§ An Optional Feature in TCP. Some Hosts Do Not Implement It.
§ Off By Default.
§ Would a Application-layer Protocols Suffice?
§ MQTT => Keep Alive with PING => LWT Notifications
§ Keep-Alive Implementation at the Application Layer:
§ Periodic Call Home.
§ Piggyback Real-time Health Information of the Device + Device Fingerprint.
§ Notify Application When Devices go Offline:
§ Ex: No Heartbeat for 5 mins.
Pattern 6: Unified Endpoint Management
§ Device Registry / Inventory:
§ Device Meta-data and Attributes.
§ Manufacturer, Firmware Revision, Capability Matrix.
§ Device Lifecycle Management / Fleet Management:
§ Remote Logging.
§ Remote Reboot.
§ Remote Lock, Unlock.
§ Wipe Device State / Factory Reset.
§ Device Fingerprint Request.
§ Remote Firmware Upgrade.
§ Track Audit Trail of Device Lifecycle Changes
Pattern 7: Configuration Over the Air (COTA)
§ Schema-Driven Configuration Management:
§ Schema Definition and Versioning.
§ Ex - Apache Avro.
§ Layered Configuration:
§ Default Configuration Upon Enrollment.
§ Override with Tag-specific Configuration (Logical Device Groups).
§ Override with Device-specific Configuration (Based on User Identity etc).
§ Configuration Push Mechanism:
§ Exchange Configuration Master Frames.
§ Exchange Deltas Only.
Pattern 8: Firmware Over the Air (FOTA)
§ Why?
§ Move Fast and Break Things!
§ Shorter Time to Market
§ Granularity of Updates:
§ Root FS + Boot FS
§ Application Layer Only
§ Application Dependencies
§ Planning Firmware Images:
§ Ensuring ‘Brick-safe’ Rollouts
§ Checksums / HMAC
§ Well Defined Versioning Scheme
§ Chunked Transfers
§ Silent vs Assisted
§ Process:
§ Canary Releases
§ Automatic Roll Back Capability
§ Efficient ‘Delta’ Mechanism:
§ Ubuntu Snappy Core (Snaps)
§ Container Deltas (Layers)
Silently Propagate
Desired State
Pattern 9: Virtual Device Representation
§ How Cloud App interacts with device?
§ Push Command > Modify Device State.
§ Receive Confirmations Asynchronously.
§ Async paradigms increase Cloud
application complexity.
§ Can we have simpler ‘device abstraction’
visible to your cloud applications?
§ Virtual Devices in the Cloud:
§ State of IO Pins and Flags on Device.
§ Represented as JSON / Cloud Object.
§ Silent State Synchronization.
Last Known State
Desired State
Delta
Client SDK
Cloud Application
Physical Reality
Virtual Device
Representation (Cloud)
‘Instate’ the
Desired State on
the Device
Pattern 10: Stream Processing
§ Hot Path!
§ Why?
§ Identify Real-time Events
§ Generate Actions & Alerts
§ Metering & Analytics
§ Nature of Streaming Data:
§ JSON, CSV, TSV, XML
§ High Volume
§ High Velocity
§ Consume Secondary Streams
§ Service Considerations:
§ HA of the Streaming Service
§ High Performance: Sub-1-second
§ Data Resilience
§ Used For…
§ Data Cleansing.
§ Range Normalization
§ Linearization
§ Sensor Temperature Drift
§ Sensor Hysteresis
§ Schema Normalization
§ Control Decisions & Thresholds
§ Data Aggregation
§ Interleaving Contextual Data
Pattern 10: Stream Processing
IFTT Paradigm:
IF <condition>
THEN <do something>
Compute Topology:
SQL / DSL Paradigm:
SELECT color AS red
WHERE furnace.temp > 112
FROM ’path/topic'
Examples:
§ AWS IoT Rules Engine
§ AWS Kinesis + KCL
§ Apache Kafka + Storm
Pattern 11: Telemetry Ingestion
§ Cold Path!
§ Remember Everything
§ Why?
§ Offline Analytics
§ Predictive Maintenance Alerts
§ Retroactive Insights
§ Big Data Stores:
§ Durable, Replicated, Distributed
§ Sliding Window or Time Series
§ Micro-Batching: Load Stream to Store
§ Examples:
§ Kinesis > FireHose > Redshift
§ Hadoop & MapReduce
Pattern 12: Event-Driven Micro Services
§ Server-less Architecture:
§ AWS Lambda Functions
§ Invoke ‘Stateless Functions’ On-Demand
§ No Capacity Planning, No Cloud Ops!
§ Lambda Function Encapsulates Connectors For:
§ Enterprise Application Integration
§ Third-party Micro Services
§ Notification Services
Bare Metal
Virtual Machines
Containers
Lambda Functions
Evolution…
Next?
§ Discover More Patterns…
§ Notifications, Analytics
§ Machine Learning
§ CloudOps and IoT Ops
§ Formal Abstractions…
§ Fear of PaaS Lock-In?
§ Provider-agnostic Baseline APIs
for IoT PaaS.
§ Commoditization enables easier
‘Lift-and-Shift’ between Providers.
§ We’ve seen this happen before in
POSIX and IaaS!
THANK YOU!
roshan@mindstix.com

Mais conteúdo relacionado

Mais procurados

Successful Industrial IoT Patterns
Successful Industrial IoT PatternsSuccessful Industrial IoT Patterns
Successful Industrial IoT PatternsWSO2
 
Using an Open Source RESTful Backend for IoT Applications
Using an Open Source RESTful Backend for IoT ApplicationsUsing an Open Source RESTful Backend for IoT Applications
Using an Open Source RESTful Backend for IoT ApplicationsJan Liband
 
Internet of Things (IoT) Costs, Connectivity, Resources and Software
Internet of Things (IoT) Costs, Connectivity, Resources and SoftwareInternet of Things (IoT) Costs, Connectivity, Resources and Software
Internet of Things (IoT) Costs, Connectivity, Resources and SoftwareReal-Time Innovations (RTI)
 
Iot gateways march 2015
Iot gateways march 2015Iot gateways march 2015
Iot gateways march 2015sgadgil2002
 
WSO2 Platform Introduction
WSO2 Platform IntroductionWSO2 Platform Introduction
WSO2 Platform IntroductionWSO2
 
Eclipse kura in industry 4.0 david woodard
Eclipse kura in industry 4.0   david woodardEclipse kura in industry 4.0   david woodard
Eclipse kura in industry 4.0 david woodardEurotech
 
IoT Cloud Service & Partner IoT Solution
IoT Cloud Service & Partner IoT Solution IoT Cloud Service & Partner IoT Solution
IoT Cloud Service & Partner IoT Solution harishgaur
 
IoT Solutions Made Simple with Everyware IoT
IoT Solutions Made Simple with Everyware IoTIoT Solutions Made Simple with Everyware IoT
IoT Solutions Made Simple with Everyware IoTEurotech
 
An IoT gateway centric architecture to provide novel m2m services
An IoT gateway centric architecture to provide novel m2m servicesAn IoT gateway centric architecture to provide novel m2m services
An IoT gateway centric architecture to provide novel m2m servicesSoumya Kanti Datta
 
Data, Big Data and real time analytics for Connected Devices
Data, Big Data and real time analytics for Connected DevicesData, Big Data and real time analytics for Connected Devices
Data, Big Data and real time analytics for Connected DevicesSrinath Perera
 
Simplify Internet of Things with an Intelligent Gateway
Simplify Internet of Things with an Intelligent GatewaySimplify Internet of Things with an Intelligent Gateway
Simplify Internet of Things with an Intelligent GatewayEurotech
 
IoT Panel, Part II: Security for Silicon, Software, and Sensors
IoT Panel, Part II: Security for Silicon, Software, and SensorsIoT Panel, Part II: Security for Silicon, Software, and Sensors
IoT Panel, Part II: Security for Silicon, Software, and SensorsReal-Time Innovations (RTI)
 
Global Azure boot camp 2015 - Microsoft IoT Solutions with Azure
Global Azure boot camp 2015 - Microsoft IoT Solutions with AzureGlobal Azure boot camp 2015 - Microsoft IoT Solutions with Azure
Global Azure boot camp 2015 - Microsoft IoT Solutions with AzureVinoth Rajagopalan
 
New Features for Mobile Device Management (MDM) With Entgra
New Features for Mobile Device Management (MDM) With EntgraNew Features for Mobile Device Management (MDM) With Entgra
New Features for Mobile Device Management (MDM) With EntgraVichitra Godamunne
 
Octoblu, the IoT platform
Octoblu, the IoT platformOctoblu, the IoT platform
Octoblu, the IoT platformLudovic Bouvier
 
IoT Architecture - are traditional architectures good enough?
IoT Architecture - are traditional architectures good enough?IoT Architecture - are traditional architectures good enough?
IoT Architecture - are traditional architectures good enough?Guido Schmutz
 
Intelligent IoT gateway: pushing analytics at the edge
Intelligent IoT gateway: pushing analytics at the edgeIntelligent IoT gateway: pushing analytics at the edge
Intelligent IoT gateway: pushing analytics at the edgeEurotech
 
L’IoT industriale e i vantaggi competitivi della trasformazione digitale
L’IoT  industriale e i vantaggi competitivi della trasformazione digitale L’IoT  industriale e i vantaggi competitivi della trasformazione digitale
L’IoT industriale e i vantaggi competitivi della trasformazione digitale Eurotech
 

Mais procurados (20)

Successful Industrial IoT Patterns
Successful Industrial IoT PatternsSuccessful Industrial IoT Patterns
Successful Industrial IoT Patterns
 
Using an Open Source RESTful Backend for IoT Applications
Using an Open Source RESTful Backend for IoT ApplicationsUsing an Open Source RESTful Backend for IoT Applications
Using an Open Source RESTful Backend for IoT Applications
 
Internet of Things (IoT) Costs, Connectivity, Resources and Software
Internet of Things (IoT) Costs, Connectivity, Resources and SoftwareInternet of Things (IoT) Costs, Connectivity, Resources and Software
Internet of Things (IoT) Costs, Connectivity, Resources and Software
 
Iot gateways march 2015
Iot gateways march 2015Iot gateways march 2015
Iot gateways march 2015
 
WSO2 Platform Introduction
WSO2 Platform IntroductionWSO2 Platform Introduction
WSO2 Platform Introduction
 
Eclipse kura in industry 4.0 david woodard
Eclipse kura in industry 4.0   david woodardEclipse kura in industry 4.0   david woodard
Eclipse kura in industry 4.0 david woodard
 
IoT Cloud Service & Partner IoT Solution
IoT Cloud Service & Partner IoT Solution IoT Cloud Service & Partner IoT Solution
IoT Cloud Service & Partner IoT Solution
 
IoT Solutions Made Simple with Everyware IoT
IoT Solutions Made Simple with Everyware IoTIoT Solutions Made Simple with Everyware IoT
IoT Solutions Made Simple with Everyware IoT
 
An IoT gateway centric architecture to provide novel m2m services
An IoT gateway centric architecture to provide novel m2m servicesAn IoT gateway centric architecture to provide novel m2m services
An IoT gateway centric architecture to provide novel m2m services
 
Data, Big Data and real time analytics for Connected Devices
Data, Big Data and real time analytics for Connected DevicesData, Big Data and real time analytics for Connected Devices
Data, Big Data and real time analytics for Connected Devices
 
Simplify Internet of Things with an Intelligent Gateway
Simplify Internet of Things with an Intelligent GatewaySimplify Internet of Things with an Intelligent Gateway
Simplify Internet of Things with an Intelligent Gateway
 
Webinar IoT Cloud Platforms and Middleware for Rapid Application Development
Webinar IoT Cloud Platforms and Middleware for Rapid Application DevelopmentWebinar IoT Cloud Platforms and Middleware for Rapid Application Development
Webinar IoT Cloud Platforms and Middleware for Rapid Application Development
 
IoT Panel, Part II: Security for Silicon, Software, and Sensors
IoT Panel, Part II: Security for Silicon, Software, and SensorsIoT Panel, Part II: Security for Silicon, Software, and Sensors
IoT Panel, Part II: Security for Silicon, Software, and Sensors
 
Global Azure boot camp 2015 - Microsoft IoT Solutions with Azure
Global Azure boot camp 2015 - Microsoft IoT Solutions with AzureGlobal Azure boot camp 2015 - Microsoft IoT Solutions with Azure
Global Azure boot camp 2015 - Microsoft IoT Solutions with Azure
 
New Features for Mobile Device Management (MDM) With Entgra
New Features for Mobile Device Management (MDM) With EntgraNew Features for Mobile Device Management (MDM) With Entgra
New Features for Mobile Device Management (MDM) With Entgra
 
IoT design and services
IoT design and servicesIoT design and services
IoT design and services
 
Octoblu, the IoT platform
Octoblu, the IoT platformOctoblu, the IoT platform
Octoblu, the IoT platform
 
IoT Architecture - are traditional architectures good enough?
IoT Architecture - are traditional architectures good enough?IoT Architecture - are traditional architectures good enough?
IoT Architecture - are traditional architectures good enough?
 
Intelligent IoT gateway: pushing analytics at the edge
Intelligent IoT gateway: pushing analytics at the edgeIntelligent IoT gateway: pushing analytics at the edge
Intelligent IoT gateway: pushing analytics at the edge
 
L’IoT industriale e i vantaggi competitivi della trasformazione digitale
L’IoT  industriale e i vantaggi competitivi della trasformazione digitale L’IoT  industriale e i vantaggi competitivi della trasformazione digitale
L’IoT industriale e i vantaggi competitivi della trasformazione digitale
 

Destaque

Creator Ci40 IoT kit & Framework - scalable LWM2M IoT dev platform for business
Creator Ci40 IoT kit & Framework - scalable LWM2M IoT dev platform for businessCreator Ci40 IoT kit & Framework - scalable LWM2M IoT dev platform for business
Creator Ci40 IoT kit & Framework - scalable LWM2M IoT dev platform for businessPaul Evans
 
Oracle IoT Cloud Service - First practical experience
Oracle IoT Cloud Service - First practical experience Oracle IoT Cloud Service - First practical experience
Oracle IoT Cloud Service - First practical experience OPITZ CONSULTING Deutschland
 
Creator IoT Framework
Creator IoT FrameworkCreator IoT Framework
Creator IoT FrameworkPaul Evans
 
IoT Architecture
IoT ArchitectureIoT Architecture
IoT ArchitectureNaseeba P P
 
Identity for IoT: An Authentication Framework for the IoT
Identity for IoT: An Authentication Framework for the IoTIdentity for IoT: An Authentication Framework for the IoT
Identity for IoT: An Authentication Framework for the IoTAllSeen Alliance
 
IoT Architecture - Are Traditional Architectures Good Enough or do we Need Ne...
IoT Architecture - Are Traditional Architectures Good Enough or do we Need Ne...IoT Architecture - Are Traditional Architectures Good Enough or do we Need Ne...
IoT Architecture - Are Traditional Architectures Good Enough or do we Need Ne...Guido Schmutz
 
Open IoT Cloud Architecture, Web of Things, Shenzhen, China.
Open IoT Cloud Architecture, Web of Things, Shenzhen, China.Open IoT Cloud Architecture, Web of Things, Shenzhen, China.
Open IoT Cloud Architecture, Web of Things, Shenzhen, China.Jollen Chen
 
A reference architecture for the internet of things
A reference architecture for the internet of thingsA reference architecture for the internet of things
A reference architecture for the internet of thingsCharles Gibbons
 
An introduction to M2M / IoT technologies
An introduction to M2M / IoT technologiesAn introduction to M2M / IoT technologies
An introduction to M2M / IoT technologiesPascal Bodin
 
A Reference Architecture for IoT
A Reference Architecture for IoT A Reference Architecture for IoT
A Reference Architecture for IoT WSO2
 
IoT Cloud architecture
IoT Cloud architectureIoT Cloud architecture
IoT Cloud architectureMachinePulse
 
What exactly is the "Internet of Things"?
What exactly is the "Internet of Things"?What exactly is the "Internet of Things"?
What exactly is the "Internet of Things"?Dr. Mazlan Abbas
 
Internet of Things Architecture
Internet of Things ArchitectureInternet of Things Architecture
Internet of Things ArchitectureChristian Waha
 
THE INTERNET OF THINGS
THE INTERNET OF THINGSTHE INTERNET OF THINGS
THE INTERNET OF THINGSRamana Reddy
 
Internet of Things and its applications
Internet of Things and its applicationsInternet of Things and its applications
Internet of Things and its applicationsPasquale Puzio
 
Internet-of-things- (IOT) - a-seminar - ppt - by- mohan-kumar-g
Internet-of-things- (IOT) - a-seminar - ppt - by- mohan-kumar-gInternet-of-things- (IOT) - a-seminar - ppt - by- mohan-kumar-g
Internet-of-things- (IOT) - a-seminar - ppt - by- mohan-kumar-gMohan Kumar G
 
IoT - IT 423 ppt
IoT - IT 423 pptIoT - IT 423 ppt
IoT - IT 423 pptMhae Lyn
 

Destaque (18)

Creator Ci40 IoT kit & Framework - scalable LWM2M IoT dev platform for business
Creator Ci40 IoT kit & Framework - scalable LWM2M IoT dev platform for businessCreator Ci40 IoT kit & Framework - scalable LWM2M IoT dev platform for business
Creator Ci40 IoT kit & Framework - scalable LWM2M IoT dev platform for business
 
Oracle IoT Cloud Service - First practical experience
Oracle IoT Cloud Service - First practical experience Oracle IoT Cloud Service - First practical experience
Oracle IoT Cloud Service - First practical experience
 
Creator IoT Framework
Creator IoT FrameworkCreator IoT Framework
Creator IoT Framework
 
Iot Report
Iot ReportIot Report
Iot Report
 
IoT Architecture
IoT ArchitectureIoT Architecture
IoT Architecture
 
Identity for IoT: An Authentication Framework for the IoT
Identity for IoT: An Authentication Framework for the IoTIdentity for IoT: An Authentication Framework for the IoT
Identity for IoT: An Authentication Framework for the IoT
 
IoT Architecture - Are Traditional Architectures Good Enough or do we Need Ne...
IoT Architecture - Are Traditional Architectures Good Enough or do we Need Ne...IoT Architecture - Are Traditional Architectures Good Enough or do we Need Ne...
IoT Architecture - Are Traditional Architectures Good Enough or do we Need Ne...
 
Open IoT Cloud Architecture, Web of Things, Shenzhen, China.
Open IoT Cloud Architecture, Web of Things, Shenzhen, China.Open IoT Cloud Architecture, Web of Things, Shenzhen, China.
Open IoT Cloud Architecture, Web of Things, Shenzhen, China.
 
A reference architecture for the internet of things
A reference architecture for the internet of thingsA reference architecture for the internet of things
A reference architecture for the internet of things
 
An introduction to M2M / IoT technologies
An introduction to M2M / IoT technologiesAn introduction to M2M / IoT technologies
An introduction to M2M / IoT technologies
 
A Reference Architecture for IoT
A Reference Architecture for IoT A Reference Architecture for IoT
A Reference Architecture for IoT
 
IoT Cloud architecture
IoT Cloud architectureIoT Cloud architecture
IoT Cloud architecture
 
What exactly is the "Internet of Things"?
What exactly is the "Internet of Things"?What exactly is the "Internet of Things"?
What exactly is the "Internet of Things"?
 
Internet of Things Architecture
Internet of Things ArchitectureInternet of Things Architecture
Internet of Things Architecture
 
THE INTERNET OF THINGS
THE INTERNET OF THINGSTHE INTERNET OF THINGS
THE INTERNET OF THINGS
 
Internet of Things and its applications
Internet of Things and its applicationsInternet of Things and its applications
Internet of Things and its applications
 
Internet-of-things- (IOT) - a-seminar - ppt - by- mohan-kumar-g
Internet-of-things- (IOT) - a-seminar - ppt - by- mohan-kumar-gInternet-of-things- (IOT) - a-seminar - ppt - by- mohan-kumar-g
Internet-of-things- (IOT) - a-seminar - ppt - by- mohan-kumar-g
 
IoT - IT 423 ppt
IoT - IT 423 pptIoT - IT 423 ppt
IoT - IT 423 ppt
 

Semelhante a Architectural Patterns in IoT Cloud Platforms

Iot vupico-damien-contreras-2018-05-17-light-v3
Iot vupico-damien-contreras-2018-05-17-light-v3Iot vupico-damien-contreras-2018-05-17-light-v3
Iot vupico-damien-contreras-2018-05-17-light-v3Damien Contreras
 
PetNovations case study_architecting IoT systems - Olga Shpigel
PetNovations case study_architecting IoT systems - Olga ShpigelPetNovations case study_architecting IoT systems - Olga Shpigel
PetNovations case study_architecting IoT systems - Olga ShpigelGuy Vinograd ☁
 
Living on the (IoT) edge (Sam Vanhoutte @TechdaysNL 2017)
Living on the (IoT) edge (Sam Vanhoutte @TechdaysNL 2017)Living on the (IoT) edge (Sam Vanhoutte @TechdaysNL 2017)
Living on the (IoT) edge (Sam Vanhoutte @TechdaysNL 2017)Codit
 
Develop a portal to manage your IoT Hub solution
 Develop a portal to manage your IoT Hub solution Develop a portal to manage your IoT Hub solution
Develop a portal to manage your IoT Hub solutionMarco Parenzan
 
Microsoft Azure IoT Hub (Sam Vanhoutte @TechdaysNL 2017)
Microsoft Azure IoT Hub (Sam Vanhoutte @TechdaysNL 2017)Microsoft Azure IoT Hub (Sam Vanhoutte @TechdaysNL 2017)
Microsoft Azure IoT Hub (Sam Vanhoutte @TechdaysNL 2017)Codit
 
PLNOG15: Simplifying network deployment using Autonomic networking and Plug-a...
PLNOG15: Simplifying network deployment using Autonomic networking and Plug-a...PLNOG15: Simplifying network deployment using Autonomic networking and Plug-a...
PLNOG15: Simplifying network deployment using Autonomic networking and Plug-a...PROIDEA
 
From the Internet of Things to Intelligent Systems: A Developer's Primer
From the Internet of Things to Intelligent Systems: A Developer's PrimerFrom the Internet of Things to Intelligent Systems: A Developer's Primer
From the Internet of Things to Intelligent Systems: A Developer's PrimerRick G. Garibay
 
Automation in Network Lifecycle Management - Bay Area Juniper Meetup
Automation in Network Lifecycle Management - Bay Area Juniper MeetupAutomation in Network Lifecycle Management - Bay Area Juniper Meetup
Automation in Network Lifecycle Management - Bay Area Juniper MeetupJorge Bonilla
 
Acceleration_and_Security_draft_v2
Acceleration_and_Security_draft_v2Acceleration_and_Security_draft_v2
Acceleration_and_Security_draft_v2Srinivasa Addepalli
 
Master-Master Replication and Scaling of an Application Between Each of the I...
Master-Master Replication and Scaling of an Application Between Each of the I...Master-Master Replication and Scaling of an Application Between Each of the I...
Master-Master Replication and Scaling of an Application Between Each of the I...vsoshnikov
 
Exploring the Final Frontier of Data Center Orchestration: Network Elements -...
Exploring the Final Frontier of Data Center Orchestration: Network Elements -...Exploring the Final Frontier of Data Center Orchestration: Network Elements -...
Exploring the Final Frontier of Data Center Orchestration: Network Elements -...Puppet
 
CQRS and Event Sourcing for IoT applications
CQRS and Event Sourcing for IoT applicationsCQRS and Event Sourcing for IoT applications
CQRS and Event Sourcing for IoT applicationsMichael Blackstock
 
From the Internet of Things to Intelligent Systems A Developer's Primer - Gar...
From the Internet of Things to Intelligent Systems A Developer's Primer - Gar...From the Internet of Things to Intelligent Systems A Developer's Primer - Gar...
From the Internet of Things to Intelligent Systems A Developer's Primer - Gar...Rick G. Garibay
 
Manage your devices with Azure IoT...and more
Manage your devices with Azure IoT...and moreManage your devices with Azure IoT...and more
Manage your devices with Azure IoT...and moreMarco Parenzan
 

Semelhante a Architectural Patterns in IoT Cloud Platforms (20)

Iot vupico-damien-contreras-2018-05-17-light-v3
Iot vupico-damien-contreras-2018-05-17-light-v3Iot vupico-damien-contreras-2018-05-17-light-v3
Iot vupico-damien-contreras-2018-05-17-light-v3
 
PetNovations case study_architecting IoT systems - Olga Shpigel
PetNovations case study_architecting IoT systems - Olga ShpigelPetNovations case study_architecting IoT systems - Olga Shpigel
PetNovations case study_architecting IoT systems - Olga Shpigel
 
Living on the (IoT) edge (Sam Vanhoutte @TechdaysNL 2017)
Living on the (IoT) edge (Sam Vanhoutte @TechdaysNL 2017)Living on the (IoT) edge (Sam Vanhoutte @TechdaysNL 2017)
Living on the (IoT) edge (Sam Vanhoutte @TechdaysNL 2017)
 
Develop a portal to manage your IoT Hub solution
 Develop a portal to manage your IoT Hub solution Develop a portal to manage your IoT Hub solution
Develop a portal to manage your IoT Hub solution
 
Mini-Track: Lessons from Public Cloud
Mini-Track: Lessons from Public CloudMini-Track: Lessons from Public Cloud
Mini-Track: Lessons from Public Cloud
 
Microsoft Azure IoT Hub (Sam Vanhoutte @TechdaysNL 2017)
Microsoft Azure IoT Hub (Sam Vanhoutte @TechdaysNL 2017)Microsoft Azure IoT Hub (Sam Vanhoutte @TechdaysNL 2017)
Microsoft Azure IoT Hub (Sam Vanhoutte @TechdaysNL 2017)
 
IzoT platform presentation
IzoT platform presentationIzoT platform presentation
IzoT platform presentation
 
AWS IoT 深入探討
AWS IoT 深入探討AWS IoT 深入探討
AWS IoT 深入探討
 
IoTHub_Edge (1).pptx
IoTHub_Edge (1).pptxIoTHub_Edge (1).pptx
IoTHub_Edge (1).pptx
 
PLNOG15: Simplifying network deployment using Autonomic networking and Plug-a...
PLNOG15: Simplifying network deployment using Autonomic networking and Plug-a...PLNOG15: Simplifying network deployment using Autonomic networking and Plug-a...
PLNOG15: Simplifying network deployment using Autonomic networking and Plug-a...
 
From the Internet of Things to Intelligent Systems: A Developer's Primer
From the Internet of Things to Intelligent Systems: A Developer's PrimerFrom the Internet of Things to Intelligent Systems: A Developer's Primer
From the Internet of Things to Intelligent Systems: A Developer's Primer
 
Tos tutorial
Tos tutorialTos tutorial
Tos tutorial
 
Automation in Network Lifecycle Management - Bay Area Juniper Meetup
Automation in Network Lifecycle Management - Bay Area Juniper MeetupAutomation in Network Lifecycle Management - Bay Area Juniper Meetup
Automation in Network Lifecycle Management - Bay Area Juniper Meetup
 
Acceleration_and_Security_draft_v2
Acceleration_and_Security_draft_v2Acceleration_and_Security_draft_v2
Acceleration_and_Security_draft_v2
 
Master-Master Replication and Scaling of an Application Between Each of the I...
Master-Master Replication and Scaling of an Application Between Each of the I...Master-Master Replication and Scaling of an Application Between Each of the I...
Master-Master Replication and Scaling of an Application Between Each of the I...
 
Exploring the Final Frontier of Data Center Orchestration: Network Elements -...
Exploring the Final Frontier of Data Center Orchestration: Network Elements -...Exploring the Final Frontier of Data Center Orchestration: Network Elements -...
Exploring the Final Frontier of Data Center Orchestration: Network Elements -...
 
IoT on azure
IoT on azureIoT on azure
IoT on azure
 
CQRS and Event Sourcing for IoT applications
CQRS and Event Sourcing for IoT applicationsCQRS and Event Sourcing for IoT applications
CQRS and Event Sourcing for IoT applications
 
From the Internet of Things to Intelligent Systems A Developer's Primer - Gar...
From the Internet of Things to Intelligent Systems A Developer's Primer - Gar...From the Internet of Things to Intelligent Systems A Developer's Primer - Gar...
From the Internet of Things to Intelligent Systems A Developer's Primer - Gar...
 
Manage your devices with Azure IoT...and more
Manage your devices with Azure IoT...and moreManage your devices with Azure IoT...and more
Manage your devices with Azure IoT...and more
 

Último

Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfPrecisely
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 

Último (20)

Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 

Architectural Patterns in IoT Cloud Platforms

  • 1. Architectural Patterns In IoT Cloud Platforms Roshan Kulkarni Cloud. Mobility. Internet of Things.
  • 2. IoT PaaS Platforms Galore! Are we spoilt for choice?
  • 3. Why patterns? § Understand the recurring nature of design problems in IoT. § Capture essential aspects of a successful IoT implementation. § Reuse components to accelerate your solution development. § Understand feature-parity and differentiators across various IoT platforms. § Checklist to validate architectural readiness of your solution. ‘An architectural pattern is a general, reusable solution to a commonly occurring problem in software architecture within a given context…’
  • 4. Patterns we’ve observed… Patterns Patterns 1. Edge Connectivity Patterns 7. COTA 2. Device Identity & Enrollment 8. FOTA 3. Brokered Communication 9. Virtual Device Representation 4. Control Plane 10. Stream Processing 5. Heartbeat 11. Telemetry Ingestion 6. Unified Endpoint Management 12. Event-Driven Micro Services * Not claimed to be an exhaustive list, as the domain is rapidly evolving. :)
  • 5. Personal Area Networks Pattern 1: Edge-Connectivity Patterns Smart IP Capable Devices IoT Field Gateway PAN and Low Power Devices Custom Cloud Gateway (Protocol Translation) Legacy IP Capable Devices IoT Cloud Gateway IP-Capable But Low Compute Legacy IP Capable Devices IoT Cloud Backend >><< Field / WAN A B C Proprietary IP Capable Devices
  • 6. Pattern 1A: IoT ‘Cloud Gateway’ § Termination for IoT Protocols: § MQTT, AMQP § Web Sockets, BSD Sockets… § Terminate Persistent, Transport- layer, Device Connections. § Secure Tunnel for Data in Motion: § TLS / SSH / IPSec. § Enforce Security Safeguards: § Firewalls, DDOS, Rate Limits. § Authorization and Admission- Controls for Devices. § Access Policy Enforcement: § Permission to Topics, Queues… § Tenant Metering: § Enforce Quotas and Throughput. § Horizontally Scalable: § Support Millions of Devices. § TCP / HTTP Load Balancing. § Process Per Connection § Thread Per Connection § Non-blocking IO.
  • 7. Pattern 1B: IoT ‘Field Gateway’ When Applicable? § Devices Without a TCP/IP Stack: § PAN Protocols § BT, ZigBee, Z-Wave, ModBus, I2C. § Devices with Low Compute Power: § No support for tunnels or crypto. § Legacy Devices With IP Stack: § Without Support for IoT Protocols. § SNMP Managed Devices… § How do they hook to IoT Cloud? Primary Responsibilities… § Support Near-field PAN Protocols, RS 232, RS 485 Interfaces. § Edge Filtering, Data Shaping, Data Aggregation, Edge Analytics! § Monitor Sensor & Actuator Health. § Localized ‘Control Loops’: § Local Decision Tree. § Provide A Secure Tunnel to the IoT Cloud Gateway.
  • 8. Pattern 1C: ‘Protocol Translation Gateway’ § Legacy Devices and Protocols: § Ex: Modbus TCP/IP. § Devices which Need: § Custom Authentication § Custom Authorization § Custom Encryption, Compression § Protocol Impedance Mismatch Between Devices and IoT Cloud Gateway. § Support Low-Latency, In-flight Protocol Translation. Legacy IP Capable Devices IoT Cloud Gateway Protocol Translation Gateway Legacy: BSD Sockets, Custom Authentication, Custom Authorization Contemporary: MQTT, AMQP, X.509 Certificates
  • 9. Pattern 2: Device Identity Patterns § Primary Concerns: § Device Identity Provisioning? § Identity Uniqueness? § Cloning and Impersonation? § Identity Lifecycle M’gmt? § Physical Device Identity: § SoC Identifier § MAC Address § M2M SIMs / MIMs § Trusted Platform Modules (TPM) § Logical Device Identities: § Device UUID § User Credentials / Binary Credentials § X.509 Client Certificates
  • 10. Pattern 2: Device Enrollment Patterns § ‘Foundry Assisted’ Enrollment: § Keys + Certs Embedded During The Firmware Build Process. § ‘Factory Assisted’ Enrollment: § Keys + Certs Embedded at Unit Manufacturing Time. § ‘Provider Assisted’ Enrollment: § Using TPM or UUID. § JIT Enrollment at First Boot. § ‘User Assisted’ Enrollment: § Unit Deployment Time. § Companion App (BT, WiFi). § Companion Web Interface.
  • 11. Pattern 2A: Foundry Assisted Enrollment Certificate Authority Firmware Build Process Device Client Certificate, Private Key 4. Out of Band Installation of Certificate (Burning the Standard Firmware) 2. Request Certificate (CSR) 1. Generate Key Pair and CSR 3. Issue Certificate • Same keys & certificates across all devices! • File system based key-store. • MCU - JTAG fuse blown after burning the firmware. • Certificate lifecycle management? • Anti-pattern?
  • 12. Device Pattern 2B: Factory Assisted Enrollment Certificate Authority Factory Buildout Process Client Certificate, Private Key 4. Out of Band Installation of a Unique Certificate During the Build- out of Each Unit. 2. Request Certificate (Public Key, CSR) 1. Generate Key Pair and CSR 3. Issue Certificate • Unique Key-Pair for Each Device. • Complicates the manufacturing process! • File system based key-store? • MCU - JTAG fuse blown after burning the key and device certificate. • Certificate lifecycle management?
  • 13. Device Pattern 2C: Provider Assisted JIT Enrollment Enrollment API Client Certificate, Private Key 4. Request Certificate (CSR) 3. Verify Fingerprint, TPM Attestation 5. Issue Certificate 2. Enrollment Request (Provisioning Keys, Device Fingerprint, CSR) Certificate Authority 6. Enrollment Response (Client Cert) 1. Generate Key Pair, CSR Device Registry TPM • Just-in-Time Enrollment to the IoT Cloud. • TPM-based Key Store: Key Pair Generation, Crypto Functions. • Easier Certificate Lifecycle Management (Revocation, Renewal).
  • 14. Device Pattern 2D: User Assisted Enrollment Enrollment API Client Certificate, Private Key 6. Request Certificate (CSR) 7. Issue Client Certificate 3. Enrollment Request (User Creds, Fingerprint, CSR) Certificate Authority 8. Enrollment Response (Client Cert) Companion App Directory Service 1. Generate Key Pair, CSR 2. PAN Pairing 4. Verify User Credentials 5. Verify Fingerprint Device Registry • Not a ‘Headless’ Enrollment Mechanism! • Companion App used to Validate User Identity Before Device Enrollment. • Client Certificates Transferred to the Device Over a Local PAN Interface (Bluetooth)
  • 15. Pattern 3: Brokered Communication Model § Communication Models: § Request-Response § Need a Bi-directional Asynchronous Communication Model. § Decoupling of Parties is a Critical Requirement. § Durable Messaging Queue / Pub-Sub / Service Bus: § Accommodate ‘Latency Mismatch’ Between Producers and Consumers. § Primary Messaging Backbone within most IoT Cloud Platforms. § Message Delivery Semantics: § At most once / At least once / Exactly once. § Ordered vs Unordered Delivery.
  • 16. Pattern 4: Device Control Plane § Polling by Device – Inefficient! § Need a Push-based Mechanism. § Push Commands & Notifications. § Intermittent Device Connectivity: § Hibernation > Power Conservation. § Choppy WAN Connectivity. § ‘Inbox’ Pattern for Offline Devices. § Typically Uses: § At Least Once Delivery Semantics. § Highest QoS Level. § Target Addressing Modes: § Unicast (Device UUID). § Multicast (Tags or Device Groups). § Broadcast (All Tenant Devices).
  • 17. Pattern 5: Device Heartbeat § Would the TCP Keep-Alive Mechanism Suffice? § An Optional Feature in TCP. Some Hosts Do Not Implement It. § Off By Default. § Would a Application-layer Protocols Suffice? § MQTT => Keep Alive with PING => LWT Notifications § Keep-Alive Implementation at the Application Layer: § Periodic Call Home. § Piggyback Real-time Health Information of the Device + Device Fingerprint. § Notify Application When Devices go Offline: § Ex: No Heartbeat for 5 mins.
  • 18. Pattern 6: Unified Endpoint Management § Device Registry / Inventory: § Device Meta-data and Attributes. § Manufacturer, Firmware Revision, Capability Matrix. § Device Lifecycle Management / Fleet Management: § Remote Logging. § Remote Reboot. § Remote Lock, Unlock. § Wipe Device State / Factory Reset. § Device Fingerprint Request. § Remote Firmware Upgrade. § Track Audit Trail of Device Lifecycle Changes
  • 19. Pattern 7: Configuration Over the Air (COTA) § Schema-Driven Configuration Management: § Schema Definition and Versioning. § Ex - Apache Avro. § Layered Configuration: § Default Configuration Upon Enrollment. § Override with Tag-specific Configuration (Logical Device Groups). § Override with Device-specific Configuration (Based on User Identity etc). § Configuration Push Mechanism: § Exchange Configuration Master Frames. § Exchange Deltas Only.
  • 20. Pattern 8: Firmware Over the Air (FOTA) § Why? § Move Fast and Break Things! § Shorter Time to Market § Granularity of Updates: § Root FS + Boot FS § Application Layer Only § Application Dependencies § Planning Firmware Images: § Ensuring ‘Brick-safe’ Rollouts § Checksums / HMAC § Well Defined Versioning Scheme § Chunked Transfers § Silent vs Assisted § Process: § Canary Releases § Automatic Roll Back Capability § Efficient ‘Delta’ Mechanism: § Ubuntu Snappy Core (Snaps) § Container Deltas (Layers)
  • 21. Silently Propagate Desired State Pattern 9: Virtual Device Representation § How Cloud App interacts with device? § Push Command > Modify Device State. § Receive Confirmations Asynchronously. § Async paradigms increase Cloud application complexity. § Can we have simpler ‘device abstraction’ visible to your cloud applications? § Virtual Devices in the Cloud: § State of IO Pins and Flags on Device. § Represented as JSON / Cloud Object. § Silent State Synchronization. Last Known State Desired State Delta Client SDK Cloud Application Physical Reality Virtual Device Representation (Cloud) ‘Instate’ the Desired State on the Device
  • 22. Pattern 10: Stream Processing § Hot Path! § Why? § Identify Real-time Events § Generate Actions & Alerts § Metering & Analytics § Nature of Streaming Data: § JSON, CSV, TSV, XML § High Volume § High Velocity § Consume Secondary Streams § Service Considerations: § HA of the Streaming Service § High Performance: Sub-1-second § Data Resilience § Used For… § Data Cleansing. § Range Normalization § Linearization § Sensor Temperature Drift § Sensor Hysteresis § Schema Normalization § Control Decisions & Thresholds § Data Aggregation § Interleaving Contextual Data
  • 23. Pattern 10: Stream Processing IFTT Paradigm: IF <condition> THEN <do something> Compute Topology: SQL / DSL Paradigm: SELECT color AS red WHERE furnace.temp > 112 FROM ’path/topic' Examples: § AWS IoT Rules Engine § AWS Kinesis + KCL § Apache Kafka + Storm
  • 24. Pattern 11: Telemetry Ingestion § Cold Path! § Remember Everything § Why? § Offline Analytics § Predictive Maintenance Alerts § Retroactive Insights § Big Data Stores: § Durable, Replicated, Distributed § Sliding Window or Time Series § Micro-Batching: Load Stream to Store § Examples: § Kinesis > FireHose > Redshift § Hadoop & MapReduce
  • 25. Pattern 12: Event-Driven Micro Services § Server-less Architecture: § AWS Lambda Functions § Invoke ‘Stateless Functions’ On-Demand § No Capacity Planning, No Cloud Ops! § Lambda Function Encapsulates Connectors For: § Enterprise Application Integration § Third-party Micro Services § Notification Services Bare Metal Virtual Machines Containers Lambda Functions Evolution…
  • 26. Next? § Discover More Patterns… § Notifications, Analytics § Machine Learning § CloudOps and IoT Ops § Formal Abstractions… § Fear of PaaS Lock-In? § Provider-agnostic Baseline APIs for IoT PaaS. § Commoditization enables easier ‘Lift-and-Shift’ between Providers. § We’ve seen this happen before in POSIX and IaaS!