AWS IoT Greengrass
AWS IoT Greengrass is a cloud service within Amazon Web Services that groups, deploys, and manages software for IoT devices all at once, enabling edge devices to communicate securely.
Key points
- Used across multiple IoT devices in homes, vehicles, factories, and businesses.
- Provides a pub/sub message manager that buffers messages to preserve them until they can be delivered to the cloud.
- Greengrass Core is the device that enables communication between AWS IoT Core and AWS IoT Greengrass.
- Current major version is AWS IoT Greengrass V2, built around a component-based deployment model (recipes, artifacts, dependencies) rather than the Greengrass groups used in V1.
- Ships two device-runtime options as of v2.14: the original Java-based nucleus (most portable, larger memory footprint) and the newer nucleus lite, implemented in C for a reduced footprint on resource-constrained devices.
- Devices running IoT Greengrass can process data streams without being online.
- Provides multiple programming languages, open-source software, and development environments to develop and test IoT applications on specific hardware.
- Provides encryption and authentication for device data used in cloud communications.
- Provides AWS Lambda functions and Docker containers as environments for code execution.
- Synchronizes device data using Amazon S3, Amazon Kinesis, AWS IoT Core, and AWS IoT Analytics.
- Distinct from AWS Outposts, which extends the full AWS control plane and APIs on-premises for low-latency workloads with local system interdependencies, rather than just running edge software on IoT devices.