成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Rust又被降本增效選中!Rust替代Python,亞馬遜云成本降為1/4!

原創(chuàng) 精選
開(kāi)發(fā) 前端
使用Rust8年以上的大牛:「我?guī)У男氯舜蠖加蠮ava或C等語(yǔ)言基礎(chǔ), 基本上一個(gè)月都能上手, 算法, 異步和多線(xiàn)程都沒(méi)問(wèn)題, 甚至還有文科生轉(zhuǎn)過(guò)來(lái)寫(xiě)rust的, 他們都覺(jué)得不難?!?

撰稿 | 云昭

出品 | 51CTO技術(shù)棧(微信號(hào):blog51cto)

一種神奇的組合出現(xiàn)了!Rust和無(wú)服務(wù)器搭配,可能比使用Python要省下一大筆錢(qián)!

眾所周知,Lambda函數(shù)和大型運(yùn)行時(shí)是一個(gè)糟糕的組合,因?yàn)楦緳C(jī)代碼相比,冷啟動(dòng)速度較慢,內(nèi)存需求更高。另一方面,許多開(kāi)發(fā)人員使用Java和Python比使用Rust等系統(tǒng)語(yǔ)言開(kāi)發(fā)起來(lái)會(huì)更有效率。 

然而現(xiàn)在,不需要用Rust重寫(xiě)整個(gè)Lambda函數(shù)(Python),就可以真正的“降本增效”。

1、基于Python的AWS太復(fù)雜,改用Rust解決后,成本降為1/4!

一位云咨詢(xún)公司CloudEX的工程主管,Merdler Kravitz舉了一個(gè)Lambda函數(shù)的例子,該函數(shù)使用Python列出S3(簡(jiǎn)單存儲(chǔ)服務(wù))存儲(chǔ)桶。事實(shí)證明,用于Python的AWS SDK Boto3過(guò)于膨脹,通過(guò)用Rust替換需要Boto3的函數(shù),可以在成本和性能方面獲得巨大收益——即使Python仍在用于其他代碼。

用Rust替換Python代碼的關(guān)鍵是PyO3,它為Python提供了Rust綁定。Rust代碼中的屬性將函數(shù)公開(kāi)為標(biāo)準(zhǔn)Python接口。

結(jié)果,在Merdler Kravitz提出的例子中,冷啟動(dòng)速度快了三倍,對(duì)內(nèi)存的要求也低得多。對(duì)于1GB的RAM,Rust和Boto3代碼具有相似的性能,但對(duì)于256MB的RAM,增強(qiáng)版Rust仍然表現(xiàn)良好,而另一個(gè)則不然。 

在Lambda中使用Rust的成本效益:re:Invent上的一個(gè)例子在Lambda中使用Rust的成本效益:re:Invent上的一個(gè)例子

尤其是在無(wú)服務(wù)器平臺(tái)上,減少所需的計(jì)算資源可以降低成本?!癛ust平均比Python更便宜,大概是后者的1/3到1/4,”他聲稱(chēng)。

在re:Invent會(huì)上,AWS同時(shí)宣布了其用于Rust的SDK已準(zhǔn)備好生產(chǎn)。 去年11月早些時(shí)候,這家云巨頭基于“最小容器映像”為L(zhǎng)ambda添加了對(duì)亞馬遜Linux 2023的支持,并表示其關(guān)鍵用途之一是“在使用編譯為本地代碼的語(yǔ)言時(shí),如Go或Rust?!?/p>

2、亞馬遜與Rust結(jié)緣已久

至少自2015年以來(lái),Rust對(duì)AWS服務(wù)的非官方支持就一直存在,當(dāng)時(shí)Matthew Mayer和Anthony DiMarco在Rust 1.0發(fā)布后不久啟動(dòng)了一個(gè)名為Rusoto的獨(dú)立項(xiàng)目,目標(biāo)包括學(xué)習(xí)Rust。根據(jù)Rust crate 存儲(chǔ)庫(kù)crates.io的統(tǒng)計(jì)數(shù)據(jù),Rusoto的下載量已超過(guò)1100萬(wàn)次。

AWS Rust SDK的第一個(gè)alpha是由當(dāng)時(shí)在AWS的iliana etaoin于2021年推出的,她是Rusoto的共同維護(hù)者。

根據(jù)介紹,官方的Rust SDK現(xiàn)在支持300多項(xiàng)AWS服務(wù),并“支持異步/等待、非阻塞IO和構(gòu)建器等現(xiàn)代Rust語(yǔ)言功能”。

AWS Lambda還有一個(gè)實(shí)驗(yàn)性的Rust運(yùn)行時(shí),它簡(jiǎn)化了Rust中的運(yùn)行功能,并包括支持Lambda事件、擴(kuò)展和Lambda runtime API的crate 。一個(gè)名為Cargo Lambda的相關(guān)項(xiàng)目支持使用Lambda模擬器進(jìn)行本地開(kāi)發(fā)和測(cè)試,以及在Windows或macOS上開(kāi)發(fā)時(shí)為L(zhǎng)inux進(jìn)行交叉編譯,無(wú)論開(kāi)發(fā)人員的PC上運(yùn)行的是什么,都可以選擇ARM64和x86-64。使用Rust構(gòu)建Lambda,亞馬遜官方也給出了詳細(xì)的文檔。

圖片圖片

當(dāng)然,實(shí)驗(yàn)性代碼不用于生產(chǎn),因此在Lambda上使用Rust還為時(shí)過(guò)早。不過(guò)現(xiàn)在,可以看出回報(bào)將會(huì)很大。

榜樣的力量是無(wú)窮的。據(jù)某職場(chǎng)社交平臺(tái)上亞馬遜內(nèi)部員工反饋,“這里人人都用Rust”,有網(wǎng)友還指出,Rust編譯器團(tuán)隊(duì)的leader Jon Gjergeset,也在亞馬遜任職。

圖片圖片

這位員工甚至做出了判斷:Rust 早晚會(huì)替代C++。

3、AGI時(shí)代,Rust為什么比Python吃香

都有哪些場(chǎng)景使用Rust?一個(gè)簡(jiǎn)單的回答就是所有使用C/C++的場(chǎng)景。

但與此次亞馬遜宣布的部分替換Python而言,還有一個(gè)場(chǎng)景Python越來(lái)越有被替代的風(fēng)險(xiǎn)。

就是進(jìn)入到“大模型應(yīng)用開(kāi)發(fā)”語(yǔ)境后,原來(lái)的“Python+Docker”的機(jī)器學(xué)習(xí)開(kāi)發(fā)框架正在面臨嚴(yán)重的挑戰(zhàn)。

構(gòu)建機(jī)器學(xué)習(xí)應(yīng)用時(shí),更多人會(huì)想到Python+Docker,然而當(dāng)時(shí)間來(lái)到“大模型時(shí)代”,再基于這一組合構(gòu)建大模型應(yīng)用似乎就會(huì)不合時(shí)宜,Python的性能和Docker的冷啟動(dòng)問(wèn)題都注定了這一事實(shí):當(dāng)處理需要大量計(jì)算的大型數(shù)據(jù)集或復(fù)雜模型時(shí),不太可能會(huì)成為這一領(lǐng)域的主流選擇。

一方面,Python是解釋性語(yǔ)言,編譯速度較慢,維護(hù)方面的問(wèn)題也較為嚴(yán)重;另一方面,Docker越發(fā)暴露出磁盤(pán)空間消耗、硬件加速器支持、可移植性、安全依賴(lài)等問(wèn)題。

基于此,有業(yè)界人士認(rèn)為:Rust+WASM更有希望取代Python+Docker,成為L(zhǎng)LM生態(tài)構(gòu)建基礎(chǔ)設(shè)施的主要場(chǎng)景。這不得不讓人想到馬斯克那句“AGI會(huì)建立在Rust上”的猜測(cè)。

圖片圖片

單講Rust,Rust為什么會(huì)被追捧為AGI時(shí)代的編程語(yǔ)言?

首先,編譯極快:Rust 是一種編譯語(yǔ)言,以其極快的性能而聞名。當(dāng)與基于堆棧的虛擬機(jī)的二進(jìn)制指令格式 WebAssembly 結(jié)合使用時(shí),這兩個(gè)組合有望提供無(wú)與倫比的執(zhí)行速度。

其次,內(nèi)存安全:Rust 的突出特點(diǎn)之一是它強(qiáng)調(diào)內(nèi)存安全而不犧牲性能。這確保了應(yīng)用程序既快速又安全。

然后,并發(fā)性:Rust 的并發(fā)性方法是獨(dú)一無(wú)二的。它確保在編譯時(shí)捕獲數(shù)據(jù)競(jìng)爭(zhēng)(并發(fā)系統(tǒng)中最常見(jiàn)和最具挑戰(zhàn)性的錯(cuò)誤之一)。這意味著開(kāi)發(fā)者可以編寫(xiě)并發(fā)代碼,而不必?fù)?dān)心引入難以檢測(cè)的運(yùn)行時(shí)錯(cuò)誤。

此外,富有表現(xiàn)力的類(lèi)型系統(tǒng):Rust 擁有強(qiáng)大且富有表現(xiàn)力的類(lèi)型系統(tǒng)。該系統(tǒng)不僅有助于在編譯時(shí)捕獲錯(cuò)誤,而且還允許開(kāi)發(fā)者以清晰簡(jiǎn)潔的方式表達(dá)他們的意圖。

同時(shí),現(xiàn)代包管理:Cargo,Rust 的包管理器,簡(jiǎn)化了管理依賴(lài)項(xiàng)、構(gòu)建項(xiàng)目甚至發(fā)布庫(kù)的過(guò)程。因其易用性和高效性而受到贊譽(yù)的工具。

最后,快速增長(zhǎng)的生態(tài):Rust 的生態(tài)正在蓬勃發(fā)展。像“ndarray”、“l(fā)lm”、“candle”和“burn”這樣的庫(kù)證明了大模型相關(guān)的社區(qū)積極參與擴(kuò)展 Rust 的LLM應(yīng)用開(kāi)發(fā)的能力。

那么為什么還需要WebAssembly?

與絕大部分 “現(xiàn)代編程語(yǔ)言” 不同,Rust 的一個(gè)亮點(diǎn)是它可以直接編譯成機(jī)器碼,不需要一個(gè)中間的 “運(yùn)行時(shí)”。然而,許多場(chǎng)景諸如瀏覽器、云原生、邊緣設(shè)備等,直接運(yùn)行機(jī)器碼是不被允許的。即便熟練Rust也缺少一個(gè)與之相匹配的運(yùn)行時(shí)才能跑得通。

在實(shí)踐中,人們會(huì)發(fā)現(xiàn) WebAssembly 就成為了 Rust 運(yùn)行時(shí)的首選之一。細(xì)心的人也可能注意到:Rust 編譯器也添加了 Wasm 平臺(tái)的 target。兩者簡(jiǎn)直天作之合。

4、新的開(kāi)發(fā)語(yǔ)境到來(lái)國(guó)內(nèi)和國(guó)外,Rust采用差距

國(guó)內(nèi)開(kāi)發(fā)跟國(guó)外開(kāi)發(fā)有個(gè)很顯然的不同。

國(guó)內(nèi)軟件行業(yè)的大型底層項(xiàng)目相對(duì)國(guó)外來(lái)說(shuō)少的多,開(kāi)發(fā)方向主要在需求不斷更迭的上層邏輯。

過(guò)去三四十年,開(kāi)發(fā)者更多專(zhuān)注于業(yè)務(wù)應(yīng)用層上,做功能模塊的排序與堆疊,而底層代碼的研究更多像一個(gè)個(gè)毛線(xiàn)團(tuán),想要條分縷析,并非一日之功,只能說(shuō)這并不適合當(dāng)時(shí)快速擴(kuò)張的主旋律。

圖片圖片

然而,我們也慢慢看到新的開(kāi)發(fā)主題正在到來(lái):業(yè)務(wù)側(cè)更關(guān)注安全、可靠,更關(guān)心供應(yīng)鏈的依賴(lài)是否可持續(xù),更關(guān)心會(huì)不會(huì)被卡脖子。比如:去年微軟Azure的首席技術(shù)官 Mark Russinovich 的一條推文上了技術(shù)圈的熱搜,他想要棄用C++,搬家到Rust上的意圖非常強(qiáng)烈。

圖片圖片

據(jù)說(shuō)有意思的是,微軟所有70%的常見(jiàn)漏洞和暴露都與內(nèi)存安全問(wèn)題有關(guān)。而且,盡管人們花了很多努力來(lái)修復(fù)這些問(wèn)題,但它們?nèi)栽陲j升。

為此,微軟安全響應(yīng)中心已經(jīng)啟動(dòng)了安全系統(tǒng)編程語(yǔ)言計(jì)劃,打算將他們的項(xiàng)目遷移到Rust項(xiàng)目中。甚至后來(lái)大家都知道的Windows內(nèi)核,也開(kāi)始用Rust來(lái)重寫(xiě)。

所以我們看到眾多知名企業(yè)也在大力投入 Rust,比如國(guó)外的企業(yè)如微軟、谷歌成為了 Rust 基金會(huì)白金贊助商之一,AWS 更是直接將 Rust 官方團(tuán)隊(duì)的成員招入麾下開(kāi)啟了搶人大戰(zhàn),Meta(原 Facebook)正式宣布 Rust 作為其服務(wù)端支持的語(yǔ)言等等。

再比如,國(guó)內(nèi)科技公司如華為、字節(jié)跳動(dòng)等公司均在內(nèi)部培養(yǎng)了 Rust 團(tuán)隊(duì)并推動(dòng) Rust 的落地,PingCAP 采用了 Rust 實(shí)現(xiàn) TiKV,以及眾多明星初創(chuàng)企業(yè)如達(dá)坦科技和海致星圖直接選擇 Rust 作為其產(chǎn)品的主力語(yǔ)言。

圖片圖片

根據(jù)字節(jié)跳動(dòng)Volo負(fù)責(zé)人吳迪的演講內(nèi)容整理,有增刪

然而,有一種觀點(diǎn)認(rèn)為:國(guó)內(nèi)不會(huì)大規(guī)模使用 Rust,即便要用 Rust,應(yīng)該會(huì)從各大云廠(chǎng)商開(kāi)始,而且是各種底層項(xiàng)目,目前云廠(chǎng)商更主流的語(yǔ)言是 Golang,因?yàn)?Golang 的開(kāi)發(fā)效率相當(dāng)?shù)母撸@很符合國(guó)內(nèi)云廠(chǎng)商的商業(yè)邏輯。幸運(yùn)的是,字節(jié)跳動(dòng)正在從 Golang 轉(zhuǎn)向 Rust。 

寫(xiě)在最后:時(shí)代選擇了Rust

一個(gè)語(yǔ)言的興起,往往是它解決了所處時(shí)代的痛點(diǎn)問(wèn)題。PHP解決了門(mén)戶(hù)網(wǎng)站快速搭建的問(wèn)題,Python降低了編程的門(mén)檻,Java解決了移動(dòng)時(shí)代的應(yīng)用開(kāi)發(fā)需求,C/C++則很早在系統(tǒng)底層做出了40多年前的貢獻(xiàn)。

Rust也是如此。與絕大部分 “現(xiàn)代編程語(yǔ)言” 不同,在一個(gè)強(qiáng)調(diào)底層安全、快速、可靠的新背景下,Rust被選中了。從15年穩(wěn)定版算起,Rust的確走過(guò)的時(shí)間還很短。它已經(jīng)連續(xù)8年成為開(kāi)發(fā)者中最受尊敬的語(yǔ)言!

2023年StackOverflow開(kāi)發(fā)人員調(diào)查顯示,85%使用Rust的開(kāi)發(fā)人員希望明年再次使用它。

圖片圖片

最后來(lái)個(gè)小花絮,2023過(guò)去,那些在日常中應(yīng)用和開(kāi)發(fā)Rust,是怎么樣一種感覺(jué)?

我們選取了這四種有態(tài)度的看法,全當(dāng)一窺國(guó)內(nèi)Rust開(kāi)發(fā)者的現(xiàn)狀,可以看出也是一個(gè)升級(jí)打怪的過(guò)程,以此共勉吧——

全職Rust的開(kāi)發(fā)者:「一開(kāi)始做Rust全職還是挺開(kāi)心的,但是沒(méi)兩個(gè)月激情就沒(méi)了,天天寫(xiě)真的夠嗆,現(xiàn)在也變成天天吐槽“垃圾Rust”了?!?/p>

帶隊(duì)Rust項(xiàng)目的leader:「建議自己培養(yǎng),別聽(tīng)網(wǎng)上瞎扯 Rust 入門(mén)有多么難。只要公司里有一個(gè)很懂 Rust 的,其他人就都可以快速上手。」

上岸者:「自己不去作死搞復(fù)雜的帶三四個(gè) lifetime 的 generic,一般不會(huì)出問(wèn)題。Rust 上手寫(xiě)業(yè)務(wù)只要一個(gè)月,想寫(xiě)花里胡哨的東西才需要經(jīng)驗(yàn)?!?/p>

使用Rust8年以上的大牛:「我?guī)У男氯舜蠖加蠮ava或C等語(yǔ)言基礎(chǔ), 基本上一個(gè)月都能上手, 算法, 異步和多線(xiàn)程都沒(méi)問(wèn)題, 甚至還有文科生轉(zhuǎn)過(guò)來(lái)寫(xiě)rust的, 他們都覺(jué)得不難?!?/p>

參考鏈接:

https://devclass.com/2023/12/21/rust-in-aws-lambda-a-magic-ingredient-to-reduce-cost-and-increase-performance/

https://zhuanlan.zhihu.com/p/624525824

https://juejin.cn/post/7181794889238052901

https://www.zhihu.com/question/537491737/answer/2527548502

https://zhuanlan.zhihu.com/p/667210058

責(zé)任編輯:武曉燕 來(lái)源: 51CTO技術(shù)棧
相關(guān)推薦

2022-06-02 14:39:11

混沌工程實(shí)驗(yàn)微服務(wù)

2024-09-30 08:47:07

數(shù)據(jù)分析降本增效覆蓋用戶(hù)

2024-08-07 11:06:49

2024-02-19 14:14:02

云計(jì)算人工智能大語(yǔ)言模型

2023-07-28 09:48:37

2024-03-27 12:31:54

數(shù)據(jù)分析降本增效促銷(xiāo)活動(dòng)

2024-09-20 08:20:20

2023-11-23 16:51:22

云計(jì)算企業(yè)

2022-07-13 14:54:52

邊緣計(jì)算人工智能機(jī)器學(xué)習(xí)

2024-04-19 14:43:16

云計(jì)算分布式

2024-02-20 13:29:04

網(wǎng)絡(luò)安全研發(fā)

2021-09-03 12:03:21

ADM存儲(chǔ)

2020-03-12 10:55:34

云測(cè)Testin安卓

2022-03-28 14:31:01

Python編程語(yǔ)言工具包

2023-12-05 07:31:26

云容器數(shù)字化

2021-09-22 11:06:50

易點(diǎn)云

2024-07-30 14:30:30

2022-06-29 21:08:49

云科技
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 色综合天天网 | 精品影院 | 国产高清一区二区三区 | 欧美视频免费在线 | 日韩在线免费视频 | 国产精品久久久久9999鸭 | 男女羞羞在线观看 | 日韩毛片免费看 | 欧美激情久久久 | 性一交一乱一伦视频免费观看 | 51ⅴ精品国产91久久久久久 | 福利视频亚洲 | 成年人在线播放 | 福利视频网站 | 精品一区二区三区四区视频 | 日本精品一区二区三区在线观看视频 | 黄色网页在线 | 欧美精品91 | 91视频播放 | 久久精品国产99国产 | 欧美精品一区在线观看 | 成人久久久 | 国产高清不卡 | 国产精品欧美一区二区三区不卡 | 国产一区二区三区四区五区加勒比 | 在线视频一区二区三区 | 天天看天天操 | 蜜桃黄网 | 日本久久网 | 久久久福利 | 国产精品久久久久久高潮 | 亚洲视频在线一区 | www.亚洲视频 | 色欧美片视频在线观看 | 2020国产在线 | 亚洲成人午夜在线 | 2019天天操 | 黑人巨大精品欧美一区二区免费 | 亚洲福利片 | 久久久人成影片免费观看 | 国产欧美日韩精品在线观看 |