AWS has long been a leader in the IoT space. They offer a wide range of managed IoT services and customers have been operating IoT solutions on AWS at scale for over a decade. It is a very large and powerful toolbox, but at the end of the day, the challenge is right there in the name IoT – Internet of Things. What do you do when the I in IoT isn’t a foregone conclusion?
Consider a situation where a few dozen IoT sensors and cameras are quickly set up in a remote location where even cellular service is not available. It would likely be prohibitively expensive to equip every sensor and camera with its own SATCOM terminal and associated service.
Even if we could afford to do that, the latency back to the region would be high and the throughput low – both of which would delay our ability to make decisions based on the data coming in from those sensors. This will typically be the case if we want to make Machine Learning (ML) inferences based on the combined data of several sensors.
For these reasons, and more, it makes sense to insert an aggregation point that those sensors and cameras can send their data to. At this point, a small ML model could make inferences based on multiple incoming streams. Audio, video, and other large pieces of data could be preprocessed – sending only the most critical and most optimized data over the expensive and slow SATCOM link. This aggregation point could also buffer incoming data in case the SATCOM terminal goes offline or becomes affected by environmental conditions such as rain fade.
The AWS Snow family of devices is ideal for providing the compute and storage needed for this purpose. Further, they can be ordered with a preconfigured AMI that runs AWS IoT Greengrass.
You will recall from Chapter 1 that AWS IoT Greengrass can be visualized as a platform for running tiny versions of region-based AWS services you are already familiar with – including AWS SageMaker, AWS Lambda, AWS Kinesis Data Firehose, AWS Kinesis Video Streams, Amazon SNS, AWS Secrets Manager, AWS CloudWatch, and AWS Systems Manager.