写点什么

AWS Lambda 将废弃 Go 运行时

  • 2023-09-19
    北京
  • 本文字数:996 字

    阅读完需:约 3 分钟

大小:569.08K时长:03:14
AWS Lambda将废弃Go运行时

AWS Lambda宣布将废弃 go1.x 运行时,仅在 Amazon Linux 2 运行时中支持 Go。该项声明以及年底前需要迁移至定制的 provided.al2 运行时引起了 Go 社区的关注。

 

根据Amazon Linux AMI的生命周期go1.x 运行时将于 12 月 31 日废弃,开发人员应该在此之前迁移至provided.al2运行时。亚马逊云科技的高级解决方案架构师Micah WalterYanko BolanosRamesh Mathikumar解释了其中的收益:

首先,它支持在 AWS Graviton2 处理器上运行 Lambda 函数,与在 x86_64 处理器上运行的函数相比,性价比最大可以提高 34%。其次,它通过更小的部署包和更快的函数调用简化了实现。最后,该变更能够使 Go 与其他可编译为原生代码的语言保持一致,如 Rust 或 C++。


在名为RIP AWS Go Lambda Runtime的文章中,Stax 的工程主管Mark Wolfe表达了不同的意见:

我认为这是一件糟糕的事情,原因有如下几点:现有的 Go Lambda 函数没有自动迁移至新的自定义运行时的路径(……)。其次,这将从 AWS Lambda 控制台中移除 Go1.x 的名称,现在 Go 将会变成另一种运行时,而不是受支持的一等语言。

 

对于 Node、Python 或 Java 等其他语言,Lambda 提供了原生运行时,而 Go 现在只能通过 provided.al2 运行时来使用,这降低了在 AWS 上 Go 作为 serverless 语言的可见性。

 

甚至在 AWS 移除对 Go 的原生支持之前,就有开发人员认为,转而使用自定义运行时有很多优势,比如支持 Lambda扩展、较新的 Amazon Linux 2 执行环境,以及能够统一运行时和处理器程序的代码。Wolfe 评论到:

 

虽然自定义运行时提供了更好的性能和更新的操作系统,但是对于 AWS Lambda 上的许多 Go 开发人员来说,这一改变需要花费一定的精力。AWS 提供的一些自动化辅助和验证有助于减少这一变更带来的冲突和问题。

 

在一个热门的Reddit帖子中,有些 Go 开发人员强调了缺乏沟通的问题,而另一些人则支持这一变更。NightVision 的创始工程师、AWS Serverless Hero Aidan Steele则将关注的重点放在了标记的收益上:

 

我已经在使用更新的运行时了,但我也从博客文章中了解到,AWS SAM 现在可以为更新的运行时构建 Go Lambda 函数了——不再需要 Makefiles!我从 BuildMethod: makefile 切换到了 BuildMethod: go1.x,发现我的 Lambda 包现在是原来的两倍大。这意味着冷启动和部署速度均会变慢。

 

为了减轻对开发人员的影响,公告介绍了如何将函数从 go1.x 运行时迁移到 provided.al2 运行时,以及如何对构建脚本或 CI/CD 配置进行修改。

 

查看英文原文:AWS Lambda Deprecates Go Runtime

2023-09-19 14:404789

评论

发布
暂无评论
发现更多内容

开源实践 | 携程在 OceanBase 的探索与实践

OceanBase 数据库

OceanBase 开源 客户案例 携程

Java Jackson 中的 JsonNode 和 ObjectNode

HoneyMoose

面试突击13:方法优先调用可选参数还是固定参数?

王磊

java面试 2022

一键抠除路人甲,昇腾CANN带你识破神秘的“AI消除术”

华为云开发者联盟

CANN 昇腾 图像消除 智能实例分割 CRA算法

工作中遇到的50个JavaScript的基础知识点

Sunshine_Lin

面试 前端 进阶 基础

一篇从购买服务器到部署博客代码的详细教程

冴羽

nginx 前端 后端 博客 博客搭建

倒计时1天 | 超百位技术大咖齐聚开发者大会,与全球开发者一起“数聚未来”

OceanBase 数据库

OceanBase 开源 开发者大会

关于ant design pro的权限方案设计

袋鼠云数栈

大数据

杜甫草堂

wood

300天创作

设计模式【8】-- 手工耿教我写装饰器模式

秦怀杂货店

Java 设计模式 装饰器

error: ‘slots_reference’ was not declared in this scope

Ayosh

OpenCV

《LeetCode刷题》数组与队列

IT蜗壳-Tango

IT蜗壳教学 1月月更

Java Jackson 中的 mapper

HoneyMoose

Kafka往事——揭露Kafka推出Kafka Streams背后原因

Kafka中文社区

明道云虹桥演示中心,欢迎进店!

明道云

阿里云万郁香:多样付费选择构筑成本最优的弹性体验

阿里云弹性计算

阿里云 年度峰会 付费方式

Apache APISIX 结合 Authing 实现集中式身份认证管理

API7.ai 技术团队

api 网关 Apache APISIX Authing 身份验证

【LeetCode】奇偶树Java题解

Albert

算法 LeetCode 1月月更

Spring Boot工程中如何优雅地处理异常

sean77

spring 整洁代码

教你实现一个 iOS 重签名工具

37手游iOS技术运营团队

ios xcode

AWS 上传的 S3 文件重新载入的时候简体中文显示乱码

HoneyMoose

ReactNative进阶(四):ReactNative 原理剖析之JS 层渲染 diff 算法

No Silver Bullet

React Native 渲染性能 1月月更

Kubernetes生态,从繁荣走向碎片化

巨子嘉

容器 云原生

一个cpp协程库的前世今生(十一)等待与返回值

SkyFire

c++ cocpp

服务发现与配置管理高可用最佳实践

阿里巴巴云原生

阿里云 微服务 高可用 云原生 MSE

【LeetCode】 替换所有的问号Java题解

Albert

算法 LeetCode 1月月更

netty系列之:真正的平等–UDT中的Rendezvous

程序那些事

Java Netty 程序那些事 1月月更

数据分析人员需要掌握SQL到什么程度?3个常考题目刷一刷

博文视点Broadview

kubelet 的主动驱逐POD

Geek_f24c45

Kubernetes kubelet

使用LNMP环境部署码云测试项目

咿呀呀

lnmp

盘点 2021| 不忘初心,未来之路,与君共勉

法医

前端 盘点 2021

AWS Lambda将废弃Go运行时_编程语言_Renato Losio_InfoQ精选文章