Connected devices provide a pathway to the age of smarter computing. As part of this evolution, the Internet of Things (IoT) plays a significant role in building a more sophisticated data-driven world. In a recent analysis, Gartner predicts double-digit growth rates in 2019 for IoT endpoints and spending on advanced analytics. Using data aggregation, consumed in real time directly from devices, presents an unprecedented opportunity to design and develop sophisticated data-centric solutions.
Google Cloud Training Self Paced Labs now include a series of labs designed to help you take advantage of the latest IoT technology. The “IoT in the Google Cloud” quest presents a comprehensive introduction, with real-world examples that show you how to build your solution. Of course, not everyone has an IoT device lying around, so the labs show you how to accomplish this with data streaming from simulated hardware devices, completely self-contained in the cloud, via your web browser.
This blog post aims to introduce the most common elements when establishing a connected workflow between a device and Google Cloud Platform (GCP).
As you can see from the above diagram, at its most basic level, IoT requires a connected device, ingestion of information (i.e. telemetry data), and some level of information processing based on the data received. In the more advanced labs, additional considerations to productionize your environment might be security, device management and monitoring.
The concepts might seem quite abstract until you try them for yourself. Labs provide a hands-on introduction to both the subject matter and the services Google Cloud offers. Working through the labs highlights many of the challenges faced when working with IoT (e.g. securing devices through authenticated access and real world monitoring), and some useful patterns that can be applied to real world business problems. In eight hours, you’ll learn how to use Google IoT Core in conjunction with services such as BigQuery, Cloud Dataflow and Stackdriver.
IoT presents a real opportunity to establish a more data driven and analytical point of view, for example:
Healthcare applications such as patient sensor monitoring
In-home devices like smart thermostats
Public sector applications, including monitoring pollution levels or parking
Building a solution based on IoT requires a rich ecosystem in which to make geographically dispersed devices communicate with each other seamlessly. To illustrate this point let’s outline a typical IoT architecture for GCP and see what that entails.
Incorporating an IoT device within your design requires you to learn a suite of technologies such as device registration, message brokering, and authentication. Each one of these mechanisms is quite complicated to manage in and of itself. As you can see from the diagram, the Cloud IoT Core service simplifies the technical requirements to provision a device within the Google Cloud infrastructure. The addition of this service removes a key barrier to entry by reducing the general complexities associated with managing hardware devices. The service provisions these components for you automatically, and with minimal setup:
A protocol bridge, based on the de facto protocol standard of message queuing telemetry transport (MQTT) and hypertext transfer protocol (HTTP). This enables telemetry consumed from the IoT device to efficiently propagate information downstream to services such as Cloud Dataflow, BigQuery or Stackdriver.
A device Manager, which coordinates management responsibilities for Cloud IoT Core.
Device registration, allowing for integration via a REST-style API for cloud platform services, console and associate authenticated tools. Secure access is available using two types of authentication based on private key exchange or JSON Web Tokens.
Unified monitoring, available through Stackdriver, delivers metrics at the registry level. In addition, logging is also supported to provide both audit and device logs.
A data broker, which allows information exchange to external services in a coordinated manner.
Using Cloud IoT Core removes complexity and enables seamless connectivity and management of devices. In the lab, you’ll start with simulated hardware, allowing you to focus on learning how to provision, secure and ingest data from devices. To take it to the next level, why not start designing the next great application for IoT?
Once you have mastered the use of Cloud IoT Core, there’s much more left that you can do. As shown in the diagram, a message queue services such as Cloud Pub/Sub provides the building blocks on which existing patterns can be learned and evolved, so you are in control of how your new IoT service operates. Continue your quest and get lab experience with Cloud Dataflow (data transformation), Cloud Functions (event-based processing), and more common use cases to help you apply what you learn about IoT to real business needs. Labs provide the basis for your understanding and present a sandboxed environment in which you can design, build and execute your next great business idea coming to fruition.
From the initial introduction of IoT concepts, to expanding to more sophisticated use cases, working with labs is an investment in your future and will enable you to quickly learn the fundamentals of IoT and leverage GCP to deliver state of the art solutions. In addition, on completion of the quest, you’ll also receive an IoT badge to demonstrate successful completion of the labs.
Ready to begin? Get started with IoT in the Google Cloud.