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.

Sources