可以簡(jiǎn)單介紹一下AWS Serverless服務(wù)嗎?
我來答

可以簡(jiǎn)單介紹一下AWS Serverless服務(wù)嗎?

李飛雪 2021-04-17 提問
392

Firecracker技術(shù)的優(yōu)勢(shì)如何?

關(guān)閉
提交回答
2 個(gè)回答
我來答
蘇櫻

Firecracker技術(shù)

1、簡(jiǎn)介

現(xiàn)在的技術(shù)環(huán)境下,容器具有快速啟動(dòng)時(shí)間和高密度,VM可以對(duì)硬件虛擬化,具有更好的安全性,并對(duì)工作負(fù)載具有更好的隔離性。容器和VM的特性現(xiàn)在還不可兼得。

AWS開源了Firecracker,一種利用KVM的新虛擬化技術(shù),專門用于創(chuàng)建和管理多租戶容器以及基于函數(shù)的服務(wù)。你可以在幾分之一秒內(nèi)在非虛擬化環(huán)境中啟動(dòng)輕量級(jí)微虛擬機(jī)(microVM),充分利用傳統(tǒng)虛擬機(jī)提供的安全性和工作負(fù)載隔離,同時(shí)兼具容器的資源效率。

Firecracker是一種采用基于Linux內(nèi)核的虛擬機(jī)(KVM)技術(shù)的開源虛擬機(jī)監(jiān)控程序(VMM)。Firecracker允許您創(chuàng)建微型虛擬機(jī),即microVM。Firecracker堅(jiān)持精簡(jiǎn)主義的設(shè)計(jì)原則,它僅包含運(yùn)行安全、輕量的虛擬機(jī)所需的組件。在設(shè)計(jì)過程的各個(gè)環(huán)節(jié),AWS依據(jù)安全性、速度和效率要求來優(yōu)化Firecracker。例如,僅啟動(dòng)相對(duì)較新的Linux內(nèi)核,并且僅啟動(dòng)使用特定配置選項(xiàng)集編譯的內(nèi)核(內(nèi)核編譯配置選項(xiàng)超過1000種)。此外,不支持任何類型的圖形卡或加速器,不支持硬件透?jìng)鳎恢С郑ù蠖鄶?shù))老舊設(shè)備。

Firecracker啟動(dòng)的內(nèi)核配置極少,不依賴仿真BIOS,不使用完整設(shè)備模式。唯一的設(shè)備是半虛擬化網(wǎng)卡和半虛擬化硬盤,以及單按鈕鍵盤(復(fù)位引腳在無電源管理設(shè)備時(shí)使用)。這種極簡(jiǎn)的設(shè)備模式不僅有利于縮短開機(jī)時(shí)間(采用默認(rèn)microVM型號(hào)的i3.metal實(shí)例開機(jī)時(shí)間<125毫秒),同時(shí)也減少了***面,從而提高了安全性。請(qǐng)參閱有關(guān)Firecracker承諾支持以極低的開銷執(zhí)行容器和無服務(wù)器工作負(fù)載的更多信息。

2017年秋,AWS決定以Rust語言來編寫Firecracker,這是一種非常先進(jìn)的編程語言,可保證線程和內(nèi)存安全,防止緩存溢出以及可能導(dǎo)致安全性漏洞的許多其他類型的內(nèi)存安全問題。請(qǐng)?jiān)L問Firecracker設(shè)計(jì)以了解有關(guān)Firecracker VMM功能和架構(gòu)的更多詳細(xì)信息。

由于設(shè)備模型極簡(jiǎn),內(nèi)核加載過程也簡(jiǎn)單,可以實(shí)現(xiàn)小于125 ms的啟動(dòng)時(shí)間和更少的內(nèi)存占用。Firecracker目前支持Intel CPU,并將于2019年開始支持AMD和ARM,還將與containerd等流行的容器運(yùn)行時(shí)集成。Firecracker支持內(nèi)核版本為4.14及更高版本的Linux主機(jī)和客戶機(jī)操作系統(tǒng)。

Firecracker microVM提高了效率和利用率,內(nèi)存開銷極低,每microVM的內(nèi)存開銷<5MiB。這意味著用戶可以將數(shù)千個(gè)microVM封裝到一個(gè)虛擬機(jī)中??梢允褂眠M(jìn)程中速率限制器來實(shí)現(xiàn)對(duì)網(wǎng)絡(luò)和存儲(chǔ)資源的共享方式的精細(xì)控制,即使跨數(shù)千個(gè)microVM也同樣可行。所有硬件計(jì)算資源可以安全地超訂,從而最大化可以在主機(jī)上運(yùn)行的工作負(fù)載數(shù)量。

2、Firecracker的優(yōu)勢(shì)

AWS依據(jù)如下開放源項(xiàng)目的指導(dǎo)信條開發(fā)了Firecracker。

內(nèi)置安全性:AWS提供了支持多租戶工作負(fù)載并且不會(huì)被客戶錯(cuò)誤禁用的計(jì)算安全性屏障??蛻艄ぷ髫?fù)載被認(rèn)為既神圣(不可侵犯)又邪惡(應(yīng)當(dāng)拒之門外)。

高性能:可以在短至125毫秒內(nèi)啟動(dòng)microVM(在2019年可以更快),使其成為眾多工作負(fù)載類型的理想選擇,包括瞬態(tài)或短期工作負(fù)載。

輕量虛擬化:重視瞬時(shí)性或無狀態(tài)的工作負(fù)載,而非長(zhǎng)時(shí)間運(yùn)行或持續(xù)性的工作負(fù)載。Firecracker的硬件資源開銷是明確且又保障的。

久經(jīng)沙場(chǎng):Firecracker經(jīng)過了很多測(cè)試,已經(jīng)為包括AWS Lambda和AWS Fargate在內(nèi)的多個(gè)高容量AWS服務(wù)提供支持。

低開銷:Firecracker每個(gè)microVM消耗大約5 MiB的內(nèi)存。你可以在同一實(shí)例上運(yùn)行數(shù)千個(gè)具有不同vCPU和內(nèi)存配置的安全VM。

功能極簡(jiǎn)主義:不會(huì)構(gòu)建非我們的任務(wù)所明確要求的功能。每個(gè)功能僅實(shí)施一項(xiàng)。

計(jì)算超訂:Firecracker向來賓開放的所有硬件計(jì)算資源都可以安全地超訂。

開源:Firecracker是一個(gè)開源項(xiàng)目。AWS已經(jīng)準(zhǔn)備好審核并接受拉取請(qǐng)求。

回答于 2021-04-17
贊同
評(píng)論
夏彤

近些年AWS非常推崇無服務(wù)器模式,自從2014年Lambda發(fā)布之后,無服務(wù)器大受歡迎,隨之2017年推出AWS Fargate服務(wù),應(yīng)用于自家的容器服務(wù)平臺(tái)ECS。在2019年,EKS也相繼支持AWS Fargate。

現(xiàn)在,更多的用戶使用無服務(wù)器計(jì)算來構(gòu)建應(yīng)用程序,AWS旨在打造讓用戶無需擔(dān)心基礎(chǔ)設(shè)施的預(yù)置或管理問題。開發(fā)人員可以使用AWS Fargate將其代碼封裝為無服務(wù)器容器,或使用AWS Lambda封裝為無服務(wù)器函數(shù)。無服務(wù)器的低運(yùn)營(yíng)開銷特點(diǎn),這將繼續(xù)對(duì)計(jì)算的未來發(fā)揮關(guān)鍵作用。

隨著用戶越來越廣泛采用無服務(wù)器技術(shù),AWS認(rèn)識(shí)到現(xiàn)行虛擬化技術(shù)還未同步發(fā)展,以針對(duì)此類事件驅(qū)動(dòng)性,有時(shí)又呈短暫性特點(diǎn)的工作負(fù)載進(jìn)行優(yōu)化。AWS認(rèn)為需要構(gòu)建特別針對(duì)無服務(wù)器計(jì)算設(shè)計(jì)的虛擬化技術(shù)。這種技術(shù)需要既能提供基于硬件虛擬化的虛擬機(jī)安全性邊界,同時(shí)又能保持容器和函數(shù)較小的封裝型號(hào)和敏捷性。

回答于 2021-04-17
贊同
評(píng)論
掃碼關(guān)注
獲取更多出海問答的相關(guān)信息
個(gè)人VIP
小程序
快出海小程序
公眾號(hào)
快出海公眾號(hào)
商務(wù)合作
商務(wù)合作
投稿采訪
投稿采訪
出海管家
出海管家