This is My Architecture is an Amazon Web Services (AWS) series that features AWS partners and customers demonstrating innovative cloud architectures used to solve problems. Recently, Onica’s CTO Tolga Tarhan appeared on This Is My Architecture to talk about a customer project using Serverless monitoring and analytics for AWS IoT connected tanks.
About the Project
This project was designed to monitor the fill-level of tanks belonging to a customer. The tank has been instrumented with fill-level sensors to know how full it is.
An Overview of the AWS Services Used
The tank is connected to AWS IoT to track fill, which then routes the information to either Amazon Kinesis or Amazon Kinesis Firehose, depending on the type of data and what process must be followed.
The raw sensor data (how full the tanks are and at what time) routes into Amazon Kinesis Firehose, then into storage in Amazon S3 for analysts to use at a late time when wanting to conduct analysis on the tanks. While Amazon S3 is a cost-effective spot for the data, it’s only kept there for about a year before being life-cycled to Amazon Glacier for longer-term storage.
The second set of information, which sends messages around when a tank is full and ready for technician service, is sent to Amazon Kinesis as a buffer between AWS IoT and AWS Lambda. Using Amazon Kinesis as a buffer allows messages to be stored between AWS IoT and AWS Lambda if there is a coding failure in AWS Lambda. Amazon Kinesis and AWS Lambda are used at multiple points along this path to help serialize and queue tank level information to technicians who need to service the tanks without overloading a single technician, as well as push messages to the mobile application. Amazon DynamoDB also stores real-time data on tanks for the mobile application to track tank information and relay information to technicians on which tanks to service.
These services were all chosen for their Severless nature, which not only helps keep costs extremely low, but maximizes availability — because all the services are regional, not a single one will fail if a single Availability Zone does. This architecture is practically real-time, and costs only pennies when idle, and about $1,000/monthly when running at full production.
Want to learn more about how IoT can accelerate your business?
Watch our on-demand webinar on Why AWS for IoT.