At Google I/O, we introduced Google Cloud IoT Core, a fully managed service on Google Cloud Platform (GCP) to help securely connect and manage IoT devices at scale. Since then, many customers across industries such as transportation, utilities, healthcare and ride-sharing have used the service and provided us with insightful feedback.

Cloud IoT Core is now publicly available to all users in beta, and we have introduced new set of features in this release. With Cloud IoT Core, you can easily connect and centrally manage millions of globally dispersed IoT devices. When used as part of the broader Google Cloud IoT solution, you can ingest all your IoT data and connect to our state-of-the-art analytics services including Google Cloud Pub/Sub, Google Cloud Dataflow, Google Cloud Bigtable, Google BigQuery, and Google Cloud Machine Learning Engine to gain actionable insights.

Key new features

Bring your own certificate

Cloud IoT Core private beta users have asked for the ability to verify the ownership of device keys. In addition to asymmetric key-based authentication per individual device, users can now bring their own device key signed by their Certificate Authority (CA), and IoT Core verifies the signature of the key provided by the device with the CA certificate during the authentication process. This, for example, enables device manufacturers to provision their devices offline in bulk with their CA-issued certificate, and then register the CA certificates and the device public keys with Cloud IoT Core.

Connect existing devices with HTTP

In addition to the standard MQTT protocol, you can now more securely connect existing IoT devices and gateways to Cloud IoT Core over HTTP to easily ingest data into GCP at scale.

Logical device representation

Certain use cases require an IoT application to retrieve the last state and properties of an IoT device even when the device is not connected. Cloud IoT Core now maintains a logical representation of the physical IoT device, including device properties, and its last reported state. It provides APIs for your applications to retrieve and update the device properties and state even when the device is not connected.