AWS Re:Invent 2017 - IoT at the Edge of the Edge
Joakim Lindh blogger om AWS Re:Invent 2017 – sett gjennom våre cloud og IoT-briller!
I just got back from a fantastic full-week conference in Las Vegas. Amazon Web Services (AWS) sure knows how to satisfy its customers, fans and partners. The conference included over 1300 sessions and had more than 43000 attendees. Hold your hats and join me while I recap the new services and announcements specifically related to the Internet of Things (IoT). Please note this article is hastily written in transit and is aimed for an audience already familiar with AWS.
- AWS enhanced the existing IoT services and released several new IoT services, including an embedded OS for MCUs called Amazon FreeRTOS (a:FreeRTOS).
- Newcomers Amazon SageMaker and AWS DeepLens makes Machine Learning (ML) a bit more effortless, and enables ML on the edge for IoT.
- With Amazon Sumerian, AWS enters the world of VR/AR/3D and provides a simple tool to visualize IoT, within new dimensions (pun intended).
- Voice represents the next major disruption in computing, according to AWS.
I attended many sessions, workshops and bugged solutions architects around the event. Cool demos, hands-on and unlimited access to the experts. Not only did I get up to speed on the already existing services, AWS announced a lot of new services! Rest assure that AWS will climb further away from competitors on many of the Gartner Magic Quadrants. So, what’s new?
Improving the Existing IoT Services
AWS IoT Core is a managed cloud platform that allows IoT devices to interact with AWS services. It’s been around since 2015 with primarily Device Gateway (MQTT Broker), Rules Engine and Thing Shadow. The Thing Shadow is main feature here as it allows a flexible way to interact with states and data on the IoT devices. During re:invent, AWS IoT Core was updated with an enhanced authentication feature, which allows additional authentication mechanisms. For AWS IoT, there are generally two paths for authentication; Amazon Cognito for consumers and certificates for more industrial oriented applications.
AWS Greengrass is a software package from AWS that runs on IoT devices and allows them to connect to the cloud. It requires minimum a single core 1GH, 128MB of RAM running on x86/ARM (i.e. Raspberry Pi) so it’s not for the most cost optimized IoT devices. AWS Greengrass was updated with a few new enhancements; Support for OPC-UA messaging protocol, a popular industrial automation protocol. Over-the-Air (OTA) upgrade capability, which allows for security patching and feature enhancements after deployment. Finally, resources to interact with AWS Lambda and capabilities to run local ML Inference. The latter is a huge step towards creating intelligence at the edge.
Adding New IoT Services
AWS IoT Device Managementis a service to onboard new devices with batch fleet provisioning. Additionally, it allows for real-time fleet indexing and search and orchestration for OTA updates. A Fleet Manager can script onboarding procedures and maintain huge fleets (more than tens of millions) of devices in a simple and efficient manner.
AWS IoT Analytics is afully managed service to solve the problem of “IoT data is noisy and contains gaps and false readings”. It’s a service to filter, process, transform and enrich the data in a way that is intuitive for IoT-related data sets, i.e time series. Ad-hoc queries and sophisticated IoT analytics are used to create intelligence out of data sets. Connect this service to Jupyter Notebooks for machine learning capabilities or Amazon Quicksight for visualization. Data Analysts are able to use scientific and statistical analytics tools to product reports and visualize intelligence through dashboards. Dedicated service for IoT analytics is a great addition to the IoT portfolio. Create value out of data is a key principle for IoT to be successful.
AWS IoT Device Defender (Coming in 2018) is a new service that allows continuous audit and monitor of deployed IoT devices. With real time anomaly detection and alert generation, it will be possible to act fast and potentially patch security vulnerabilities. The details have not yet been fully disclosed but I’m looking forward to dig deeper. Security is a top priority and as Werner Vogels (CTO, AWS) nicely put it during his keynote “All engineers are now security engineers”.
AWS IoT 1-Click (Preview) is a service to simply trigger AWS Lambda functions from IoT devices. I believe it was specifically designed for the Amazon IoT Button and I have the feeling that there is more to this than has been announced. Being able to trigger Lambda functions simple is pretty neat in general though.
Amazon FreeRTOS is taking IoT to a whole new level for AWS. While AWS Greengrass brought AWS to the edge, Amazon FreeRTOS brings AWS to the edge of the edge. Amazon FreeRTOS (a:FreeRTOS) is a real time operating system for microcontrollers (MCUs). During his keynote, Andy Jassy (CEO, AWS), mentioned that the MCU/CPU ration of IoT devices on the market is 40:1. An MCU is much more low cost than a CPU and often runs on a System-on-Chip solution with integrated radio, peripherals and on-chip flash. IoT devices at the true edge can now be running a ripped solution that works seamlessly towards AWS IoT or AWS Greengrass. Example code for both scenarios are already available.
With a:FreeRTOS, AWS is now minimizing the gap between the embedded world and the cloud. Based on the FreeRTOS kernel, the software package includes security libraries, cloud connectivity and soon OTA updates. The founder of FreeRTOS, Richard Barry, actually joined AWS a while back which is good for the future roadmap. If you thought AWS would to cash in for a:FreeRTOS, you are wrong. The released software is open source under MIT license, and free for anyone to use.
So, what about the quality of this release? After digging through the documentation and bugging the AWS experts, I’ve concluded that things may actually be more complex than my initial assumption. Let’s go through some of the challenges:
- Memory footprint? Even though a:FreeRTOS is really lightweight compared to AWS Greengrass, it still requires up to 128KB of flash which is a lot for MCUs. The TLS eats 40K of this. This is of course very dependent on the MCU architecture and a:FreeRTOS currently supports around 40 various cores. Also, the kernel supports 18 different compilers. However, while being able to optimize the code, I would not recommend to use a:FreeRTOS on a MCU with flash size less than 256KB, especially if you have a lot of application code. Luckily, most new wireless MCUs is getting more than 256KB of flash space.
- Hardware ready to use? Currently, there are four qualified partners with AWS (TI, Microchip, NXP and ST). I got an NXP IoT board at the one of the sessions but could not get it up and running as I didn’t have a debugger to flash the device. During one of the demonstrations, AWS used an ST board that seem to operate smoothly. However, both NXP and ST have two-chip solutions on their boards where the WiFi part has a hardcoded interface in the code. If you want to use other WiFi solutions (from other providers), you need to customize the interface protocol to those. The TI CC3220 is a wireless MCU with integrated radio and has IDE and SDK for multiple platforms, so everything on one chip (with multiple connectivity options). I’m looking forward to try that out. Microchip doesn’t have any hardware for this yet. I will need to get my hands dirty on these platforms before I can make any further statements. Also, where are all the other players? Competitors are the best way to ensure solid thought-through solutions.
- Connectivity Solutions? Only WiFi and Ethernet is supported for now, but my impression is that we’ll soon see some adaptions for Bluetooth low energy as well as other popular IoT wireless protocols.
- Security? For now, there are no guidelines on how to handle certificates securely in the MCU. In the example code, certificates have to be generated in AWS, then added to a header file. This is not production friendly and should only be a method for evaluation. This is something the AWS experts admitted as well.
Other New Services for IoT
Dashboards are about to be one step more interactive. With VR/AR combined with intelligent voice and video services, we are getting closer to a new way of designing user experience.
Amazon Sumerian is a new service for VR/AR applications. The service offers a tool to create 3D environments with ease and use «Sumerian Hosts» to interact with users. They are essentially 3D models that mimic human behaviour while interacting with users. Can’t wait to see all the innovative frontend solutions boosted by this. I’m not sure anyone noticed but it may be revolutionizing the way we interact with IoT solutions. With the WebGL support, you’ll have 3D/VR/AR environments in any browser. If using AWS IoT, Thing Shadow can be used to allow the physical world to interact with a 3D visualization.
Amazon SageMaker is a new service that simplifies how ML models are built, trained and deployed. Ironically and ingeniously, SageMaker is using ML to train the ML models, making the process a whole lot easier. This reduces the level of knowledge required to integrate ML into existing solutions.
Together with the capabilities of deploying the ML inferences on AWS Greengrass we will see a lot of new and cool products. One example is the upcoming AWS DeepLens development platform, essentially a fully programmable, deep learning enabled, video camera. It runs AWS Greengrass on a CPU and utilizes a GPU to run the ML Inference engine. It’s targeted for release April ’18 and can be pre-ordered it at Amazon.
I would like to wrap up with some wise words from Werner Vogels during his keynote. High level programming becomes simpler every day and in the future, according to Mr Vogels, “All the code you ever write is business logic”. I love the vision to simplify things until you can solely focus on programming value. This is why you can setup a complete cloud infrastructure in minutes, by code. This is why there are a lot of services available. This is why serverless and lambda functions are so awesome. Minimal effort to create maximum value.
There was also a prediction into the future of computing, and that might actually hint part of the strategy for AWS. I do understand the concept and even Mark Zuckerberg has stated that in ten years, nobody is using smartphones anymore. Historically we have been using keyboard to interact with machines and now when they become more sophisticated and intelligent, the voice is all we need. As Mr. Vogels stated “voice represents the next major disruption in computing”. Still, what about people with hearing disabilities? Well, DeepLens could be used to visually read your lips. But how would it tell the difference between “Elephant Juice” and “I love you”? After all, they require the same muscle signature 🙂
I hope you enjoyed the reading.
May the Force be with You.
Joakim Lindh, Webstep
Relatert / Kontaktpersoner