Amazon has made available AWS Greengrass, a solution that allows developers to run Lambda functions on IoT devices and enable devices to communicate to each other and the cloud.
Built on AWS IoT and AWS Lambda, AWS Greengrass enables IoT devices to perform local computation, to communicate to the AWS cloud and to each other. Greengrass comes with the following main features:
- Local execution of Lambda functions
- Keeping state locally and synchronizing it with the cloud
- Local messaging between various IoT devices
- Secure communication with the cloud
- Accessing various AWS services
In order to fulfill its purpose, AWS Greengrass provides three main SDKs:
- Core SDK – Includes APIs used to invoke Lambda functions, communicate with the cloud, publish messages to the local network of devices, and keep state shadows.
- AWS IoT Device SDK – Connects devices to AWS IoT. It supports TLS, WebSockets and MQTT. Supported languages: C++, Java, Node.js, and Python.
- AWS SDK for Python – used to write Lambda functions that interact with various AWS services.
The Greengrass Core SDK requires a Linux x86 or ARM device running at 1GHz+ with minimum 128MB of memory. Such devices support OTA updates and act as a communication hub for all the devices in the network. The bulk of the network is made of sensors, actuators, smart appliances, wearable devices with various micro-controllers that have the AWS IoT Device SDK installed. A Greengrass Group is a collection of devices that have either the Core SDK or the IoT Device SDK installed, organized together to be able to communicate to each other.
AWS Greengrass enables developers to move some of the cloud computation to IoT devices by running Lambda functions locally, taking decisions in real time, and executing commands when necessary. Such devices can temporarily operate offline, performing data synchronization when the connection is available. Some of the data is sent to the cloud for further processing and persistence. Greengrass was not built to extend AWS cloud computing capabilities via IoT networks.
Amazon has made AWS Greengrass available in the US East and US West regions.