Chapters

7 Cloud Platforms: Provider Checks and Selection

reference-architectures
cloud
computing
platforms

7.1 Start With the Decision

A provider demo cannot prove fleet behavior under load or outage. Simulations and checks must test the path the product will use.

7.2 Route Overview

This is part 2 of 2. Review Cloud Platforms: Message Paths and Capacity for the preceding evidence.

7.3 Learning Objectives

  • Design simulation and provider checks for an IoT workload.
  • Record platform selection with capacity and storage evidence.

7.4 Chapter Roadmap

  • Simulation and Provider Checks
  • Cold-Storage Platform Messaging
  • Platform Selection Record
  • Common Pitfalls
  • Do Not Pick by Feature Lists
  • 2. Treating A Broker As A Database
  • 3. Ignoring Duplicate Messages
  • 4. Hiding Failed Messages
  • Platforms Map Message Duties
  • Platform Selection Record
  • Reliability Across Boundaries
  • Summary
  • Key Takeaway
  • See Also

7.5 Simulation and Provider Checks

Cloud simulators and named provider stacks are useful when they turn assumptions into repeatable evidence. They should not replace the platform record.

Use simulation when a real deployment would be too slow, expensive, or disruptive to test directly. A simulator record should name the workload, topology, virtual machines or services, scheduling policy, network delay, storage behavior, energy or cost model, and the values changed between runs. Tools in this family include CloudSim-style discrete-event simulation for data centers, VMs, brokers, applications, and users; CloudAnalyst-style experiments for geographically distributed users and data centers; and GreenCloud-style experiments for energy and network behavior inside data-center designs. The result is useful only when the run explains what it did not model, such as provider quotas, managed-service behavior, hardware failures, security controls, or operational support.

Named platforms need the same discipline. OpenStack can be a self-managed IaaS control plane when private-cloud control and integration matter, but it brings ownership of compute, networking, images, storage, patching, monitoring, and upgrade risk. Azure, AWS, and similar public clouds can supply managed compute, storage, messaging, analytics, monitoring, machine learning, and IoT services, but the team still owns workload fit, identity policy, data retention, export, cost review, and recovery evidence. For EC2-style virtual machines, record instance family, storage choice, scaling rule, image maintenance, network policy, and the reason the workload needs VM-level control instead of a more managed runtime.

Treat every simulator or provider comparison as a scenario test, not a ranking table. A useful comparison says which design choice changed, which metric moved, which responsibility shifted, and which proof is still required before production.

7.6 Cold-Storage Platform Messaging

A cold-storage operator has gateways at many facilities. Each gateway receives temperature readings, door events, compressor state, local alarm events, and device-health records. The system needs local alarms, central dashboards, maintenance workflows, and replayable records for investigations.

7.6.1 Workload Placement

Device-facing broker

  • Accepts gateway telemetry and device-health updates.
  • Uses topic names that include site, device class, and event family.
  • Enforces gateway identity and allowed topic patterns.
  • Keeps short local buffers during connectivity loss.

Routing and queueing

  • Sends urgent alarm events to a work queue with retry and escalation handling.
  • Routes accepted telemetry summaries to long-term storage.
  • Sends rejected or malformed events to inspection instead of silently dropping them.

Event stream

  • Keeps ordered operational events for replay and analytics.
  • Lets analytics consumers reprocess events after schema or model changes.
  • Tracks lag so teams know when dashboards or reports are stale.

Return path

  • Sends approved configuration changes back through a controlled command topic.
  • Requires idempotent command handlers on gateways.
  • Records command intent, approval, delivery, acknowledgment, and rollback state.

Decision record: The device broker is optimized for secure gateway sessions and topic authorization. Alarm handling uses a queue so processors can retry and escalate. The replay stream holds accepted operational events for investigation and analytics. Configuration changes return only through an approved command path with idempotent handlers.

7.7 Platform Selection Record

The platform selection record is the artifact that keeps the chapter from becoming a product comparison.

Reviewers need the diagram Figure 7.1 before accepting platform selection record. The proposition under review is: A platform selection record captures workload intent, message roles, platform responsibilities, capacity records, reliability controls, operations ownership, and portability boundaries. Its visible anchors include Platform decision record and broker, queue, stream, store.

Platform selection record. The record includes workload intent, message roles, responsibilities, capacity records, reliability controls, operations ownership, and portability boundaries.
Figure 7.1: A platform selection record captures workload intent, message roles, platform responsibilities, capacity records, reliability controls, operations ownership, and portability boundaries.

Figure 7.1 becomes useful when Platform decision record is read alongside broker, queue, stream, store. Portability boundary adds the remaining acceptance cue. This supports platform selection record. The visual summarizes: A platform selection record captures workload intent, message roles, platform responsibilities, capacity records, reliability controls, operations ownership, and portability boundaries.

Include:

  • Workload intent: what outcome the platform path supports.
  • Message roles: telemetry, alert, command, state, audit, replay, or file reference.
  • Technology role: broker, queue, stream, state store, time-series store, object store, or application API.
  • Reliability controls: QoS, retries, idempotency, deduplication, dead-letter handling, and replay.
  • Capacity record: connection count, peak rate, payload size, retention, lag, and load-test result.
  • Operations owner: monitoring, scaling, credential rotation, patching, incident response, and check cadence.
  • Portability boundary: where service-specific rules, state formats, or deployment assumptions exist.

7.8 Common Pitfalls

Do Not Pick by Feature Lists

Feature lists hide operations risk. Check the responsibilities the team will own: identity, patching, routing rules, scaling, storage, monitoring, and response to outages.

2. Treating A Broker As A Database

A broker can retain selected state or sessions, but it should not be the only long-term record store. Send accepted events to storage or a retained stream when replay or audit is required.

3. Ignoring Duplicate Messages

Retries, reconnects, QoS 1 delivery, and downstream failures can create duplicates. Use idempotency keys and safe processors when duplicates would harm analytics or operations.

4. Hiding Failed Messages

Malformed, unauthorized, or repeatedly failing messages need an inspection path. Silent drops make data gaps difficult to investigate and can hide device defects.

7.9 Platforms Map Message Duties

An IoT cloud platform is a set of responsibilities around messages, not a single endpoint. The design must say who proves device identity, who accepts messages, where work is buffered, which events are retained for replay, which state is synchronized, and how commands return toward the field.

Before making the decision in this section, inspect Figure 7.2. It makes the decision concrete by showing use the platform responsibility map to keep identity, ingestion, routing, storage, observability, state, and return-path duties visible before choosing a managed, self-managed, or hybrid shape, so the relationships can be checked before they are turned into a design claim.

Make the platforms map message duties premise visible in the diagram Figure 7.2: Use the platform responsibility map to keep identity, ingestion, routing, storage, observability, state, and return-path duties visible before choosing a managed, self-managed, or hybrid shape. Begin by distinguishing Field side from accept events.

IoT cloud platform responsibility map connecting devices and gateways to identity, ingestion, routing, observability, state, storage, and controlled return paths.
Figure 7.2: Use the platform responsibility map to keep identity, ingestion, routing, storage, observability, state, and return-path duties visible before choosing a managed, self-managed, or hybrid shape.

Interrogate Field side first, then find accept events in Figure 7.2. Apply the accept events review question before approved commands and configuration return through a controlled path. Those answers support platforms map message duties; the figure states: Use the platform responsibility map to keep identity, ingestion, routing, storage, observability, state, and return-path duties visible before choosing a managed, self-managed, or hybrid shape.

Read Figure 7.2 as an ordered argument. Start at the input or initiating condition, follow each arrow through the intermediate responsibilities, and finish at the output or evidence record. Notice which boundary, comparison, or transition explains use the platform responsibility map to keep identity, ingestion, routing, storage, observability, state, and return-path duties visible before choosing a managed, self-managed, or hybrid shape. That observation connects this visual to the chapter’s running narrative: use it to justify the next design decision and to record what evidence would confirm it in operation.

Mobile summary: A cloud platform decision is a responsibility decision: prove device identity, accept messages, route work, retain evidence, observe failures, synchronize state, and control commands back to the field.

The broker, queue, and stream answer different parts of that map. A broker handles live publish-subscribe communication, a queue controls processor work, and a stream keeps accepted events available for replay, analytics, and audit.

Keep the first review at message-family level. Room temperature telemetry, compressor-fault alarms, gateway health reports, firmware rollout status, and setpoint commands should not be forced through one generic "cloud messaging" answer. Each family has a different identity check, delivery consequence, retention need, and owner.

For overview review, ask three questions. Which component proves the sender is allowed to publish? Which component absorbs work when downstream processors are slow? Which component keeps accepted events long enough to replay or audit them? If those answers point to different components, the platform design should say so explicitly.

Broker

Owns live topics, sessions, authentication, authorization, retained messages, and offline behavior at the connection-facing boundary.

Queue

Owns work dispatch, retry timing, back-pressure, dead-letter handling, and alerting when processors cannot keep up.

Stream

Owns ordered event history, retention, consumer lag, schema evolution, and replay after analytics or model changes.

A strong platform choice can trace each message family from publish source to accepted record, processing owner, retained history, and return path.

That trace should also name what is not proven. A broker acknowledgement does not prove dashboard freshness. A queue retry does not prove long-term history. A stream replay window does not prove that a command reached a gateway. The overview record should keep those boundaries visible before the team chooses managed, self-managed, or hybrid platform pieces.

A useful minimum record therefore has four columns: message family, platform role, evidence produced, and owner. For example, telemetry may name the broker topic and accepted-event store, alarms may name the queue and escalation owner, replay analytics may name the stream and retention window, and commands may name the return path plus acknowledgement rule. This keeps the overview small while still proving the architecture is more than a product label.

During the first pass, avoid mixing operational promises into one vague availability target. A platform can be available for telemetry while alarm processors are overloaded, replay consumers are behind, or command acknowledgements are delayed. The overview should therefore name the user-visible consequence for each message family: stale dashboard, missed escalation, incomplete audit, unsafe command state, or delayed maintenance action.

7.10 Platform Selection Record

Write one record per major message family. The record should not merely say "use managed IoT" or "self-host MQTT." It should tie workload behavior to the component role, validation evidence, operations owner, and retest trigger.

Message Family
Platform Role
Validation Evidence
Owner And Retest Trigger
Live telemetry
Broker accepts authenticated publishes and routes accepted events.
Topic authorization, payload limits, QoS behavior, and reconnect burst test.
Platform operations; retest after topic, credential, gateway, or burst-shape change.
Alarm workflow
Queue controls retry, escalation, and processor concurrency.
Retry timing, poison-message path, dead-letter alert, and duplicate-safe processor proof.
Application operations; retest after severity, retry, processor, or escalation-policy change.
Replay analytics
Stream retains accepted events for replay and consumer groups.
Retention window, schema version, lag metric, replay drill, and backfill owner.
Data platform; retest after model, schema, retention, or partition-key change.
Command return
Broker or command service sends approved configuration and action messages.
Authorization, idempotent handler, acknowledgement state, rollback path, and timeout behavior.
Device and platform owners; retest after command type, firmware, role, or safety rule change.

Use the record to separate normal traffic from stress cases. A platform that handles average telemetry may still fail during a power recovery when every gateway reconnects, resends buffered samples, refreshes credentials, and asks for pending commands. The record should include reconnect-storm behavior, rejected-message inspection, queue catch-up time, and the owner who decides whether to shed, defer, replay, or escalate work.

Also record the portability boundary. Topic naming, rule engines, device shadows, retained state, stream partition keys, and dead-letter formats can become service-specific. That is acceptable when the team names the dependency, tests the export or migration path that matters, and knows which release or compliance event would force a review.

For a cold-storage deployment, a useful record might say: alarm events use QoS 1 into the broker, include an idempotency key, enter a queue with dead-letter alerting, and write accepted alarm state to an audit stream. Temperature summaries use a replay stream with schema version and consumer-lag alert. Commands use a command id, authorization check, gateway acknowledgement, timeout, and rollback owner. Those details make the platform choice testable.

7.11 Reliability Across Boundaries

MQTT QoS can confirm delivery between MQTT endpoints, but it does not prove downstream processing, storage, replay, dashboard state, or command execution. Each boundary needs its own failure rule, duplicate rule, and inspection path.

At the broker boundary, the key questions are session identity, topic authorization, retained-message behavior, duplicate publishes, and whether the acknowledgement means "accepted by broker" or "processed by the application." At the queue boundary, the questions change to visibility timeout, retry count, idempotency, poison-message handling, and when a failed message becomes an incident. At the stream boundary, the questions are partitioning, ordering scope, retention, schema evolution, lag, and replay authority.

Under load, these boundaries interact. A reconnect storm can create duplicate QoS 1 deliveries, queue backlogs, stream lag, dashboard staleness, and delayed commands at the same time. The release record should therefore connect sequence numbers or idempotency keys to the processor, not only to the broker. It should connect dead-letter records to operator action, not only to a storage bucket. It should connect replay windows to the investigation questions the team actually needs to answer.

Broker Ack

Proves the broker exchange, not whether a processor stored the event, an alert fired, or an operator saw it.

Queue Retry

Protects processors only if visibility timeout, idempotency, dead-letter handling, and alerting are configured together.

Stream Replay

Works only when retention, partitioning, schema evolution, consumer lag, and replay authority are owned explicitly.

Command Return

Needs authorization, idempotent handlers, acknowledgement state, timeout behavior, and rollback before it is safe to operate.

Treat every platform boundary as a contract. If a message crosses broker, queue, stream, storage, application, or command-return boundaries, the record must name what is proven at that boundary and what remains unproven.

Command return paths need the same treatment. A command record should include command id, requested state, target group, authorization decision, delivery attempt, gateway acknowledgement, application completion proof, timeout rule, and rollback owner. Without those fields, a platform can show that a command was published while still leaving operators unsure whether the field system accepted or safely applied it.

This is why "exactly once" claims need careful wording. A protocol or service may narrow duplicate behavior for one exchange, but the IoT outcome still depends on application handlers, storage writes, retries, human workflow, and gateway state. The deeper platform proof is a chain of small contracts, each with its own evidence and owner.

For replay and audit, the boundary is not only technical; it is also interpretive. A stream partition key decides which events keep order together. A schema version decides which consumers can safely replay old records. A retention rule decides whether an incident can still be investigated. A lag alert decides when analytics are stale enough to stop trusting a dashboard. Those choices should be recorded beside the broker and queue settings because they change what the platform can prove after an outage or model defect.

Security boundaries also change the reliability claim. Mutual TLS or token validation proves a session identity, not that the device is healthy, calibrated, or authorized for every topic. Topic authorization proves publish permission, not that a payload schema is valid. Schema validation proves shape, not physical truth. The platform record should keep these proofs separate so incident review can locate the failing boundary quickly.

The same separation helps cost and capacity review. Broker connection limits, queue depth, stream retention, storage writes, and alert fan-out scale on different drivers. If the team records the driver at each boundary, it can retest the right part when gateway count, sampling rate, retention policy, or command frequency changes.

7.12 Summary

Cloud platforms and message queues should be selected by workload responsibility, not by brittle named-service comparisons. A durable IoT messaging architecture separates live device communication, work buffering, retained event history, state synchronization, storage integration, and controlled return paths. The quality gate is a validation record: capacity assumptions, QoS and retry behavior, replay tests, dead-letter handling, observability, operations ownership, and portability boundaries.

7.13 Key Takeaway

Cloud platforms should be compared by message responsibilities, reliability boundaries, operations ownership, replay needs, and team operating capability.

7.14 See Also

Cloud Service Models for IoT

Responsibility boundaries across SaaS, PaaS, IaaS, and FaaS.

Cloud Deployment Models for IoT

Workload placement and hybrid boundary records.

Cloud Security for IoT

Device identity, access boundaries, and secure return paths.

Production Cloud Deployment

Monitoring, scaling, rollout, and operations readiness.

7.15 Continue Your Route

This final part closes the route from Simulation and Provider Checks through See Also. Return to Cloud Platforms: Message Paths and Capacity or continue from the cloud-sdn-production module index.