SlideShare a Scribd company logo
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

More Related Content

What's hot

Successful Industrial IoT Patterns
Successful Industrial IoT PatternsSuccessful Industrial IoT Patterns
Successful Industrial IoT Patterns
WSO2
 
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
Jan 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 Software
Real-Time Innovations (RTI)
 
Iot gateways march 2015
Iot gateways march 2015Iot gateways march 2015
Iot gateways march 2015
sgadgil2002
 
WSO2 Platform Introduction
WSO2 Platform IntroductionWSO2 Platform Introduction
WSO2 Platform Introduction
WSO2
 
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
Eurotech
 
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 IoT
Eurotech
 
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
Soumya 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 Devices
Srinath 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 Gateway
Eurotech
 
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
Harbinger Systems - HRTech Builder of Choice
 
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
Real-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 Azure
Vinoth 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 Entgra
Vichitra Godamunne
 
IoT design and services
IoT design and servicesIoT design and services
IoT design and services
Embien Technologies
 
Octoblu, the IoT platform
Octoblu, the IoT platformOctoblu, the IoT platform
Octoblu, the IoT platform
Ludovic 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 edge
Eurotech
 
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
 

What's hot (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
 

Viewers also liked

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
Paul 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 Framework
Paul Evans
 
Iot Report
Iot ReportIot Report
Iot Report
Rajnish Raj
 
IoT Architecture
IoT ArchitectureIoT Architecture
IoT Architecture
Naseeba 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 IoT
AllSeen 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 things
Charles Gibbons
 
An introduction to M2M / IoT technologies
An introduction to M2M / IoT technologiesAn introduction to M2M / IoT technologies
An introduction to M2M / IoT technologies
Pascal 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 Architecture
Christian Waha
 
THE INTERNET OF THINGS
THE INTERNET OF THINGSTHE INTERNET OF THINGS
THE INTERNET OF THINGS
Ramana Reddy
 
Internet of Things and its applications
Internet of Things and its applicationsInternet of Things and its applications
Internet of Things and its applications
Pasquale 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-g
Mohan Kumar G
 
IoT - IT 423 ppt
IoT - IT 423 pptIoT - IT 423 ppt
IoT - IT 423 pptMhae Lyn
 

Viewers also liked (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
 

Similar to 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-v3
Damien 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 Shpigel
Guy 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 solution
Marco Parenzan
 
Mini-Track: Lessons from Public Cloud
Mini-Track: Lessons from Public CloudMini-Track: Lessons from Public Cloud
Mini-Track: Lessons from Public Cloud
Network Automation Forum
 
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
 
IzoT platform presentation
IzoT platform presentationIzoT platform presentation
IzoT platform presentation
Echelon Corporation
 
AWS IoT 深入探討
AWS IoT 深入探討AWS IoT 深入探討
AWS IoT 深入探討
Amazon Web Services
 
IoTHub_Edge (1).pptx
IoTHub_Edge (1).pptxIoTHub_Edge (1).pptx
IoTHub_Edge (1).pptx
SudheerKumar499932
 
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 Primer
Rick 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 Meetup
Jorge 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
 
IoT on azure
IoT on azureIoT on azure
IoT on azure
Joanna Lamch
 
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
Michael 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 more
Marco Parenzan
 

Similar to 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
 

Recently uploaded

JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
RTTS
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
Guy Korland
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance
 
Generating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using SmithyGenerating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using Smithy
g2nightmarescribd
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Jeffrey Haguewood
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
Kari Kakkonen
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
Safe Software
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
Laura Byrne
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
DianaGray10
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
DianaGray10
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
DianaGray10
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
ControlCase
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
Product School
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
Paul Groth
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
OnBoard
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
Alan Dix
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
Sri Ambati
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
Jemma Hussein Allen
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
UiPathCommunity
 

Recently uploaded (20)

JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
 
Generating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using SmithyGenerating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using Smithy
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
 

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!