IoT on GCP (Part 4)

Alex H. Macy
3 min readNov 17, 2020

You can apply data transformations with cloud dataflow. This is simplified stream or batch data processing. Cloud Functions is a lightweight compute solution for developers to create single purpose, standalone functions that respond to cloud events without the need for your to manage a server or runtime environment. Cloud Bigtable is a sparsely populated table that can scale to billions of rows and thousands of columns, enabling you to store terabytes or even petabyets of data. Cloud Bigtable is ideal for storing very large amounts of single-keyed data with very low latency. It supports high read and write throughput at low latency, and it is an ideal data source for MapReduce operations. Cloud Storage is an online file storage service that is used for storing and accessing data on Google Cloud Platform. It offers secure, scalable, high performance access to your data.

With Google IoT platform, you can analyze, visualize and predict outcomes, and generate actionable insights. BigQuery is a highly scalable enterprise data warehouse that helps you understand your devices’ behavior at scale. BigQuery is an enterprise data warehouse that stores and queries large data by enabling superfast SQL queries. Cloud Machine Learning Engine is a managed service that enabled developers and DS to build and bring machine learning models to production. Cloud ML Engine offers training and prediction services that can be used together or individually.

Focus on generating insights, patterns and trends using Cloud DataLab and Google Data Studio and Cloud DataPrep by Trifacta. DataLab is based on the open source Jupyter project. Google Data Studio turns your data into informative dashboards and reports that are easy to read, easy to share, and fully customizable. DataPrep is an integrated partner service that is operated by Trifacta.

Cloud IoT Core is where users create registries and devices. A Pub/Sub topic is selected when a registry is created. Authorizations and keys are associated with each device as it is added to the registry.

Device management on Cloud IoT covers the three main concerns of sensor and device management, adding new devices, monitoring devices, and updating devices.

Cloud IoT ensures 1.) a device has at least an ID and a basic metadata before it can connect to Google Cloud. 2.) credentials and auth are checked before allowing access. 3.) device is auth to pub/sub to a topic 4.) a secure connection with the cloud 5.) devices are registered and tracked when they are used.

Cloud IoT monitors the daily operations and status of devices with Stackdriver Logging. The level of Stackdriver Logging for each device is specified when the device is created. The four levels of logging are: None, Error, Info, Debug.

When working with large networks, updating devices individually is not practical, and in some cased, not even possible. Cloud IoT gives you the option to push updates over the air (OTA).

Devices are authenticated individually, meaning that an attack on one does not mean an attack on all. Four public key formats available for devices. RS256 and RSA256_X509, and ES256 and ES256_X509. You specify the key format when creating the device. You can also set an expiration time for each device credential (public key). The connection to the cloud is a TLS1.2 connection, using rot certificate authorities (required for MQTT). Cloud Core supports up to 3 active keys per device. The service tries to verify the device with each of the active keys and accepts a connection if any active key matches.

Cloud IoT Core API access is controlled by Cloud Identity and Access Management (IAM) roles and permissions.