In this article, we will explore in detail what AWS IoT is, what components it offers, and how developers can start building solutions with AWS IoT at the core.
AWS IoT is a collection of Amazon cloud services that organizations can use to connect Internet of Things (IoT) devices to other devices and the Amazon Web Services (AWS) cloud. Organizations across various industries can use AWS IoT to analyze data from their edge devices and get insights on how to improve their workloads.
The reality today is that IoT covers a broad array of hardware and software-based capabilities. Developers can use IoT to create applications and real business solutions to get insights into the world we’re all living in.
AWS has a plethora of components and services from its hyper-scale platform that are all offered as ‘serverless’ capabilities. These services can be spun up so that customers only pay for what they use. They’re not left with a bill to stand up the required hardware, and they also don’t have the burden of maintaining the platforms to support their IoT solution.
The available services that comprise AWS IoT can be viewed as managed services. As a developer, you simply register for an AWS account, configure the services you need for your IoT solution, then you’re free to experiment without having to maintain any hardware or software.
AWS IoT gives organizations using IoT products the ability to quickly jump in and start exploring and developing IoT solutions. AWS also provides regular platform updates as they are released by product vendors.
The services AWS IoT offers can be split into the following three categories:
The above services can be viewed as IoT-centric, and they’re all offered under the “AWS IoT” umbrella. This does not negate the fact that an IoT solution can be defined and built with many other non-IoT services on AWS, or any other cloud platform (or even private cloud capabilities). For example, it’s possible to use AWS S3 buckets for storage or Lambda functions to run code based on actions from IoT events.
An IoT solution can leverage just a handful of these services, but it’s also possible to use them all depending on your needs. It’s much a case of “joining the dots.” Using serverless/managed service components to suit your needs and solutions.
Typically, any IoT Solution built on AWS will use AWS IoT Core, which plays a similar role as Microsoft’s Azure IoT Hub or Google’s IoT Core solutions. Let’s have a look at AWS IoT Core in a bit more detail.
At the heart of any IoT solution should be a centralized process for sending and receiving device telemetry and data. The primary function of AWS IoT Core is to act as that message broker, receiving data from potentially billions of devices if required.
The ability for AWS IoT Core to receive messages (typically in JSON format) from IoT devices is the key purpose of the service. It can store these messages in publisher/subscriber (Pub/Sub) queues for onwards processing by other services, as described above. You can even send messages back down to your fleet of devices for operations, management, and maintenance.
Offering features and capabilities such as over-the-air (OTA) device updates, AWS IoT Core typically uses the MQTT network protocol for communicating with IoT devices. However, HTTPS can be used to provide MQTT over web sockets when using solutions that can’t communicate over ports other than 443. This can be typical in a lot of organizations where security and network controls are in place.
The current capabilities of AWS IoT Core enable you to simply use the platform for that MQTT message broker pub/sub configuration as part of your IoT solution. However, Amazon has also developed a few other use cases for AWS IoT core.
When an IoT device has unreliable or intermittent connectivity to AWS IoT Core, the core will keep information about the device’s last state and enable it to automatically reconnect once it has a reliable connection.
Building your own voice-enabled IoT solution couldn’t be easier with the integrated Alexa Voice Service (AVS). Audio messages are sent via AWS IoT Core for onward submission to AVS via secure MQTT topics. This adds the ability to control your IoT devices via Alexa, paving the way for voice-enabled applications using AWS IoT Core at the heart of the solution.
Long Range Wide Area Network (LoRaWAN) devices can integrate with AWS IoT Core to send and receive messages to other AWS cloud services that make up your IoT solution.
To get started, you can use the free tier of AWS IoT Core. It will allow a baseline of:
The free tier would be more than enough for anyone looking to learn and develop a simple solution. And to get started without any additional expenses. Further information on pricing tiers can be found on the AWS IoT Core pricing page.
Connecting devices and applications to AWS IoT can encompass one or more of the aforementioned features of the platform. Devices would typically connect to AWS IoT Core and send messages using the MQTT protocol.
Applications would generally have some form of user interface, potentially hosted within AWS, to interact with and manipulate data that would typically be developed as part of the solution. AWS offers the Well-Architected IoT Lens, a collection of best practices for developing IoT solutions.
Using a simple reference architecture diagram from the AWS Architecture Center, you can see below how devices might access AWS IoT capabilities.
As you can see, some of the AWS IoT capabilities are in a real ‘connected home’ architecture. This describes how devices around the home might be configured to relay messages into the AWS cloud and AWS IoT Core for onwards storage. Then, the processing/reporting would happen via an application developed and hosted in the AWS cloud.
The AWS Architecture Center can help you to explore different applications and architectures that can inspire you to create your own IoT solution with AWS IoT.
Hopefully, by now, you should know that AWS IoT is not a one-size-fits-all-platform: It’s a plethora of services, each with their own unique offerings and capabilities.
As a developer or IT pro, you should now ask yourself a simple question: “What problem am I trying to solve with AWS IoT?” To find the answer to this question, you’ll need to form your unique perspective on how to solve problems or improve how the organization you’re working for operates.
Use cases and applications of IoT are pretty broad and wide-ranging, but you also need to take into account the industry vertical you are working in. Here are a few ideas to help you get started.
AWS IoT can be used for predictive maintenance of factory machinery. You can enable your business to anticipate when components are overheating or could go faulty.
By monitoring failures over time, you can build up a picture of when certain components break, or what the typical lifecycle is of a particular piece of machinery is. Couple this up with machine learning models, and you can get create predictive maintenance cycles in your industry.
Using cameras and object detection models, you can count the footfall of your customers as they navigate through your stores to work out any bottlenecks in your store layout. You could also use the collected data to understand a typical customer journey through your store, which could help you determine a better layout for products and services in the physical world.
It’s possible to use IoT devices to track and monitor the condition of endangered species. By using real-time metrics about animals’ movements and feeding habits, you could ensure that their natural habitat, and that these endangered species, have everything they need to flourish.
Self-driving vehicles can be seen as incredibly complex IoT edge devices. With hundreds if not thousands of sensors, autonomous cars use IoT to map the world around them and analyze the performance of the vehicle to adjust it in real-time.
Notice how these IoT devices need to be an edge device: this allows the computing power within the car itself to be locally available to make real-time decisions based on the data its sensors are providing.
A simple way to start your AWS IoT journey might be to create a simple button that sends a message to an IoT device, like a light bulb, to turn it on or off. Later on, my advice would be to look around your current environment and think about how you could embrace the power of IoT to make your living space better.
As I explained above, many organizations across various industries are now experimenting with IoT devices and increasing their investments in that field. In order to glean inspiration and find out what companies are using AWS IoT for, you can head out to the AWS Customer Stories section of their website and filter on Tech Use Case – IoT
From here, you can see some truly inspiring customer stories from companies such as:
In the past couple of years, IoT adoption has been increasing, and the development of industrial and enterprise-grade IoT solutions rise exponentially. Industry verticals, like manufacturing and healthcare, are embracing innovation with IoT solutions to glean business efficiencies. According to Gartner, an overwhelming 99% of companies have been maintaining or increasing their IoT budget over the last few years.
Some key findings indicate that just last year, there were more than 10 billion active IoT devices in use, and that number may well cross 30 billion by 2030 according to DataProt. These figures may be somewhat conservative in my opinion. Anyway, this should go some way to recognizing that this trend is growing, and IoT is an exciting space for developers.
AWS IoT offers many services and solutions, allowing organizations to connect devices to the Amazon cloud and operate them at the edge. However, remember that there are similar and equivalent features and services available from other hyper-scale cloud providers, like Microsoft Azure and the Google Cloud Platform.
Ultimately, you need to remember that the main condition for implementing a successful IoT solution is to identify the problems or the insights you are looking to enable. From there, the technology can be learned and incrementally developed.
Experiment with the free tier of AWS IoT Core and good luck with your next IoT project!