邊緣計算機遇 并非如您所想,邊緣計算瓶頸邊緣計算機遇 并非如您所想Cloudflare Workers 是規(guī)模最大、使用最廣泛的邊緣計算平臺之一。我們是大約三年前發(fā)布 Cloudflare Workers的,過去兩年它已變得比較普及。這段時間以來,我們已經(jīng)看到成千上萬開發(fā)人員編寫的數(shù)千萬行代碼如今在Cloudflar......
Cloudflare Workers 是規(guī)模最大、使用最廣泛的邊緣計算平臺之一。我們是大約三年前發(fā)布 Cloudflare Workers的,過去兩年它已變得比較普及。這段時間以來,我們已經(jīng)看到成千上萬開發(fā)人員編寫的數(shù)千萬行代碼如今在Cloudflare 的網(wǎng)絡(luò)上運行。
在2020年第二季度,20,000 名開發(fā)人員首次使用 Cloudflare Workers 部署了一個新應(yīng)用程序?,F(xiàn)在,流經(jīng)我們網(wǎng)絡(luò)的所有請求中有超過 10% 使用了 Cloudflare Workers。而且在我們最大的客戶中,大約有 20% 正在采用 Cloudflare Workers 作為其部署的一部分。這個平臺有如此發(fā)展,真是令人不可思議。
目前,我們已對 Cloudflare Workers 平臺的一系列增強,讓您能夠構(gòu)建更加復雜的應(yīng)用程序,降低無服務(wù)器計算開支,同時讓您的應(yīng)用程序變得更加快速,并證明 Workers 平臺由內(nèi)而外皆安全。
馬修的開發(fā)者需求層次結(jié)構(gòu)
先來談?wù)勥^去三年我們在邊緣計算方面的收獲。在發(fā)布 Cloudflare Workers 時,我們認為殺手锏是速度。Workers 在整個 Cloudflare 網(wǎng)絡(luò)上運行,更靠近最終用戶,因此其響應(yīng)速度天生比傳統(tǒng)的中央化無服務(wù)器平臺快。
但是,我們觀察開發(fā)人員使用 Cloudflare Workers 后發(fā)現(xiàn),一個開發(fā)平臺有著若干個屬性,而不僅僅是速度。速度是錦上添花,但對大多數(shù)應(yīng)用程序而言,速度并不是初始要求。只專注于它是不對的,會讓邊緣計算平臺注定走向默默無聞。
如今,幾乎所有談?wù)撨吘売嬎銉?yōu)勢的人仍然聚焦于速度。Akamai 亦是如此;他們于 2002 年推出了基于 Java 和 .NET 的 EdgeComputing 平臺,但由于未能找到足夠多的客戶,2009 年便已關(guān)閉(僅靠網(wǎng)絡(luò)延遲少一點無法成為在邊緣運行代碼增加成本和復雜性的理由)。這是業(yè)內(nèi)許多人都已忘記的一個警示故事。
如今相信,我們在推出 Cloudflare Workers 時將速度視為邊緣計算的殺手锏是錯誤的,并且業(yè)內(nèi)許多人的關(guān)注點仍然錯位,面臨著失去更大機遇的風險。
這里,要提出一個不同的觀點。任何平臺上開發(fā)人員的需求按照重要性從低到高排序其實應(yīng)該是:速度 一致性 成本 易用性 合規(guī)性。我們把它叫做“馬修的開發(fā)者需求層次結(jié)構(gòu)”。
盡管所有談?wù)撨吘売嬎愕娜藥缀醵季劢褂谒俣?,但我們認為一致性、成本、易用性,尤其是合規(guī)性最終會變得遠比速度重要。實際上,我們預測,未來三年邊緣計算的真正殺手锏與相對不那么吸引人但從根本上看很重要的一點相關(guān):合規(guī)性。
速度是殺手锏嗎
讓應(yīng)用程序快速運行是開發(fā)人員經(jīng)驗的自我實現(xiàn)。我們也把 Workers 打造得特別快速。通過將計算工作負載移到更接近應(yīng)用程序用戶所在位置,我們可以有效突破光速帶來的限制。Cloudflare 的網(wǎng)絡(luò)遍布全球 100 多個國家/地區(qū)的 200 多個城市。我們將繼續(xù)建設(shè)這個網(wǎng)絡(luò),讓它與地球上每個人相距都在幾毫秒內(nèi)。
由于不太可能提高光速,因此能夠讓任何開發(fā)人員能夠編寫代碼并使代碼在我們整個網(wǎng)絡(luò)中運行,意味著我們將始終比傳統(tǒng)的中央化計算解決方案(即使是那些在“云端”運行的解決方案)更有性能優(yōu)勢。如果必須為運行應(yīng)用程序的位置選擇一個“可用區(qū)域”,那么如果一個應(yīng)用程序是利用 Workers 這樣在 Cloudflare 網(wǎng)絡(luò)覆蓋的所有位置運行的平臺來構(gòu)建的,其性能始終處于劣勢。
我們認為 Cloudflare Workers 已經(jīng)是最快的無服務(wù)器平臺之一,我們將繼續(xù)建設(shè)我們的網(wǎng)絡(luò)以確保它保持這樣的地位。
然而,我們暫時現(xiàn)實一點。僅有限的一組應(yīng)用程序?qū)装俸撩氲木W(wǎng)絡(luò)延遲敏感。這并不是說在現(xiàn)代主流無服務(wù)器平臺模式下,網(wǎng)絡(luò)延遲并不重要,只是說那些要求這種額外性能的應(yīng)用程序是利基的。
諸如信用卡處理、廣告投放、游戲和人機交互之類的應(yīng)用程序可能對延遲非常敏感。例如,Amazon 的 Alexa 和 Google Home 優(yōu)于許多競爭對手,部分原因是它們可以利用母公司的邊緣網(wǎng)絡(luò)來負責語音處理,因此延遲時間比較短、響應(yīng)速度比較快。
但在這樣的應(yīng)用程序之后,它變得有些“華而不實”了。那些對邊緣計算高談闊論的人很快就開始談?wù)撐锫?lián)網(wǎng)和無人駕駛汽車了。令人尷尬的是,我們最初啟動 Workers 平臺時,也一直都在這么做。專家提示:當您與邊緣計算狂熱分子交談時,如果想要次次贏得流行語競猜游戲,只需確保競猜卡片上有“物聯(lián)網(wǎng)”和“無人駕駛汽車”。
斯坦福大學計算機科學著名教授 Donald Knuth(與 Tony Hoare、Essgar Dijkstra 和許多其他人一起)說了類似于這樣的話,“過早優(yōu)化是編程中的萬惡之源”。因此,對于大多數(shù)開發(fā)人員選擇使用邊緣計算平臺而言,僅憑速度本身并不是令人信服的充分理由,也就不足為奇了。對于大多數(shù)應(yīng)用程序而言,這樣做也屬過早優(yōu)化,即“萬惡之源”。
那么,有什么比速度更重要
一致性
雖然最小化網(wǎng)絡(luò)延遲不足以使大多數(shù)開發(fā)人員遷移到新平臺,但幾乎所有無服務(wù)器平臺都存在一種延遲源:冷啟動時間。冷啟動時間是指一個應(yīng)用程序首次在特定服務(wù)器上運行時需要花費多長時間。冷啟動讓人受傷,因為它使應(yīng)用程序無法預測且不穩(wěn)定。有時,如果無服務(wù)器應(yīng)用程序遇到代碼處于熱狀態(tài)的服務(wù)器,速度可能會很快,但其他時候,如果需要啟動新服務(wù)器上的容器并將代碼從磁盤加載到內(nèi)存中,速度就會變慢。不可預測性確實會損害用戶體驗;事實證明,人們對一致性的鐘愛要超過速度。
冷啟動的問題并非邊緣計算平臺所獨有。源于冷啟動的不一致性是所有無服務(wù)器平臺的禍根。它們是您不必自行維護和部署實例所需要支付的稅款。但邊緣計算平臺實際上會使冷啟動問題變得更糟,因為它們將計算工作負載分散到更多位置的更多服務(wù)器上。結(jié)果,當請求到達時,代碼在任何特定服務(wù)器上“已熱”的可能性較小。
換句話說,平臺的分布性越高,出現(xiàn)冷啟動問題的可能性就越大。為了在大多數(shù)無服務(wù)器平臺上解決此問題,開發(fā)人員必須創(chuàng)造可怕的駭客,比如從世界各地對自己的應(yīng)用程序執(zhí)行空閑請求,以使其代碼保持熱狀態(tài)。雪上加霜的是,傳統(tǒng)云提供商對這些拋棄式請求收費,甚至對自己的駭客式“預熱/預留”解決方案收取更高的費用。太荒謬了
零納秒冷啟動
我們知道冷啟動很重要,因此從一開始就努力確保涉及 Workers 的冷啟動時間在 5 毫秒以內(nèi)。這與其他無服務(wù)器平臺相比特別有利,例如AWS Lambda 等平臺的冷啟動可能需要長達 5 秒(比Workers 慢 1000 倍)。
不過,我們想要更上一層樓。因此我們推出了Workers 支持零納秒冷啟動。除非有人發(fā)明了時間機器,否則用時不可能比這還短,因此我們更有信心,Workers 現(xiàn)在是所有無服務(wù)器平臺中冷啟動最快的。這使 Cloudflare Workers 成為一致性上的王者,甚至能擊敗傳統(tǒng)的中央化無服務(wù)器平臺。
然而,再提一下,在馬修的開發(fā)者需求層次結(jié)構(gòu)中,雖然一致性比速度重要,但在選擇計算平臺時,還有其他因素的重要性甚至要高于一致性。
費用
如果必須從一個快速平臺和一個便宜平臺中取舍,在其他條件相同的情況下,大多數(shù)開發(fā)人員會選擇便宜的那一個。只有在看到用戶體驗受損造成的代價超過速度升級所需的成本時,開發(fā)人員才會愿意為速度支付更多費用。在那之前,便宜勝過快速。
在大多數(shù)情況下,邊緣計算平臺會為提高速度收取額外費用。例如,通過 AWS 的Lambda@Edge 處理請求的成本大約是通過 AWS Lambda 處理的三倍;而基礎(chǔ)版 Lambda 已經(jīng)非常昂貴了。從某些方面來看,這似乎情有可原。我們都認為需要付出更多才能變得更快,但這是一種定價原理,它總會讓邊緣計算成為一種利基產(chǎn)品,僅為那些對網(wǎng)絡(luò)延遲極為敏感的有限應(yīng)用程序提供服務(wù)。
然而,邊緣計算并不一定需要變得昂貴。實際上,它可以變得便宜。要理解這一點,可以看看從邊緣提供服務(wù)的成本。如果您與 Cloudflare 的網(wǎng)絡(luò)一樣有合作良好的本地 ISP,那么與穿越全球回傳相比,在本地提供帶寬的開銷可能會較低。在邊緣運行時,還可以節(jié)省更多的能源和場地成本。這些節(jié)省有助于我們讓 Cloudflare Workers 平臺價格保持低廉。
更高效的架構(gòu)意味著更低的成本
但是,真正的成本贏面來自更高效的架構(gòu)。90年代初,那時想要添加新的應(yīng)用程序意味著需要訂購新服務(wù)器。后來出現(xiàn)了虛擬機(VM),就可以在同一服務(wù)器上運行多個應(yīng)用程序。實際上,每個應(yīng)用程序的開銷減少了,因為每個應(yīng)用程序需要的物理服務(wù)器數(shù)變少了。
虛擬機造就了第一批公共云。但是,云提供商很快就去尋求進一步降低開銷的方法。容器提供了更加輕巧的選擇,可以在同一臺機器上運行多個客戶的工作負載。使用的是 dotCloud,它后來變成了 Docker,而且一路領(lǐng)先,最終被幾乎所有其他人效仿。再一次,容器勝過虛擬機的原因也是減少了每個應(yīng)用程序的開銷。
在 Cloudflare,我們知道歷史不會停下腳步,所以在開始打造Workers 時,我們問自己:容器之后是什么答案是隔離(Isolates)。隔離是瀏覽器用來使進程相互隔開的沙盒技術(shù)。它們非??焖?,輕巧。這就是為什么當您訪問網(wǎng)站時,瀏覽器可以獲取以前從未見過的代碼并幾乎立即執(zhí)行它的原因。
通過使用隔離而不是容器或虛擬機,我們能夠使計算開銷遠低于傳統(tǒng)的無服務(wù)器平臺。如此,我們就能更高效地處理計算工作負載。反過來,我們可以這種效率中節(jié)省下來的轉(zhuǎn)快遞給我們的客戶。我們的目標不是比 Lambda@Edge 便宜,而是要比 Lambda 便宜,而且便宜得多。
從極限到無限
最初,我們希望 Workers 的定價非常簡單且具有成本是多少。與其他無服務(wù)器提供商不同,我們沒有同時基于請求、CPU 時間和帶寬收費,而是僅基于請求收費。簡簡單單。折衷是我們不得不施加最大 CPU、內(nèi)存和應(yīng)用程序大小限制。在過去三年中,我們了解到開發(fā)人員希望使用 Workers 構(gòu)建更復雜、更精良的應(yīng)用程序,其中一些突破了這些極限。因此,我們已將剔除限制。
我們?yōu)镃loudflare Workers新增了一個新的 Workers 選項。借助這個選項,可以按照其他無服務(wù)器提供商使用的相同定價模型來運行更復雜的計算機工作負載,但價格卻更具吸引力。對于能夠接受以前限制范圍的用戶,我們將繼續(xù)支持簡化選項并特別期待開發(fā)人員能夠駕馭我們的技術(shù)來開發(fā)新的應(yīng)用程序,以付出比其他傳統(tǒng)中央化無服務(wù)器平臺更低的代價,得到比這些平臺更高的性能。
更快速、更一致和更便宜已然不錯,但即使它們加在一起仍然不足以贏得大多數(shù)開發(fā)人員的工作負載。那么,有什么比成本更重要
易用性
對于 Cloudflare Workers,我們知道我們需要在開發(fā)人員已經(jīng)很熟悉的環(huán)境中與他們交流。而這始于支持開發(fā)人員知道并喜愛的語言。我們之前已宣布支持 JavaScript、C、C++、Rust、Go,甚至 COBol。并新增支持 Python、Scala 和 Kotlin。我們希望確保一點,您不必學習新語言和新平臺就能從 Cloudflare Workers 獲益。(注:我們?nèi)栽谕苿訉?Perl 的支持。)
易用性還意味著減少在技術(shù)運維等事務(wù)上花費的時間。那就是無服務(wù)器平臺出眾之處。能夠簡單地部署代碼并允許平臺隨負載擴展和縮小是有魔力的。我們已經(jīng)在 Cloudflare Workers 的長期用戶上看到了這一點,比如 Discord,其使用量在過去三年增長了百分之幾千,而 Workers 平臺通過自動擴展?jié)M足了他們的需求。
但是,無服務(wù)器平臺的一個挑戰(zhàn)是調(diào)試。作為開發(fā)人員,很難在本地復制整個無服務(wù)器平臺,因此調(diào)試應(yīng)用程序或許更加困難。更加糟糕的是,將代碼部署到平臺需要長達 5 分鐘時間,AWS 的Lamda@Edge便是這樣。如果您是一名開發(fā)人員,就會知道等待代碼部署和測試的痛苦。這就是為什么我們必須要做到,讓代碼更改能夠在不到 15 秒內(nèi)部署到覆蓋全球 200 多個城市的整個網(wǎng)絡(luò)中。
貝佐斯法則
我們內(nèi)部做出的一個最重要決定是實施所謂的貝佐斯法則。它有兩個要求:
Cloudflare 工程師為自己開發(fā)的新功能必須盡可能使用 Workers 開發(fā);
我們?yōu)樽约洪_發(fā)的任何 API 或工具都必須提供給第三方 Workers 開發(fā)人員。
建立一個強大的測試和調(diào)試框架需要開發(fā)人員的投入。三年來,Cloudflare Workers 的開發(fā)工具包已經(jīng)明顯成熟,而這離不開使用我們平臺的數(shù)十萬開發(fā)人員給予的反饋,包括我們自己的團隊在內(nèi),他們使用 Workers 快速構(gòu)建了創(chuàng)新的新功能,如 Cloudflare Access 和 Gateway。歷史表明,任何平臺的最優(yōu)客戶必須是制造這個平臺的公司的開發(fā)團隊。
Wrangler 是用于配置、部署和調(diào)試 Cloudflare Workers 的命令行工具,因為我們自己團隊提供的廣泛反饋,已經(jīng)發(fā)展成為一種強大的開發(fā)人員體驗。除了成為最快速、最一致、最負擔得起的產(chǎn)品外,鑒于 Cloudflare Workers 背后的勢頭,它正迅速成為最易于使用的無服務(wù)器平臺,這讓我倍感欣慰。
通常,最容易使用的平臺都會是勝者。但還有一點甚至比易用性更重要;按照預測,它將被證明是邊緣計算的真正殺手锏。
合規(guī)性
如果您是個人開發(fā)人員,或許對合規(guī)性不會想太多。但是,如果您在大型銀行、保險公司、醫(yī)療保健公司或任何其他在一定規(guī)模上接觸敏感數(shù)據(jù)的公司中擔任開發(fā)人員,您會對合規(guī)性考慮很多。您可能想要使用某一個平臺,因為它快速、一致、便宜,而且易于使用,但若 CIO、CTO、CISO 或總法律顧問說“不行”,那么一切回到原點。
在包括無服務(wù)器平臺在內(nèi)的云計算平臺上,運行的大多數(shù)計算資源都是由就職于視合規(guī)性為基本要求的公司的開發(fā)人員創(chuàng)建的。而且,到目前為止,這意味著要確保平臺遵循政府法規(guī)(例如 GDPR(歐洲隱私準則)),或具有相關(guān)的認證來確保其遵循行業(yè)法規(guī),例如 PCI DSS(如果您接受信用卡則需要)、FedRamp(美國政府采購要求)、ISO27001(安全風險管理)、SOC 1/2/3(安全性、機密性和可用性控制),等等。
數(shù)據(jù)主權(quán)時代即將到來
然而,一個新的風險迫在眉睫,傳統(tǒng)的云計算解決方案無力滿足某些法規(guī)要求。越來越多國家或地區(qū)正在制定法規(guī),確保其法律適用于其公民的個人數(shù)據(jù)。若要確保您遵守這些法律,一種方法是在一個國家/地區(qū)的境內(nèi)存儲和處理其公民的數(shù)據(jù)。
歐盟、印度和巴西這些主流市場全部已經(jīng)或正在考慮制定法規(guī)來維護對本國/地區(qū)公民個人數(shù)據(jù)的法律主權(quán)。中國已經(jīng)對多種類型的數(shù)據(jù)實施了數(shù)據(jù)本地化法規(guī)。不論您認為似乎要求在本地數(shù)據(jù)存儲和處理的法規(guī)是不是一個好主意(我個人認為它們是扼殺創(chuàng)新的不良政策),我的感覺是,這些法規(guī)背后的勢頭足夠重要,從目前來看,或許已不可避免。而且,一旦幾個國家/地區(qū)開始要求數(shù)據(jù)主權(quán),幾乎每一個國家/地區(qū)都會去效仿,而這很難阻止。
風險在于,此類法規(guī)可能會抵消開發(fā)人員從多無服務(wù)器計算獲得的大部分效率提升。如果整個團隊必須要在不同轄區(qū)的不同云平臺之間進行協(xié)調(diào)以確保合規(guī)性,那將是一場噩夢。
邊緣計算前來拯救
邊緣計算殺手锏就在于此。隨著政府施行新的數(shù)據(jù)主權(quán)法規(guī),對于尋求在本地保管和處理數(shù)據(jù)以遵守這些新法律并保持效率的公司而言,至關(guān)重要的是擁有一個能讓單個平臺覆蓋每一個受管制地區(qū)的網(wǎng)絡(luò)。
盡管這些法規(guī)剛剛冒頭,但 Cloudflare Workers 已經(jīng)可以在全球 100 多個國家/地區(qū)的本地運行。這使我們能夠幫助開發(fā)人員滿足他們認為合適的數(shù)據(jù)主權(quán)要求。而且,我們將繼續(xù)開發(fā)工具來給予開發(fā)人員選擇,讓他們既履行其合規(guī)性義務(wù),又不必犧牲云所帶來的效率。
無服務(wù)器的最終前景是讓任何開發(fā)人員都能說,“我不在乎我的代碼在哪里運行,只要讓它能擴展便可?!倍硪粋€前景越來越清晰,“我的確在乎代碼的運行位置,我還要更多的控制權(quán),以滿足合規(guī)部門的要求?!盋loudflare Workers 通過即時擴展、遍布全球 100 多個國家/地區(qū)的位置以及精確選擇所需的粒度,讓您做到兩全其美。
無服務(wù)器周
最精彩之處我們才剛開始。我們將探討我們對無服務(wù)器的愿景,并向您展示我們?nèi)绾螌loudflare Workers 打造成最快速、最具成本是多少,而且安全、靈活、可靠、易于使用的無服務(wù)器平臺。還會重點介紹來自客戶的用例,展示他們?nèi)绾问褂?Cloudflare Workers 以前所未有的方式構(gòu)建和擴展應(yīng)用程序。另外,我們將概述對平臺所做的增強,使其成為開發(fā)人員眼中越來越好的選擇。
這三年來,我們在打造這個平臺上確實走了很長一段路。迫不及待地想看到開發(fā)人員使用Cloudflare Workers 開發(fā)的所有新應(yīng)用程序。
若要立即開始免費使用這個平臺,您可以訪問 :
www.cloudflare.com
特別聲明:以上文章內(nèi)容僅代表作者本人觀點,不代表ESG跨境電商觀點或立場。如有關(guān)于作品內(nèi)容、版權(quán)或其它問題請于作品發(fā)表后的30日內(nèi)與ESG跨境電商聯(lián)系。
二維碼加載中...
使用微信掃一掃登錄
使用賬號密碼登錄
平臺顧問
微信掃一掃
馬上聯(lián)系在線顧問
小程序
ESG跨境小程序
手機入駐更便捷
返回頂部