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