作者 | Renato Losio
譯者 | 張衛濱
策劃 | Tina
AWS Lambda 宣布將廢棄 go1.x 運行時,僅在 Amazon Linux 2 運行時中支持 Go。該項聲明以及年底前需要遷移至定製的 provided.al2 運行時引起了 Go 社區的關注。
根據 Amazon Linux AMI 的生命周期,go1.x 運行時將於 12 月 31 日廢棄,開發人員應該在此之前遷移至 provided.al2 運行時。亞馬遜雲科技的高級解決方案架構師 Micah Walter、Yanko Bolanos 和 Ramesh Mathikumar 解釋了其中的收益:
首先,它支持在 AWS Graviton2 處理器上運行 Lambda 函數,與在 x86_64 處理器上運行的函數相比,性價比最大可以提高 34%。其次,它通過更小的部署包和更快的函數調用簡化了實現。最後,該變更能夠使 Go 與其他可編譯為原生代碼的語言保持一致,如 Rust 或 C++。
首先,它支持在 AWS Graviton2 處理器上運行 Lambda 函數,與在 x86_64 處理器上運行的函數相比,性價比最大可以提高 34%。其次,它通過更小的部署包和更快的函數調用簡化了實現。最後,該變更能夠使 Go 與其他可編譯為原生代碼的語言保持一致,如 Rust 或 C++。
在名為 RIP AWS Go Lambda Runtime 的文章中,Stax 的工程主管 Mark Wolfe 表達了不同的意見:
我認為這是一件糟糕的事情,原因有如下幾點:現有的 Go Lambda 函數沒有自動遷移至新的自定義運行時的路徑(……)。其次,這將從 AWS Lambda 控制台中移除 Go1.x 的名稱,現在 Go 將會變成另一種運行時,而不是受支持的一等語言。
我認為這是一件糟糕的事情,原因有如下幾點:現有的 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 提供的一些自動化輔助和驗證有助於減少這一變更帶來的衝突和問題。
雖然自定義運行時提供了更好的性能和更新的作業系統,但是對於 AWS Lambda 上的許多 Go 開發人員來說,這一改變需要花費一定的精力。AWS 提供的一些自動化輔助和驗證有助於減少這一變更帶來的衝突和問題。
在一個熱門的 Reddit 帖子中,有些 Go 開發人員強調了缺乏溝通的問題,而另一些人則支持這一變更。NightVision 的創始工程師、AWS Serverless Hero Aidan Steele 則將關注的重點放在了標記的收益上:
我已經在使用更新的運行時了,但我也從博客文章中了解到,AWS SAM 現在可以為更新的運行時構建 Go Lambda 函數了——不再需要 Makefiles!我從 BuildMethod: makefile 切換到了 BuildMethod: go1.x,發現我的 Lambda 包現在是原來的兩倍大。這意味著冷啟動和部署速度均會變慢。
我已經在使用更新的運行時了,但我也從博客文章中了解到,AWS SAM 現在可以為更新的運行時構建 Go Lambda 函數了——不再需要 Makefiles!我從 BuildMethod: makefile 切換到了 BuildMethod: go1.x,發現我的 Lambda 包現在是原來的兩倍大。這意味著冷啟動和部署速度均會變慢。
為了減輕對開發人員的影響,公告介紹了如何將函數從 go1.x 運行時遷移到 provided.al2 運行時,以及如何對構建腳本或 CI/CD 配置進行修改。
查看英文原文:
AWS Lambda Deprecates Go Runtime(https://www.infoq.com/news/2023/09/aws-lambda-go-deprecation/?accessToken)
耗時一年用戶從 0 增長至 1400 萬,背後僅三名工程師,這家社交巨頭背後的技術棧是如何搭建的?
行業老兵聊 To B 產品技術:To B 難,難不過做好軟體
網易回應員工因 BUG 被 HR 威脅後輕生;阿里新 CEO:要讓 85、90 後成為主力管理者;華為 Mate60 正面「剛贏」蘋果?| Q 資訊
GitHub 變 Twitter?強「喂」新推薦算法引公憤,開發者從「編程烏托邦」被驅趕到了信息繭房