What are the benefits of using the Greengrass vs the Node SDK package?

We have a software stack happily interacting with IoT Core services (running on buildroot) using the Node SDK. I'm trying to understand the benefits of converting over to a full Greengrass implementation.


Like with most AWS services, they are providing a bre-built and managed framework for you that you don't have to maintain. IoT device security, configuration, local Lambda software updates, cloud-based device state shadowing, local resource management, MQTT subscription management, easy AWS service integration (like SNS and analytics), log management, and deployment version control, are all handled server side once the GG client is installed on a device. The architecture also allows for IoT devices that are not always cloud connected, that communicate by proxy via a local GG Core device. All of the core IoT features still apply to GG devices as well (namely security and analytics).

Depending on your application, it may still make sense to roll your own framework. But if the Greengrass architecture is a fit, it makes it a lot easier to roll out and maintain applications, albeit at the cost of additional vendor lock-in. That said, if you were to migrate an existing IoT application to GG, you might end up having to re-architect much of what you already have in place in order to take advantage of the features Greengrass has to offer.

Not the answer you're looking for? Browse other questions tagged or ask your own question.