Every time I think about where my career has taken me over the past 20+ years, I reflect back and am astonished at how the core pillars of the IT industry tend to rewrite themselves every 5ish years. I say IT industry because it really is anything that involves technology in my opinion, not just software engineering or cloud architecture where my career has mostly focused.
This weekend I spent a few hours seeing what I could do with the AWS IoT platform. Within 1 hour I already had some things working, and in less than 5 hours, I could not believe what I had accomplished. For me, the most astonishing part this whole experience was that I did not write a single line of code. It was all done through configuration within the AWS Console.
Although I have been working with AWS Serverless services for a while now, this was my first time using the AWS IoT platform. I felt given the few hours I had spent, I was able to build a pretty robust (yet basic) solution. What I created was able to receive events from registered IoT devices, and do multiple things with them on the backend. To test what I had built, I used the built in MQTT client for this, since I did not have any hardware based devices in my hands. These messages that I created, were basic json payloads, which I submitted to specific IoT topics that were defined. Each of these topics had assigned to them certain rules that I had created. These rules were configured in the AWS IoT rules engine within the AWS Console. I had different rules to do things like post the json payload into a DynamoDB table and drop it into an S3 bucket, with each file having a unique name. I was even able to route certain messages to SNS topics, which my mobile phone was subscribed to. This allowed me to receive an SMS message for every IoT json payload that met certain rules.
In the end, what I created would have taken several weeks if I created it on my own, possibly even longer. The total cost to me so far was $0.00 since AWS only charges once a certain threshold is met. There was no charge for all of the test messages that I had created, or were sent to my cellphone. Overall it was pretty exciting to finally work with the AWS IoT platform and I can clearly see how the platform can allow one to create very robust and feature rich IoT applications in very little time, with very little up front cost. But then again, this was the whole idea behind serverless architecture. The aspects that I did not get to are things like Security which is very well built in to the platform, and advanced routing and processing of the messages. The latter of course, would require me to get my programming chops wet, and start writing some code.
Click here to learn more.