The potential benefits of the Internet of Things are matched only by its complexity and significant risks. How can the AWS IoT service make it all work?
There’s been a whole lot of attention focused on the Internet of Things (IoT) lately. Industry analysts are falling over each other with their projections of just how quickly and completely “everything” is going to change. We’re going to offer something of an introduction to the subject, with a particular focus on the role that Amazon’s AWS IoT service can play.
What is IoT (Internet of Things)?
You can think of the IoT (Internet of Things) as an ecosystem or an environment where everything around you – trees, cars, people – is a “thing”. What the IoT adds to all the “things” is digital interactivity. Sounds a bit crazy, right?
But this is just what things could look like in the very near future. IoT can take the Internet to a totally different level, where not only do web applications interact with each other (and with people), but with countless objects in the physical world. And when I say “physical world”, I mean just about everything that you can think of: machines, appliances, buildings, vehicles, medical devices, animals, plants…anything. So am I saying that all these will be connected via internet? Yes, actually. I am.
Now, to attach an object to the Internet, you need to give it a unique identity. Here, IPv6’s virtually unlimited supply of IP addresses can play a crucial role. We can now easily assign an IP address to every “thing” on the planet. Once an object has an identity, any built-in capacity to sense the world around it can be harnessed and quantified. Finally, things can be made to communicate with other things.
That, in very simple terms, is how the IoT can be structured. But is there a way to visualize the full impact it might have on the economy? Here’s a graphic representation of a Gartner report highlighting the value-added impact of the IoT. It’s simply staggering.
A few IoT use cases
The IoT can totally change the way we use so much of our world. It’s not possible to project even a tiny share of the creative uses engineers and technologists will dream up in the coming years, but here are some fairly obvious use cases:
- Automatic re-routing of cars already in transit based on the traffic data received from sensors.
- Smart controls over electricity based on ambient conditions. For example, inside lights could be dimmed in response to an especially bright sun shining outside outside (part of the infrastructure of a smart home).
- Coordination between hospitals, clinics, and doctors’ offices based on health monitoring sensors.
And this is definitely only the very small tip of the iceberg.
The challenges of the IoT (Internet of Things)
Until now, we’ve discussed the IoT’s WOW factor. But we must also consider the significant challenges that will accompany it. Here are a few that are worth considering:
- True integration will require getting different kinds of objects to speak a single language. By “language”, I mean the way their data will be structured. For GPS-enabled tags on pet collars to talk usefully with, say, health department mobile tracking devices concerned with the spread of animal-borne disease, they will both have to use a common data format. Someone is going to have to impose that standard. And someone else is going to have to implement it.
- Enabling secure communication between billions of devices in a way that also respects privacy rights is not going to be easy.
- Implementation of an end to end IoT design will require environments capable of handling tools like machine learning, secure authentication, complex rule engines, and the processing of streaming data. And all at very great scale.
I don’t mention these challenges just to be negative, but as a way of introducing the kinds of contributions AWS IoT can make.
Think about it: AWS is already in the business of providing a managed platform that can handle billions of securely connected devices. Because it rests on top of the Amazon ecosystem, AWS IoT can easily process trillions of messages and route those processed messages between AWS endpoints or other devices both reliably and securely. AWS Lambda, Kinesis, S3, Amazon Machine Learning, and DynamoDB already exist in mature, proven forms, and can be used to build IoT applications that gather, process, analyze, and react to data generated by connected devices.
In other words, the infrastructure and connectivity is already there. AWS IoT supports both HTTP and MQTT (a lightweight communication protocol).
Here’s an illustration of how the architecture of an IoT application might look with AWS IoT:
This shows you how the various elements of AWS IoT work together to create a full fledged IoT implementation, achieving significantly reduced overhead of management. See the AWS source documentation for greater detail.
If we wanted to briefly summarize the overall function of AWS IoT, we might say that it allows these three operational phases:
- Connectivity between devices and the AWS cloud.
- Processing of data sent from connected devices.
- Application interaction with connected devices.
We can also say that AWS has gone a long way to address all the pain areas associated with developing and designing IoT applications. AWS provides:
- Resource Management.
- Centralized management of unique identities.
- Data processing using complex algorithms.
- Reliable and standardized communication among various devices.
Things to know about AWS IoT
AWS IoT is currently available only in the following AWS Regions
- US East (N. Virginia)
- US West (Oregon)
- EU (Ireland)
- Asia Pacific (Tokyo)
You can manage AWS IoS through the AWS Management Console, the AWS SDKs, and the AWS CLI. AWS IoT APIs are also available to access the AWS IoT service.
With AWS IoT, you only pay for what you use and there are no minimum fees. Prices are based on the number of messages published to AWS IoT (Publishing Cost), and the number of messages delivered by AWS IoT to devices or applications (Delivery Cost). AWS IoT does not charge for deliveries to AWS services like S3, DynamoDB, Lambda, Kinesis, SNS, and SQS.
The AWS IoT free tier is designed to get you started, allowing you 250,000 free messages (published or delivered) per month, for twelve months.
This post was certainly not a complete guide, but I did try to introduce you to IoT in general, and at the same time draw attention to how cloud providers, like AWS IoT, can greatly ease implementation of real-world IoT projects.
Have you used AWS IoT yet? Why not share your experiences in the comments?