Differences from Google IoT Core

ClearBlade is a full replacement for Google IoT Core with an automated migration. However, while the solution is fully functional, some feature differences exist.

Some issues may still exist in specific returns of error conditions for input permutations that have yet to be fully discovered. ClearBlade will resolve these with the least possible impact. For those interested in a more feature-rich, private instance that scales more efficiently, we direct you to explore ClearBlade’s IoT Enterprise offering. Please contact iotcore@clearblade.com for more information.

Known list of differences that exist between IoT Core Offerings

  1. No plan to implement: Google JWT tokens base64 encoding. Google allows for base64 and base64url JWT encodings. According to the JWT base64url specification, encoding is permitted. ClearBlade matches the JWT specification.

  2. No plan to implement: Google expired certificates from open source migration CLI. The ClearBlade IoT Core Migration tool does not allow loading expired certificates. ClearBlade IoT Core only allows loading unexpired x509 certificates like Google IoT Core. ClearBlade IoT Core allows expired certificates to work in Google IoT Core, and a private migration project from ClearBlade can support this requirement. Open a support ticket for more information.

  3. No plan to implement: Pub/Sub acknowledge. ClearBlade does not provide stored acknowledgment of receipt of messages sent to Google Pub/Sub.

  4. No plan to implement: State history migration from open source migration CLI. ClearBlade IoT Core does not migrate state history. APIs could bring state over, but delivery timestamps would be from migration time.

  5. No plan to implement: Root certificate. Google IoT Core uses Internal Google Certificate Authority for the root certificate of trust. Google Certificate Authority does not issue external certificates. ClearBlade IoT Core uses a root certificate of trust from industry leader DigiCert.

  6. No plan to implement: Global MQTT URL. Google provides a single global device URL. ClearBlade IoT Core provides only regional URLs.

  7. No plan to implement: Exact .NET SDK matching. Google .NET SDK is not specific to IoT Core but offers a full cloud suite. ClearBlade has provided an IoT Core subset library.

  8. No plan to implement: Pub/Sub topic creation from UI. To reduce permissions required by ClearBlade IoT Core into user project areas, ClearBlade IoT Core does not enable the creation of Pub/Sub topics from its console interface.

  9. No plan to implement: SECP256R1 elliptic curve support. This issue comes from intermediate certificate use. It can be solved using the recommended ClearBlade external proxy and a third-party trust provider that can issue a non-standard intermediate certificate, such as DigiCert.

  10. No plan to implement: TLS_RSA_WITH_3DES_EDE_CBC_SHA Cipher support. Currently, this cipher is not reporting as supported.

  11. No plan to implement: Topic NumID support. ClearBlade honors deviceID in its device topic paths but does not honor numID. All devices must connect using their deviceID in the topic path.

  12. No plan to implement No disconnect on reconnect. Google IoT Core allows a device to connect while connected and does not report a disconnect from the old connection. MQTT specification requires the oldest connections to be disconnected when using the same client-id. When a device reconnects in ClearBlade IoT Core, the server will issue and log the old connection being disconnected.

  13. Under consideration: Google IAM. ClearBlade IoT Core does not provide Federated Auth or OAuth2 developer identity with Google IAM. ClearBlade IoT Core provides its user registry, where all passwords are one hashed. ClearBlade IoT Core is currently SOC 2 Type II certified.

  14. Under investigation: Arduino support. Currently unavailable.

  15. Under investigation: Complete MQTT persistent session support. ClearBlade IoT Core will republish any messages (with QoS 1) sent on a topic while the device is disconnected. However, the broker will not automatically reinstate the subscription.

  16. Under investigation: The sendCommandToDevice endpoint only returns a 400 FAILED_PRECONDITION if the device is not connected via MQTT. Google IoT Core does an additional check to ensure the device is subscribed to the wildcard MQTT topic. Google reference.

  17. Under investigation: ClearBlade active device monitoring calculation. We believe Google counts an active device as any device with an established MQTT connection. ClearBlade counts a device sending events or states as an active device.

  18. Under investigation: Google reports broken connections to the error status device field (e.g., if a client closes a TCP connection without sending an MQTT disconnect). ClearBlade does not consider this an error.

  19. Under development: Terraform support. Currently unavailable. APIs are recommended as a workaround.

  20. Under development: Java SDK API matching. Google provided multiple SDKs with different API implementations. ClearBlade IoT Core is working to provide a merged SDK version to support the widest migration needs. This version will most likely require end-user changes.

  21. Completed: Config acknowledge. ClearBlade IoT Core does not provide stored acknowledgment of new configuration device reception.

  22. Completed: Disconnect vs. ignore on a bad topic subscribe. ClearBlade IoT Core disconnects devices that subscribe to any topic besides config and command. Google IoT Core ignores all subscribe requests.

  23. Completed: Server side TTL forcing device disconnect.

  24. Completed: JWT over HTTP.

  25. Completed: Golang SDK.

  26. Binary data storage: Please see this document.