geneontology / api-gorest-2021

For testing AWS deployment of current GO-CAM API. A copy of lpalbou/api-gorest-2020 repo
0 stars 1 forks source link

Migrate GO-CAM API to node 14, as node 12 lambdas have reached EoL in AWS #8

Closed kltm closed 1 year ago

kltm commented 2 years ago

In summary, from Amazon:

We are contacting you as we have identified that your AWS Account currently has one or more Lambda functions using Node.js 12 runtime.

We are ending support for Node.js 12 in AWS Lambda. This follows Node.js 12 End-Of-Life (EOL) reached on April 30, 2022 [1].

As described in the Lambda runtime support policy [2], end of support for language runtimes in Lambda happens in two stages. Starting November 14, 2022, Lambda will no longer apply security patches and other updates to the Node.js 12 runtime used by Lambda functions, and functions using Node.js 12 will no longer be eligible for technical support. In addition, you will no longer be able to create new Lambda functions using the Node.js 12 runtime. Starting December 14, 2022, you will no longer be able to update existing functions using the Node.js 12 runtime.

We recommend that you upgrade your existing Node.js 12 functions to Node.js 16 before November 14, 2022.

As we still do occasional updates for things like #6 ; it best to update this image proactively to ensure that we can make changes quickly in the future.

A proposed timeline might look like:

kltm commented 2 years ago

Note that this is separate from https://github.com/orgs/geneontology/projects/106 and https://github.com/geneontology/biolink-api/issues/24, which are longer terms goals.

dustine32 commented 1 year ago

For "create handful of test URLs", I've setup a duplicate Lambda and API Gateway for the node 14 version of api-gorest-2021. Here are some of the test routes:

@kltm Do you want me to post the full test API URL here or do you think that would somehow invite bots?

kltm commented 1 year ago

@dustine32 Probably not an issue as there will be no way to spider out from a few URLs--go ahead and drop them here.

dustine32 commented 1 year ago

Great! The root URL is https://ecmkolue4b.execute-api.us-east-1.amazonaws.com/Prod/, so e.g., https://ecmkolue4b.execute-api.us-east-1.amazonaws.com/Prod/models?causalmf=2

dustine32 commented 1 year ago

@kltm I now have the new nodejs14 AWS CodeStar/Lambda and GH repo setup with DNS https://api-dev.geneontology.cloud. New repo is https://github.com/geneontology/api-gorest-2023. We may want to migrate tickets over there once switching the DNS.

kltm commented 1 year ago

Works for me! https://api-dev.geneontology.cloud/gp/http%3A%2F%2Fidentifiers.org%2Fmgi%2FMGI%3A1930134/models?causalmf=2 https://api-dev.geneontology.cloud/gocam/gomodel:5ce58dde00001215/raw https://api-dev.geneontology.cloud/models?causalmf=2 As it's now standing, I'd be down with trying the DNS change at your leisure.

kltm commented 1 year ago

I guess the question is whether we still want to drop in a proxy or handle the juggle all on the AWS side. At this point, I'm all for expediency, but I'm not sure what complications there might be on either path at your end.

dustine32 commented 1 year ago

@kltm I've officially made the switch to the new node 14 api-gorest-2023 stack in AWS API gateway. I can see traffic (via CloudWatch) coming through to the new lambda now.

kltm commented 1 year ago

If things aren't catching fire, I guess this is done then? I know that was a lot of work, but I think that was the safest option given where we are. Thank you for bringing this through.