CSE5PRP
IoT Protocols
and Platforms
• IoT Platforms - 3
Topics
• Microsoft Azure IoT
• Google Cloud IoT
• Comparing Top IoT Platforms
• Other IoT Development Platforms
• Open Source IoT platforms
Microsoft Azure IoT
• Microsoft Azure for IoT provides two paths: a PaaS solution named Azure IoT solutions
  accelerator, and a SaaS solution named Azure IoT Central.
• Both solutions utilize Azure IoT Hub as Cloud gateway to securely accept data and
  provide device management capabilities.
• The Azure IoT Hub is a managed, cloud-based service
• IP-capable and Personal Area Network (PAN) Devices
• IP-capable devices may communicate directly or via a Cloud Protocol Gateway with the
  IoT Hub
• PAN Devices additionally need a Field Gateway to perform local management services,
  such as managing access and information flow.
Azure IoT Reference Architecture
  Image Source: Azure IoT Reference Architecture, Retrieved from https://learn.microsoft.com/en-us/azure/architecture/reference-architectures/iot Retrieved on March 2023
            Microsoft Azure IoT Hub
Image Source: . AWS IoT architecture. Adapted from “A detailed analysis of IoT platform architectures: concepts, similarities, and differences," In Internet of everything by Guth, J., Breitenbücher, U., Falkenthal, M., Fremantle, P., Kopp, O., Leymann, F., & Reinfurt, L., 2018, Springer
Microsoft Azure IoT Hub
• The Hub is natively integrated with other Azure cloud services
• The IoT Hub supports secure bi-directional communication between devices and
  applications ( from device to the cloud and from the cloud to the device).
• Devices have a virtual representation in the cloud like device shadowing called device
  twins
• Device twins as a JSON document which contains tags, desired properties (set by an
  application and read by the device ) and reported properties (set by the device and read
  by an application).
Microsoft Azure IoT Hub
• Device management
   • Microsoft Azure IoT Hub Device Provisioning Service enables just in-time provisioning of
     devices to an IoT hub, without requiring human intervention.
   • Devices contact the provisioning service endpoint passing their identifying information.
   • The service registers the device with an IoT Hub and populates the desired twin device state.
   • Azure provides device SDKs
• Data communication protocols.
   • Azure IoT Hub provides support MQTT, AMQP and HTTPS for device-side communications
   • Offers Azure IoT protocol gateway as a custom gateway to enable other protocol adaptation for
     the IoT Hub
Microsoft Azure IoT Hub
• Rules
   • Azure uses rules written in an SQL like syntax evaluated on the message headers and body to
     route messages from device to the endpoints
• Data storage
   • Azure offers services for hot and cold storage.
   • Azure Cosmos DB as NoSQL database, and Azure SQL DB as relational SQL DBMS.
   • Azure Blob Storage (a file storage database) and Azure Data Lake, a distributed data store.
Microsoft Azure IoT Hub
• Integration
    • IoT Hub is natively connected with other Azure services: Azure App Service, a managed platform to
      build web and mobile apps, Notifications Hub, in order to send push notifications, and PowerBI, to
      create dashboards.
• Security.
    • There are three primary areas to be considered regarding security: device, connection and cloud
      security.
    • The Azure Hub Identity Registry provides secure storage of device identities and each security key.
    • Connections initiated by the device to the Hub
    • TLS authentication with X.509 certificate
    • Azure Active Directory - user authentication and authorization
Azure IoT Central
• IoT Central is a fully managed global IoT SaaS (software-as-a-service) solution .
• It is an application platform provide seamless connectivity and management
• It is a ready-made user interface and API surface for connecting and managing devices at
  scale
• IoT Central helps to reduce the challenges of implementing IoT development, operations, and
  management
• The web UI helps to quickly connect devices, monitor device conditions, create rules, and
  manage devices and their data throughout their life cycle.
Azure IoT Central architecture
           Image Source: Azure IoT Central architecture Retrieved from https://learn.microsoft.com/en-us/azure/iot-central/core/concepts-architecture, Retrieved on April 2023
Azure Sphere
• Azure Sphere is an application platform with built-in communication and security capabilities
  for internet-connected devices.
• Azure Sphere provides three levels of security technology:
    • Secured MCU
    • Secured OS
    • Cloud Security
• Azure Sphere-certified chip
• Connects to the Azure Sphere security service.
• Linux-based operating system with a cloud-based security service
Azure IoT products and services
   Source: https://azure.microsoft.com/en-us/solutions/iot/#industries Retrieved on April 2023
Microsoft Azure IoT
• Microsoft Azure IoT Reference Architecture
 Microsoft_Azure_IoT_Reference_Architecture_2_1_1_update.pdf
Google Cloud IoT
• Google Cloud IoT services are serverless and fully manage.
• Easily and securely connect, manage and ingest IoT data from globally disbursed devices
• The Google Cloud services include:
       • Cloud IoT Core - allows connection of devices and gathering the data.
       • Cloud Pub/Sub - processes event data and provides real-time stream analytics.
       • Cloud Machine Learning Engine - ML models and use of the data received from IoT
         devices.
                                                       Google Cloud IoT Core has been retired.
Google IoT Core
• Main components : device manager and protocol bridge.
• The device manager has the role of registering devices with the service
• Two protocols bridge (HTTP/MQTT) are used by devices to connect and send data to the
  Cloud.
• The devices send data to the Google IoT Core that is directly connected with Google
  Cloud Pub/Sub.
• It is an enterprise message-oriented middleware to the Cloud and it provides a message
  ingestion service.
• Messages are then delivered to a pipeline service, the Google Cloud Data Flow, that
  processes data and sends it to other cloud services, depending on the IoT project use
  case.
• Devices are represented by an ID and identified by a full resource name.
                                                 Google Cloud IoT Core has been retired.
Google IoT Core
         Image Source: Google IoT Core Retrieved from https://cloud.google.com/iot/resources/cloud-iot-overview3.png; Retrieved on March 2023
                                                                                                                                   Google Cloud IoT Core has been retired.
Google IoT Core
• Scalability is an excellent feature.
• It allows devices to be connected, and it collects data and visualizes them.
• It is possible to send data with streams to the BigQuery service, which is ideal if we want
  to work with real-time data.
• Machine learning and AI capabilities.
• Real-time business insights for globally dispersed devices.
• Google FireBase provides synchronized real-time database, authentication and capable
  of offline operations.
                                                          Google Cloud IoT Core has been retired.
Google IoT Core
   Image Source: Google IoT Core Retrieved from https://lh3.googleusercontent.com/vvsqvEtioXRV7rOyT5rDqJOBwnxLnKKgwicm2r0yME5BbnVCLt8TiEFQZi9Pb8xHhZtmsH_ugnQ=e14-rj-sc0xffffff-w3004 Retrieved on March 2023
                                                                                                    Google Cloud IoT Core has been retired.
Google IoT Core
▪ Device management.
   • IoT Core provides a fully managed service for managing devices..
   • It includes registration, authentication and authorization processes.
   • With the device manager it is possible to create and configure registries and devices within
     them.
   • The device registry is configured with one or more Cloud Pub/Sub topics to which telemetry
     events are published for all devices in the registry.
   • Google Cloud provides different ingestion services
                                                            Google Cloud IoT Core has been retired.
Google IoT Core
▪ Data communication protocols.
   • The platform supports MQTT and HTTP for managing devices and communications.
   • The IoT Core MQTT broker directly connects with Pub/Sub.
   • Using MQTT, devices send publish requests to a specific topic,
   • Using HTTP, devices do not maintain a connection to the platform, and they send requests and
     receive responses.
▪ Rules.
   • The platform uses the concept of pipelines to manage data after it arrives on Google Cloud.
   • It allows to transform, aggregate, enrich and move data to other services.
                                                  Google Cloud IoT Core has been retired.
Google IoT Core
▪ Data storage.
    • Devices send different types of data.
    • Google Cloud offers a range of storage solutions from unstructured blobs of data, such as images or
      video streams, to structured entity storage of devices or transactions, and high-performance key-
      value databases for event and telemetry data.
    • In the case of structured data that identify the status of a device, the storage takes place directly in
      the service provided by the IoT Core.
    • Telemetry data arrives with high frequency and it has to be available in a low latency and high
      performance way.
    • The platform offers Cloud Datastore and Cloud BigQuery as NoSQL databases, and Cloud BigTable
      as a fully managed data warehouse with SQL interface.
    • The Cloud Storage is used to archive data used infrequently and for unstructured data.
                                                Google Cloud IoT Core has been retired.
Google IoT Core
▪ Integration.
    • The platform provides the Google Cloud SDK which contains a command line tool called gcloud.
    • The IoT Core is natively integrated with Google’s big data and machine learning analysis services such as
      Cloud ML, Data Studio and DataLab.
▪ Security.
    • Cloud IoT Core offers per-device public/private key authentication using JSON Web Tokens
    • It offers support for RSA or Elliptic Curve algorithms to verify signatures, with enforcement for strong key
      sizes..
    • For communications security, the TLS protocol, using root certificate authorities, is required for MQTT
      connections.
    • Google Cloud Identity and Access Management (IAM) allows to control, authenticate and authorize the
      Cloud IoT Core API access.
                                                         Google Cloud IoT Core has been retired.
Google Cloud IoT
• Google Cloud IoT Core - https://cloud.google.com/iot/docs
• Google Cloud IoT Core is being retired on August 16, 2023.
• ClearBlade IoT Core is a replacement product that provides the same functionality as
  GCP IoT Core.
• ClearBlade Enterprise IoT is an enterprise-ready IoT foundation offering expanded
  capabilities to the IoT Core. This offering adds microservices, integrations with GCP
  products, failover, and higher throughput for enterprise workloads.
             Comparison AWS, Azure and GCP
Figure 4. Cloud Platforms Services . Adapted from “Amazon, google and microsoft solutions for iot: Architectures and a performance comparison" In Internet of everything by Pierleoni, P., Concetti, R., Belli, A., & Palma, L. ., 2019, IEEE Access
Other IoT Development Platforms
• IBM Watson IoT Platform
• Oracle Integrated Cloud for IoT
• SAP Cloud Platform for the Internet of Things
• Cisco Jasper Control Center Platform
• Salesforce IoT
• Samsung Artik Cloud
Open source IoT Middleware Platforms
• Platforms that provide data management services under open licenses
• Free or low-cost digital building blocks
• Advantages
    • Less expensive
    • No contracts or vendor lock-in
    • Lowering the barriers to entry
    • Free to develop and modify
    • Innovation
    • Greater interoperability
ThingsBoard
• Open-source IoT platform - Device management, data collection, processing and
  visualization
• It uses IoT protocols such as CoAP, MQTT, and HTTP.
• Supports on-premise infrastructure and cloud.
• The dashboard used data, visualizes it, and transforms the data.
• It notifies with updates regarding the attributes or any event which is occurring.
• Real-time dashboards and remote device control.
• Push device data to other systems.
• https://thingsboard.io/
ThingsBoard
     Image Source: Thingsboard Architecture Retrieved from : https://thingsboard.io/docs/getting-started-guides/what-is-thingsboard/, Retrieved on Jun 2021
ThingsBoard - Working with telemetry data
          Image source: Working with telemetry data – Retrieved from https://thingsboard.io/docs/user-guide/telemetry/, Retrieved on Jun 2021
ThingsBoard
     ThingsBoard Documentation - https://thingsboard.io/docs/
Other Open Source IoT Development Platforms
• Kaa Platform
• SiteWhere Platform
• ThingSpeak Platform
• Macchina Platform
How to choose the right IoT Platform ?
Selecting the right IoT Platform
• Stability: high chances of survival in the market.
• Scalability: scalable to business needs
• Flexibility: flexible with regard to the technology, since modern technology and market
  demands change rapidly.
• Pricing model and business case: full features for the business at a cost that suits the
  company’s budget
• Security: device-to-cloud network security, data encryption, application authentication,
  secure session initiation, application authentication, cloud security, and device security
• Time-to-market: quick-start packages, reduce time-to-market and offer better solutions
Selecting the right IoT Platform
• Data analytics and visualization tools: capabilities to aggregate, analyze and visualize
  data.
• Data ownership: data rights and the territorial scope of data protection for the IoT platform
  provider
• Ownership of cloud infrastructure: Compatibility of the broader enterprise cloud with the
  IoT platform provider.
• Extent of legacy architecture: how new generations of technology can interlock with older
  technology
• Protocol: support new protocols and enable easy upgrade of these protocols
• System performance: maintain IoT platform performance high enough
Selecting the right IoT Platform
• Interoperability: support integration with open source ecosystems.
• Redundancy and disaster recovery: dedicated infrastructure to recover and handle data.
• Attractive interface: simple, attractive and user friendly
• Application environment: characteristics of the application development environment, and
  interfaces
• Hybrid cloud: fit with existing IT systems hosted on company premises.
• Platform migration: provides clearly documented interfaces, schema, and API for any
  possible future migration to other IoT platforms
• Previous experience: successful working experience in the same area
Selecting the right IoT Platform
• Bandwidth: large data pipe and that there is sufficient room to grow
• Edge intelligence and control: capacity to support new topologies and utilize edge
  intelligence
• Forum: community forums or developer communities.
• Localization: multi-locale support especially if the end users are present across
  geography.
• User and role management: multi-tenancy support and role management features like
  role creation, role based access to application and things.
• Application support: Availability of frontend development accelerators
Key IoT platform features in the five main IoT platforms
   Reflecting the twenty-one key IoT platform features in the five main IoT platforms. Adapted from “Twenty-one key factors to choose an IoT platform: Theoretical framework and its applications.” by Ullah, M., Nardelli, P.
   H., Wolff, A., & Smolander, K.. 2020. arXiv preprint arXiv:2004.04924.
Summary
• Microsoft Azure IoT
• Google Cloud IoT
• Comparison - AWS IoT, Azure IoT, Google Cloud IoT
• Other IoT Development Platforms
• Open Source IoT platforms
References
•   Pierleoni, P., Concetti, R., Belli, A., & Palma, L. (2019). Amazon, google and microsoft solutions for iot: Architectures and a performance comparison.
    IEEE Access, 8, 5455-5470.
•   Guth, J., Breitenbücher, U., Falkenthal, M., Fremantle, P., Kopp, O., Leymann, F., & Reinfurt, L. (2018). A detailed analysis of IoT platform
    architectures: concepts, similarities, and differences. In Internet of everything (pp. 81-101): Springer.
•   Ray, P. P. (2016). A survey of IoT cloud platforms. Future Computing and Informatics Journal, 1(1-2), 35-46.
•   Harwood, T. (2019)., IoT Cloud Platform Landscape, , retrieved from https://www.postscapes.com/internet-of-things-platforms/
•   Microsoft Azure , IoT technologies and protocols , retrieved on August 2020, retrieved from https://azure.microsoft.com/en-us/overview/internet-of-
    things-iot/iot-technology-protocols
•   Microsoft Azure, Microsoft Azure IoT Reference Architecture, retrieved               on   August   2020,   retrieved   from   https://wikiazure.com/wp-
    content/uploads/2016/12/Microsoft_Azure_IoT_Reference_Architecture-1.pdf
•   Microsoft Azure, Azure IoT Hub Documentation, retrieved on August 2020, retrieved from https://docs.microsoft.com/en-us/azure/iot-hub/
•   Microsoft Azure, Glossary of IoT Hub terms, retrieved on August 2020, retrieved from https://docs.microsoft.com/en-US/azure/iot-hub/iot-hub-
    devguide-glossary
•   Google Cloud, Google Cloud IoT Core documentation, retrieved on August 2020, retrieved from https://cloud.google.com/iot/docs
•   Google Cloud, Google Cloud IoT, retrieved on August 2020, retrieved from https://cloud.google.com/solutions/iot
•   ThingsBoard, ThingsBoard Documentation, retrieved on August 2020, retrieved from https://thingsboard.io/docs/