自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Serverless的實現(xiàn)與面臨的挑戰(zhàn)

譯文 精選
云計算
在本系列的第一篇文章中,我們探討了為什么堅信Serverless是云計算的未來,期間我們研究了云計算的演變,也列舉了當(dāng)前已經(jīng)轉(zhuǎn)向Serverless模式的一些用例。在本文中,我們將進(jìn)一步闡述如何實現(xiàn)Serverless以及實現(xiàn)過程中將會遇到的挑戰(zhàn)。最后將通過論點總結(jié)和愿景展望來結(jié)束這個系列。

?譯者 | 胥磊

審校 | 孫淑娟

在本系列的第一篇文章中,我們探討了??為什么堅信Serverless是云計算的未來??,期間我們研究了云計算的演變,也列舉了當(dāng)前已經(jīng)轉(zhuǎn)向Serverless模式的一些用例。在本文中,我們將進(jìn)一步闡述如何實現(xiàn)Serverless以及實現(xiàn)過程中將會遇到的挑戰(zhàn)。最后將通過論點總結(jié)和愿景展望來結(jié)束這個系列。

挑戰(zhàn)

 轉(zhuǎn)向一個更純粹的Serverless的世界將能解決現(xiàn)代工作負(fù)載運行時遇到的許多問題,但同時也存在很多挑戰(zhàn)。本文中,我們將這些挑戰(zhàn)分為四大類:云優(yōu)化、服務(wù)設(shè)計、功能和工作流以及安全問題,分別展開來進(jìn)行探討。在每個大類中我們都列出了重要的,有待徹底解決的具體問題。雖然不是很全面,但我們堅信這些將成為Serverless社區(qū)規(guī)劃線路的基石。

挑戰(zhàn)摘要

類別

挑戰(zhàn)

應(yīng)對挑戰(zhàn)需改進(jìn)的措施

云優(yōu)化

減少分配和釋放計算資源的開銷

需要改進(jìn)云系統(tǒng)組件的設(shè)計(主要Kubernates)

減少服務(wù)延遲

需要改進(jìn)云系統(tǒng)組件的設(shè)計(主要Kubernates)

支持暫停工作節(jié)點

需要對使用的資源進(jìn)行碎片整理(需要KNative和Kubernetes支持)

服務(wù)設(shè)計

外部化服務(wù)流事件

需要服務(wù)設(shè)計支持事件驅(qū)動

處理延時問題

需要服務(wù)設(shè)計時要考慮延時

對事件風(fēng)暴,概率性的事件降低以及事件不可用的處理

需要云系統(tǒng)(Knative)設(shè)計和相關(guān)服務(wù)設(shè)計時考慮支持

功能和工作流

服務(wù)標(biāo)準(zhǔn)化

需要社區(qū)能滿足行業(yè)標(biāo)準(zhǔn)

不同服務(wù)的工作流的通用描述

需要完整的工作流語言

安全問題

更多的權(quán)限從用戶本地轉(zhuǎn)移到云端自動處理

云計算需要保護(hù)可能存在漏洞的服務(wù)方面發(fā)揮更積極的作用

工作負(fù)載更細(xì)粒度的分類擴(kuò)大了被攻擊面

增加自動化和版本控制,以減少配置任意性,并支持頻繁的服務(wù)更新

網(wǎng)絡(luò)邊界的消失

增加安全新聞的監(jiān)測和控制(Knative,Kubernetes)

云計算優(yōu)化

Serverless適合為服務(wù)需求分配計算資源,它在服務(wù)需求增長時分配新的計算資源,而在需求減少時釋放相關(guān)計算資源。這里的分配和釋放計算資源的開銷問題可能是Serverless應(yīng)用部署后出現(xiàn)的最重要的問題之一。

Serverless服務(wù)(無論函數(shù),容器或者是工作流運行的容器組)都會產(chǎn)生計算資源的縮減和回升的成本,而且這種成本的量可能相當(dāng)可觀,因為其貫徹了Serverless服務(wù)的生命周期的各個環(huán)節(jié)。包括Kubernetes在內(nèi)的大多數(shù)云技術(shù)在設(shè)計時都考慮了服務(wù)資源的預(yù)配置。在Serverless模式下,就必須要考慮通過降低運行中實例的變化而產(chǎn)生的開銷來優(yōu)化更多的動態(tài)用例。例如,Kubernetes添加一個Pod副本就必須進(jìn)行優(yōu)化,通過最大限度的減少開銷,以便于每次服務(wù)需求變化時成本和能源消耗降到最低。

另一方面需要注意的是,應(yīng)對需求增長,在增加計算資源過程中所帶來的服務(wù)延遲。當(dāng)你等待額外的資源被分配時,期間就會導(dǎo)致服務(wù)延遲的增加。極端情況下,當(dāng)一個請求到達(dá)一個還沒有分配資源的服務(wù)時,冷啟動的時間會導(dǎo)致該請求受到非常顯著的影響。正如在??Knative減少冷啟動時間??所討論的那樣,最壞的情況下服務(wù)啟動時間是以秒為單位,而請求的響應(yīng)時間通常則只有幾十毫秒。當(dāng)你創(chuàng)建由多個獨立擴(kuò)展組成的Serverless解決方案時,冷啟動帶來的影響是非常顯著的,必須考慮到這一點。進(jìn)一步改善這個問題就需要對云技術(shù)進(jìn)行更多優(yōu)化。

最后需要對KUbernetes和Knative進(jìn)行優(yōu)化,以充分發(fā)掘其解決能源和資金節(jié)約的潛力。Pod分配和集群控制應(yīng)發(fā)展到支持動態(tài)調(diào)整(碎片整理)到其他工作節(jié)點的子集,這樣空閑的節(jié)點就可以暫停,當(dāng)然當(dāng)集群資源總體需求增加時還可以恢復(fù)。

服務(wù)設(shè)計

當(dāng)你創(chuàng)建Serverless應(yīng)用或解決方案時,主要挑戰(zhàn)之一就是要以事件驅(qū)動的思維模式來設(shè)計應(yīng)用和服務(wù),也就是要去了解應(yīng)用和整體方案各部分運行的事件。這些事件來自你對應(yīng)用領(lǐng)域的業(yè)務(wù)理解,必須被明確的提取出來。例如在一個業(yè)務(wù)流程的應(yīng)用中,如:假期預(yù)定系統(tǒng),就有明確的事件來驅(qū)動整個應(yīng)用的使用。當(dāng)客戶計劃一個假期時,他們必須依次選擇和預(yù)定一系列的選項,如地點、航班、酒店、租車、餐飲以及其他活動。整個的過程可以被分解為服務(wù)以及它們之間流轉(zhuǎn)的事件,企業(yè)將其應(yīng)用設(shè)計成微服務(wù),這種分解和設(shè)計也是眾所周知的。

Serverless的事件驅(qū)動架構(gòu)只是簡單的對不同的服務(wù)增加了事件(內(nèi)部或外部)觸發(fā),如果它們沒有處理任何請求時,可以縮減到零。為了充分發(fā)揮這種架構(gòu)的優(yōu)勢,必須將驅(qū)動服務(wù)的事件外部化,這樣就可以用這些事件來觸發(fā)Serverless組件網(wǎng)中的工作流。由于服務(wù)都是可以動態(tài)擴(kuò)展的,就出現(xiàn)了之前提到的一個問題就是需要考慮冷啟動的潛在影響,同時還需要有一個顯示良好且響應(yīng)快速的用戶界面。

事件驅(qū)動架構(gòu)也有自己必須要解決的一系列挑戰(zhàn),大部分可以通過選擇正確的事件代理、觸發(fā)器和事件模型來解決。而你應(yīng)用程序的部分也需要注意一些陷阱,特別是事件風(fēng)暴或一段時間后可能發(fā)生事件減少或不起作用的問題。以上所有這些就是我們所說的Serverless設(shè)計。

功能和工作流

AWS在2014年推出其Lambda服務(wù)時,介紹的第一個模型就是一個純粹的函數(shù)式編程模型。服務(wù)是以定義在不同語言和庫中的函數(shù)的形式執(zhí)行。后來Knative提出了一個更通用的模型:以容器為中心,像Lambda函數(shù)一樣,執(zhí)行是基于事件的觸發(fā),并隨著服務(wù)的需求(請求)的變化增減資源規(guī)模。隨后,Knative適時推出了自己的函數(shù)式編程模型:Knative函數(shù)。

雖然不同的Serverless技術(shù)的共存對創(chuàng)新有很大幫助,但畢竟它們是不兼容的,因為不存在一個標(biāo)準(zhǔn),而兼容性的挑戰(zhàn)在網(wǎng)絡(luò)邊界得到了解決。首先,容器鏡像的格式和執(zhí)行正在由Kubernetes社區(qū)定義。最重要的是很多Serverless平臺的事件模型是基于云事件標(biāo)準(zhǔn),這是個非常重要的標(biāo)準(zhǔn)。它允許工作負(fù)載跨云合作,協(xié)作和執(zhí)行。Kubernetes提供了通用的執(zhí)行平臺,以及我們需要的該平臺上Serverless的通用定義。

最后一個挑戰(zhàn)是Serverless服務(wù)之間協(xié)調(diào)流轉(zhuǎn)的通用描述。創(chuàng)建一個簡單的Serverless解決方案不僅需要觸發(fā)器、事件源和不同服務(wù)的事件匯聚,還需要不同服務(wù)之間的協(xié)調(diào)。在各種流程語言中存在部分解決方案,那就是管道語言,但它不是為任意的帶有同步點的復(fù)雜圖設(shè)計的,更需要一種完整的工作流語言。這種語言可能是Tekton演變出來的,或者至少是其一個超集。

安全問題

伴隨每一項新技術(shù)的出現(xiàn),新的網(wǎng)絡(luò)安全挑戰(zhàn)往往也隨之而來。而Serverless技術(shù)的出現(xiàn)改變了這種格局,因為更多的控制權(quán)從用戶端轉(zhuǎn)移到云端自動化,特別是對在何處使用多少計算資源來滿足需求的控制。由此伴隨網(wǎng)絡(luò)邊界逐漸消失,許多相關(guān)的安全控制也隨之消失。此外,伴隨Serverless帶來的低成本和簡化操作,許多的工作負(fù)載將被劃分為更細(xì)的自助服務(wù),而工作負(fù)載的片段越來越多,攻擊者也會看到更大的攻擊面。

Knative社區(qū)應(yīng)對新的網(wǎng)絡(luò)安全挑戰(zhàn)的措施

  • 對已部署的服務(wù)提升更新的效率和速度

Knative提供了協(xié)助服務(wù)修正的基本功能,支持在服務(wù)修正過程中進(jìn)行流量切分,從而使服務(wù)在修正版本的迭代期間能平滑、無風(fēng)險的過度。支持更高頻率的更新,以降低不斷變化的威脅和新發(fā)現(xiàn)的漏洞所帶來的風(fēng)險。

  • 避免服務(wù)配置的任意性

Knative自動化部署確保服務(wù)所需的所有Kubernetes資源都出自單一的服務(wù)資源。違規(guī)者或內(nèi)部人員對任何資源的手動修改,無論有意還是無意都會被Knative自動化覆蓋,避免配置任意修改。

  • 避免基礎(chǔ)設(shè)施配置的任意性

Knative使用Kubernetes來協(xié)助管理Knative的底層組件,但并不支持對Serverless的基礎(chǔ)設(shè)置進(jìn)行手動更改。

  • 安全行為的監(jiān)控和控制

Knative社區(qū)正在引入新的技術(shù)來監(jiān)控已部署服務(wù)的行為以及發(fā)送到這些服務(wù)的事件的行為。安全衛(wèi)士是一種為每個服務(wù)量身定制的、運行時的安全保障,用于防護(hù)脆弱的服務(wù)免受0-day或已知漏洞的威脅。該技術(shù)還為你提供機(jī)制以應(yīng)對服務(wù)被利用的情況。

總結(jié)

隨著云計算的不斷發(fā)展,它已成為全球能耗的一個重要角色,據(jù)國際能源署的估計其已經(jīng)占了2021年全球能源消耗的1-1.5%和二氧化碳排放量的1%!Kubernetes規(guī)范了工作負(fù)載的部署和管理方式。而Knative憑借Serverless和高效性向前更進(jìn)一步,它有助于實現(xiàn)更環(huán)保的云計算,并為云服務(wù)商和云用戶節(jié)省大量成本,這種Serverless模式適用于所有的工作負(fù)載。更高的效率不僅僅是對單個工作負(fù)載來說的,還包括底層云資源和每個工作負(fù)載的執(zhí)行所消耗的能源。

除了效率之外,Serverless還為云用戶帶來別的額外好處,包括簡單化、自動化、版本修正管理和網(wǎng)絡(luò)安全的改善。然而這些也同樣存在挑戰(zhàn),Kubernetes需要更進(jìn)一步優(yōu)化基于實際負(fù)載自動擴(kuò)展服務(wù)的動態(tài)特性。為了使Serverless更加通用,并涵蓋更多的用例場景,還有許多工作需要做。同樣為了使用Serverless模式,用戶也必須改進(jìn)他們的工作負(fù)載和部署的策略,當(dāng)然這些都需要時間。

隨著我們逐漸轉(zhuǎn)向Serverless模式,適用的新的工作負(fù)載和用例場景也是我們需要考慮的。人工智能,數(shù)據(jù)和機(jī)器學(xué)習(xí)社區(qū)在認(rèn)知這種按需分配計算資源模式的價值方面取得先機(jī),Kubeflow和Tekon都是以Serverless模式設(shè)計和執(zhí)行數(shù)據(jù)密集型AI管道以及工作負(fù)載的很好的例子。其他未來可用的工作負(fù)載和用例場景還包括量子Serverless,通過它可以在量子計算機(jī)上按需使用或執(zhí)行量子算法。

Serverless模式代表了成本節(jié)約和分配資源的經(jīng)濟(jì)性,應(yīng)用是為這而設(shè)計的,而平臺對于運行Serverless解決方案也是高效和經(jīng)濟(jì)的,所以對各方都是有意義的。另外作為額外的獎勵,對環(huán)境也是有好處的。

鳴謝

感謝Paul Schweigert和Lionel Villard的反饋和意見。此外還要感謝整個Knative社區(qū),感謝他們?yōu)閯?chuàng)建Kubernetes的Serverless平臺所做的貢獻(xiàn)和努力,在不到兩年的時間里,社區(qū)已經(jīng)發(fā)布了十幾個版本,改進(jìn)了各個方面并保持與Kubernetes的兼容,且允許擴(kuò)展和實驗各種創(chuàng)新。

譯者介紹

胥磊,51CTO社區(qū)編輯,某頭部電商技術(shù)副總監(jiān),關(guān)注Java后端開發(fā),技術(shù)管理,架構(gòu)優(yōu)化,分布式開發(fā)等領(lǐng)域。

原文標(biāo)題:??How do we make the future serverless?,作者:Michael Maximilien??, David Hadas, Angelo Danducci II, Simon Moser

責(zé)任編輯:華軒 來源: 51CTO
相關(guān)推薦

2021-09-10 11:19:41

醫(yī)療行業(yè)CISO網(wǎng)絡(luò)攻擊

2017-11-06 15:33:33

HCI軟件平臺

2019-01-25 06:14:49

2022-08-15 15:30:59

元宇宙安全性接口

2024-01-15 14:39:45

以太網(wǎng)網(wǎng)絡(luò)電纜PoE系統(tǒng)

2011-06-01 11:06:00

開源社區(qū)文檔

2013-01-23 09:59:50

2022-05-06 10:31:10

大數(shù)據(jù)安全大數(shù)據(jù)平臺數(shù)據(jù)安全

2020-03-26 10:25:48

云安全混合云多云

2018-09-20 10:10:34

2013-11-12 09:35:16

大數(shù)據(jù)

2014-03-06 11:24:48

2023-08-10 07:04:13

2022-12-05 13:22:03

2022-11-02 11:46:54

2014-10-24 14:40:21

2020-02-11 10:24:40

云遷移云計算

2019-04-22 13:45:12

云計算IT自動化公共云

2012-12-05 10:07:39

2018-10-24 10:21:15

工業(yè)物聯(lián)網(wǎng)IIoT物聯(lián)網(wǎng)
點贊
收藏

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