Skip to content

AWS IoT Thing running deprecated Lambda runtime (NodeJS 12.x)

0

I have a client who has 100+ edge devices running IoT things using AWS GreenGrass v1 (NodeJS 12.x).

They would like to deploy an update to the Lambda functions that is running on the edge devices but currently are unable to as Lambda runtime that supports NodeJS 12.x is now deprecated (even though the edges devices running the Lambda functions can still run NodeJS 12.x).

Is there a way to update their Lambda Function based on NodeJS 12.x in order to deploy the update OTA to their many edge devices, or are they now faced with having to upgrade to AWS GreenGrass V2 and physically access all their edges devices (at great expense).

asked 2 years ago249 views

1 Answer
2
Accepted Answer

Your client is facing a challenging situation with their AWS IoT Greengrass v1 deployment using the deprecated Node.js 12.x runtime. Here's an overview of the situation and potential solutions:

  1. AWS IoT Greengrass v1 status: It's important to note that AWS IoT Greengrass Version 1 has entered the extended life phase and is no longer receiving updates. This means that continuing to use v1 may pose increasing risks over time.

  2. Lambda runtime support: While the edge devices can still run Node.js 12.x, creating or updating Lambda functions with this runtime in AWS Lambda is no longer possible. This creates a dilemma for updating the existing functions.

  3. Possible solutions:

a. Runtime override: There is a potential workaround using the FunctionRuntimeOverride parameter in the FunctionDefinitionVersion. This allows you to specify a runtime that differs from the one specified in AWS Lambda. You could potentially use this to maintain Node.js 12.x on the devices while updating the Lambda function code.

b. Upgrade runtime: Consider upgrading the Lambda functions to a supported Node.js runtime (e.g., Node.js 18.x). This would require ensuring code compatibility and potentially updating dependencies.

c. OTA update: If you can successfully update the Lambda functions (either through runtime override or upgrading), you should be able to deploy these changes via OTA updates. However, be aware that OTA updates have some implications, such as core device shutdown during the update and potential loss of data in long-lived Lambda functions.

  1. Long-term considerations: While the above solutions might provide temporary relief, the client should seriously consider migrating to AWS IoT Greengrass v2 in the near future. This would ensure they receive the latest features, security updates, and runtime support.

  2. Migration planning: If upgrading to Greengrass v2 becomes necessary, careful planning can help minimize the need for physical access to all devices. This might involve:

  • Preparing a migration strategy that leverages OTA updates as much as possible
  • Identifying which devices absolutely require physical access
  • Exploring options for remote management and updates

In conclusion, while there are potential short-term solutions to update the Lambda functions, the client should start planning for a migration to AWS IoT Greengrass v2 to ensure long-term sustainability and support for their IoT deployment.
Sources
Run Lambda functions on the AWS IoT Greengrass core - AWS IoT Greengrass
OTA updates of AWS IoT Greengrass Core software - AWS IoT Greengrass
Lambda runtimes - AWS IoT Greengrass

answered 2 years ago

EXPERT

reviewed 2 years ago

You are not logged in. Log in to post an answer.

A good answer clearly answers the question and provides constructive feedback and encourages professional growth in the question asker.