What is AWS IoT?

AWS (Amazon Web Services)

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. 

What is AWS IoT?

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.

What services does AWS IoT offer?

The services AWS IoT offers can be split into the following three categories:

Device software

  • FreeRTOS: An open-source real-time OS for low-powered microcontroller devices, making deployment, connectivity, security, and management simpler.
  • AWS IoT Greengrass: An open-source edge runtime for deploying, securing, and managing IoT edge devices. It comes with the ability to consume and process data locally for onwards routing to the AWS platform.
  • AWS IoT ExpressLink: A platform to power a wide range of hardware modules that have been built and developed by third-party AWS partners. It ensures that devices can be built, secured, and deployed into your IoT solutions.
  • AWS IoT EduKit: A range of training material and example code that makes it easy for students or experienced professionals to get started with AWS IoT.

Connectivity and control services

  • AWS IoT Core: This service can connect billions of IoT devices. It can route trillions of messages generated by your devices, all without having to deploy and manage any physical infrastructure.
  • AWS IoT Device Defender: It provides security management for IoT devices with audit capabilities, as well as authentication and anomaly detection to ensure you’re keeping your IoT device fleet secure.
  • AWS IoT Device Management: A service to register, organize, update, and monitor your IoT device fleet. It also can also be integrated with AWS IoT Core and IoT Device Defender.
  • AWS IoT FleetWise: Currently in preview at the time of this writing, this service is being developed for automobile manufacturers for collecting, transforming, and sending data from vehicles to the cloud.

Analytics services

  • AWS IoT SiteWise: A managed service for collecting and storing data from industrial devices and equipment. The data can be used to monitor and create a virtual model of physical assets.
  • AWS IoT Events: A managed service offering that enables developers to respond to specific inputs from IoT devices. It can also create triggers and resulting actions to raise alerts or call other services and workflows.
  • AWS IoT Analytics: As its name suggests, this managed service enables you to process huge volumes of IoT data by collecting, processing, and storing it in a time series database for onwards analysis and reporting.
  • AWS IoT TwinMaker: This service lets developers create a model and 3D visualization of real-world systems such as buildings, factories, or any piece of industrial equipment.

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.

What does AWS IoT Core offer?

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.

An essential communication service for IoT devices

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.

AWS IoT Core uses the MQTT network protocol for communicating with IoT devices.
Source: AWS IoT core website

Other use cases for AWS IoT Core

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.

Mirroring device state

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.

Built-in Alexa capabilities

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.

LoRaWAN Devices

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.

AWS IoT Core pricing

To get started, you can use the free tier of AWS IoT Core. It will allow a baseline of:

  • 2,250,000 minutes of connection for your devices
  • 500,000 messages to be consumed
  • 225,000 registry or device shadow operations

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.

How do devices and apps access AWS IoT?

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.

Connected home graph showing how devices might access AWS IoT capabilities.
Source: AWS Connected Home Reference Architecture Diagram

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.

Common use cases for 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.

Industrial

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.

Retail

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.

Conservation

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.

Autonomous Vehicles

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.

Keeping it simple

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.

You probably need to start simple with your first AWS IoT project

Who is using AWS IoT?

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:

Conclusion

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!