Guidance for Tracking Assets & Locating Devices Using AWS IoT
Overview
How it works
These technical details feature an architecture diagram to illustrate how to effectively use this solution. The architecture diagram shows the key components and their interactions, providing an overview of the architecture's structure and functionality step-by-step.
Well-Architected Pillars
The architecture diagram above is an example of a Solution created with Well-Architected best practices in mind. To be fully Well-Architected, you should follow as many Well-Architected best practices as possible.
Operational Excellence
Location Service, Lambda, and AWS IoT Core were used for this Guidance to automate your workloads and help you respond to events appropriately. Location Service does this by sending metrics to Amazon CloudWatch, giving you the visibility into how many geofences you are evaluating, and how many position updates you are ingesting. Lambda provides detailed metrics about function performance and optimization. AWS IoT Core sends metrics to CloudWatch to monitor incoming messages and alert you when ingestion stops or slows, indicating possible network or other issues. Understanding the metrics for each service allows you to identify ways of optimizing the event workflow, as well as ensure the workflow can scale in the event of a large influx of new events.
Security
Location Service, AWS Identity and Access Management (IAM), and AWS IoT Core were selected for this Guidance to help you protect your data, systems, and assets in a way that improves your security posture. First, IAM policies are scoped to allow for only the minimum level of permissions. Next, Location Service allows for the scoping of permissions to only update permitted trackers and devices. Finally, AWS IoT Core policies create a layer of permissions controlling which devices can send data to MQTT topics, and how those devices can interact with the cloud. Limiting unauthorized access to these services prevents additional charges from being accrued, as well as prevents a device from being tampered with and sending malicious operations, or commands, to the cloud.
Reliability
Your data is ingested into AWS IoT Core, processed by Lambda and Location Service, and then stored in Amazon S3. Lambda is designed to spread invocations across AZs, while AWS IoT Core is built with a multi-AZ architecture. Amazon S3 replicates data across AZs, and offers high levels of availability. Finally, Amplify uses Amazon S3 to host the web front-end, making it highly available. By using services built with serverless technology, such as these, and designed across multiple Availability Zones (AZ), your workloads can be resilient against failures.
Performance Efficiency
AWS IoT Core and Lambda help you maintain efficiency as your business needs evolve. For example, AWS IoT Core scales as messages are ingested, and offers very low latency. And Lambda allows you to set concurrency reservations to reduce cold start times and improve performance. By using services that scale as data is ingested, you can ensure your application will remain up and performant even under heavy load.
Cost Optimization
Location Service offers filtering to save costs on location updates that may be jitter or if a device has not moved in a time period. By filtering location updates, you reduce costs when retrieving location events or evaluating geofences. Also, Amazon S3 offers multiple storage tiers for long-term location storage, and by setting a colder storage tier for long term storage in Amazon S3, you reduce storage and retrieval costs. Moreover, AWS IoT Core provides a very low-cost ingestion environment with multiple pricing tiers, depending on the number of messages sent. AWS IoT Core pricing scales with the application, and a higher throughput of messages does not mean significantly higher costs.
Sustainability
Most services in this Guidance are built using serverless technologies, reducing the compute footprint required. Lambda, for instance, will not run unless invoked by AWS IoT Core. Athena is a serverless application that will only consume compute resources when invoked. And Amazon S3 can use slower, more energy-efficient storage volumes for longer-term storage of location events. By building on top of serverless services, you can reduce your overall compute usage, and build a completely event-driven architecture that can scale up and down as the traffic scales, using less energy during slower periods of ingestion.
Implementation Resources
Disclaimer
Did you find what you were looking for today?
Let us know so we can improve the quality of the content on our pages