Local processing for AWS Lambda
AWS IoT Greengrass includes support for AWS Lambda. With AWS IoT Greengrass, you can run AWS Lambda functions on the device to respond quickly to local events, interact with local resources, and process data to minimize the cost of transmitting data to the cloud.
Local support for containers
You can deploy, run, and manage Docker containers on AWS IoT Greengrass devices. Your Docker images can be stored in Docker container registries, such as Amazon Elastic Container Registry (Amazon ECR), Docker Hub, or private Docker Trusted Registries (DTRs).
Local support for AWS IoT Device Shadows
AWS IoT Greengrass also includes the functionality of AWS IoT Device Shadows. The Device Shadow caches the state of your device, like a virtual version or “shadow,” of each device that tracks the device’s current versus desired state and synchronizes that state with the cloud when connectivity is available.
AWS IoT Greengrass enables messaging between the AWS IoT Greengrass Core and devices using the AWS IoT Device SDK on a local network, facilitating communication even when there is no connection to AWS. With AWS IoT Greengrass, your devices can process messages and deliver them to another device or to the cloud based on business rules you define.
Local resource access
AWS Lambda functions deployed on an AWS IoT Greengrass Core can access local resources that are attached to the device. This allows you to use serial ports, peripherals such as add-on security devices, sensors and actuators, on-board GPUs, or the local file system to quickly access and process local data.
AWS IoT Greengrass lets you rapidly develop and debug code on a test device before using the cloud to deploy to your production devices. You can use the AWS IoT Greengrass command-line interface (CLI) to locally develop and debug applications on your device and the local debug console to help you visually debug applications.
AWS IoT Greengrass ML Inference
AWS IoT Greengrass ML Inference is a feature of AWS IoT Greengrass that makes it easy to perform machine learning inference locally on AWS IoT Greengrass devices using models that are built and trained in the cloud. This means you won’t incur data transfer costs or increased latency for applications that use machine learning inference. To learn more about the ML Inference feature, click here.
Stream Manager for AWS IoT Greengrass
You can use AWS IoT Greengrass to collect, process, and export data streams from IoT devices and manage the life cycle of that data on the device to minimize development time. AWS IoT Greengrass provides a standard mechanism to process data streams, manage local data-retention policies, and transmit device data to AWS cloud services such as Amazon Simple Storage Service (Amazon S3), Amazon Kinesis, AWS IoT Core, and AWS IoT Analytics.
AWS IoT Greengrass components
AWS IoT Greengrass provides prebuilt components for common use cases so you can discover and import, configure, and deploy applications and services at the edge without the need to understand different device protocols, manage credentials, or interact with external APIs. You can also create your own components or simply reuse common business logic from one AWS IoT Greengrass device to another.
AWS IoT Greengrass is modular. You can add or remove prebuilt software components based on your IoT use case, and your device CPU and memory resources. For example, you can choose to include prebuilt AWS IoT Greengrass components such as stream manager only when you need to process data streams with your application, or machine learning components only when you want to perform machine learning inference locally on your devices. To find available AWS IoT Greengrass components, view our documentation.
Greengrass Software Catalog
Greengrass Software Catalog is a collection of AWS IoT Greengrass components developed by the Greengrass community. Instead of developing device components for each required capability, you can now easily install, use, and modify components from a list of prebuilt software components on GitHub to kickstart your IoT edge application.
For example, for a security monitoring solution, you can use the Amazon Kinesis Video Streams (KVS) component to ingest audio and video streams from Real Time Streaming Protocol (RTSP) cameras connected to a AWS IoT Greengrass Core device. The data can then be streamed to a local monitoring platform or sent to the cloud. Alternatively, for real-time analytics and local operations monitoring, you can use the InfluxDB and Grafana components to locally process and visualize data from IoT sensors and edge devices. Since these components are a reference implementation of common patterns, please ensure that you appropriately review and test any functionality before deploying it to your production environments. To get started, visit the Greengrass Software Catalog on GitHub.
Manage IoT applications at scale
AWS IoT Greengrass makes it easy to remotely deploy and manage device software on millions of devices. You can organize your devices in groups and deploy and manage device software and configuration to a subset of devices or to all devices at once. AWS IoT thing groups allow you to group multiple AWS IoT Greengrass devices, view deployment history, and start or stop deployments.
Over the air updates
AWS IoT Greengrass provides the ability to update the AWS IoT Greengrass Core software on AWS IoT Greengrass devices. You can use the AWS IoT Greengrass console, APIs, or command-line interface to update the version of AWS IoT Greengrass Cores or components running on your devices in order to deploy security updates, bug fixes, and new AWS IoT Greengrass features.
Security & hardware integrations
AWS has created an ever-expanding selection of industry leading IoT silicon vendors, device manufacturers, and gateway partners who have integrated AWS IoT Greengrass into their software and hardware offerings. These partners help you move quickly from ideation to prototype to deployment. To learn more about AWS IoT Greengrass-enabled devices, visit the AWS Partner Device Catalog.
AWS IoT Greengrass Secrets Manager
AWS IoT Greengrass Secrets Manager allows you to securely store, access, rotate, and manage secrets—credentials, keys, endpoints, and configurations—at the edge. With AWS IoT Greengrass components integration, if an AWS IoT Greengrass component needs a secret to authenticate with an application or service, you can select and deploy a secret to the AWS IoT Greengrass Core as part of the component configuration. For example, you can use AWS IoT Greengrass Secrets Manager to configure credentials for private Docker container registries.
Hardware Security Integration
AWS IoT Greengrass offers customers the option to store their device private key on a hardware secure element. You can store sensitive device information at the edge with AWS IoT Greengrass Secrets Manager and encrypt your secrets using private keys for root of trust security. For a list of eligible hardware partners, visit the AWS Partner Device Catalog.
AWS IoT Device Tester for AWS IoT Greengrass
AWS IoT Device Tester for AWS IoT Greengrass is a test automation tool that helps you validate if your device meets the software and hardware requirements to run AWS IoT Greengrass. It supports configuration and dependency checks and end-to-end tests to validate if a device can support specific AWS IoT Greengrass features such as Machine Learning Inference. Additionally, hardware partners can download signed qualification reports from Device Tester and submit these reports to AWS Partner Central to qualify and list devices in the AWS Partner Device Catalog.
To learn more and get started, visit the Device Tester technical documentation.