偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

為邊緣編程成功值得借鑒的六個經(jīng)驗

譯文
云計算 邊緣計算
IDC估計,2022年全球在邊緣硬件、軟件和服務(wù)上的支出將超過1760億美元,比上一年猛增14.8%,到2025年將達到2740億美元。因此,您的開發(fā)人員很可能現(xiàn)正在開發(fā)邊緣應(yīng)用程序,或者在不遠的將來會開發(fā)。

?譯者 | 布加迪

審校 | 孫淑娟

鑒于許多組織紛紛獲得邊緣計算在延遲、靈活性、成本和性能等方面帶來的好處,邊緣計算正在迅猛發(fā)展。IDC估計,2022年全球在邊緣硬件、軟件和服務(wù)上的支出將超過1760億美元,比上一年猛增14.8%,到2025年將達到2740億美元。因此,您的開發(fā)人員很可能現(xiàn)正在開發(fā)邊緣應(yīng)用程序,或者在不遠的將來會開發(fā)。

在積極試水之前,有幾個方面需要考慮。我是一名企業(yè)架構(gòu)師,與多家開發(fā)組織有過合作,在創(chuàng)建邊緣應(yīng)用程序方面可以給出幾個重要的經(jīng)驗。牢記這些經(jīng)驗可以幫助您避免令人沮喪的結(jié)果,并確保您充分發(fā)揮邊緣計算的優(yōu)勢。

經(jīng)驗一:質(zhì)疑自己的想法

開發(fā)人員常常將創(chuàng)建邊緣應(yīng)用程序視為它們就像是面向數(shù)據(jù)中心或云的應(yīng)用程序。但是邊緣是一種不同的范式,需要不同的方法來編寫代碼,還需要深思熟慮地選擇哪些應(yīng)用程序適合邊緣。

大多數(shù)開發(fā)人員習(xí)慣于少量服務(wù)器擁有大量計算資源的集中式計算環(huán)境。但邊緣計算顛覆了這種情形,將數(shù)量適中的資源分布在不同位置的多臺服務(wù)器上。這會影響任何一種邊緣工作負載的可擴展性。比如說,使用大量內(nèi)存的應(yīng)用程序面對成百上千個邊緣實例時可能無法很好地擴展。出于這個原因,大多數(shù)邊緣應(yīng)用程序?qū)⑹菍iT為邊緣構(gòu)建的,而不是從現(xiàn)有數(shù)據(jù)中心或云部署環(huán)境“平移”。

您需要批判性地思考邊緣架構(gòu)如何影響自己的應(yīng)用程序、哪些應(yīng)用程序?qū)⑹芤嬗谶@種分布式方法。將邏輯引入到數(shù)據(jù)所在的位置通常比較容易。因此,如果數(shù)據(jù)比較分散,或需要訪問大型集中式數(shù)據(jù)存儲,基于云的方法可能很明智。但當(dāng)應(yīng)用程序使用邊緣處生成的數(shù)據(jù)時,比如來自在線用戶的請求/響應(yīng)、Cookie和標(biāo)頭,這時候邊緣計算就能真正大放異彩。

經(jīng)驗二:不要忽視基本面

雖然將代碼分發(fā)到邊緣可以改善延遲和可擴展性,但不會一下子運行得更快。低效的代碼在邊緣同樣很低效。如前所述,邊緣的每個接入點都將比典型的集中式計算環(huán)境更受資源的限制,尤其是在無服務(wù)器邊緣環(huán)境下。在為邊緣編寫代碼時,優(yōu)化效率對于充分利用這種架構(gòu)至關(guān)重要。

當(dāng)將功能推送到邊緣相對快速和容易時,您仍然需要運用通常用于任何代碼的同樣的妥善管理流程。這包括良好的變更管理流程、將代碼存儲在源代碼控制系統(tǒng)中,以及使用代碼審查來評估代碼質(zhì)量。

經(jīng)驗三:重新考慮可擴展性

如果使用邊緣,您是“橫向擴展”而不是“縱向擴展”。因此,您需要開發(fā)代碼以適應(yīng)每個請求的約束,而不是從每個服務(wù)器的約束方面來考慮。這包括內(nèi)存使用、CPU 周期和每個請求的時間等方面的約束。約束會因您使用的邊緣平臺而異,因此了解這些約束并相應(yīng)地設(shè)計代碼很重要。

通常,您需要使用每個操作所需的最小數(shù)據(jù)集進行操作。比如說,如果您在邊緣進行 A/B測試,您可能只想存儲您在處理的特定請求或頁面所需的那部分數(shù)據(jù),而不是整個規(guī)則集。如果是基于位置的體驗,您只需要輕量級查詢中該邊緣實例為特定的州或地區(qū)所提供的數(shù)據(jù),而不是所有地區(qū)的數(shù)據(jù)。

經(jīng)驗四:為確??煽啃跃帉懘a

確保邊緣應(yīng)用程序的可靠性對于提供積極的用戶體驗而言至關(guān)重要。確保您的質(zhì)量保證(QA)計劃包含測試邊緣代碼。添加適當(dāng)?shù)腻e誤處理對于確保代碼能夠從容地處理錯誤也很重要,包括規(guī)劃和測試出現(xiàn)問題時的回退行為。比如說,如果您的代碼超出了平臺施加的限制,您希望創(chuàng)建回退機制,以便退回到一些默認內(nèi)容,這樣用戶不會收到影響體驗的出錯消息。

執(zhí)行分布式負載測試是證實應(yīng)用程序具有可擴展性的好方法。一旦您部署了代碼,繼續(xù)監(jiān)控平臺,以確保不會超出CPU和內(nèi)存方面的限制,并跟蹤任何錯誤。

經(jīng)驗五:優(yōu)化性能

邊緣計算的主要好處是將數(shù)據(jù)和計算資源移到靠近用戶的位置,從而大幅縮短延遲。當(dāng)您在成百上千個接入點(PoP)進行擴展時,創(chuàng)建輕量級高效代碼對于獲得這個優(yōu)點至關(guān)重要。完成一項功能所需的數(shù)據(jù)也應(yīng)該在邊緣處。開發(fā)需要從集中式數(shù)據(jù)存儲獲取數(shù)據(jù)的代碼將使邊緣帶來的延遲優(yōu)點蕩然無存。

對于您可能希望用于邊緣應(yīng)用程序的任何第三方代碼,同樣需要強調(diào)高效執(zhí)行。一些現(xiàn)有的代碼庫很低效,損害性能及/或超出邊緣平臺在CPU和內(nèi)存方面的限制。因此在將任何代碼合并到部署的邊緣環(huán)境之前,先仔細評估一番。

經(jīng)驗六:不重新發(fā)明輪子

雖然邊緣是一種新范式,但這并不意味著必須從頭開始編寫所有代碼。大多數(shù)邊緣平臺與各種內(nèi)容交付網(wǎng)絡(luò)(CDN)功能相集成,允許您創(chuàng)建自定義邏輯,以生成表示現(xiàn)有CDN功能(如緩存)的輸出。

構(gòu)建代碼確??芍赜靡彩且粋€好主意,以便代碼在邊緣和集中式計算環(huán)境中都可以執(zhí)行。將核心功能抽取到不依賴瀏覽器、Node.JS或特定平臺功能的庫中,讓代碼可以“同構(gòu)”,能夠在客戶端、服務(wù)器和邊緣處運行。

使用現(xiàn)有的開源庫是另一種避免重寫通用功能的方法。但要注意需要Node.JS或瀏覽器功能的庫。一些第三方開發(fā)人員開發(fā)與您使用的邊緣平臺集成的產(chǎn)品,還要考慮與他們合作,這可以節(jié)省時間和精力,同時獲得互操作性經(jīng)過驗證的優(yōu)點。

將經(jīng)驗付諸實踐

為了說明這些最佳實踐帶來的影響,不妨考慮一個真實案例:一家組織在邊緣實施地理圍欄應(yīng)用程序時遇到了困難。由于超出了平臺在CPU和內(nèi)存方面的限制,該組織面臨高錯誤率。

看看該組織如何構(gòu)建應(yīng)用程序,他們擁有所有地理圍欄區(qū)域的數(shù)據(jù),即900KB的JSON,存儲在每個邊緣PoP處。使用CPU密集型算法針對每個地理圍欄檢查興趣點,在接受檢查的前幾個區(qū)域中未找到興趣點時,就觸發(fā)CPU超時。

為了糾正這個問題,每個地理圍欄區(qū)域的數(shù)據(jù)都被移到了鍵值存儲(KVS)系統(tǒng),每個區(qū)域存儲在一個單獨的條目中。并添加了輕量級檢查,以確定某個興趣點可能存在的“候選區(qū)域”(通常是1到3個候選區(qū)域)。僅針對候選區(qū)域執(zhí)行完整的數(shù)據(jù)和CPU密集型檢查,這大大減少了CPU工作量。這些變化將錯誤率降到了可忽略不計的水平,同時縮短了初始化時間,并減少了內(nèi)存使用量,如下圖所示。

圖1:成功率和錯誤率的前后對比(請注意,成功和錯誤度量指標(biāo)在不同的尺度上,因此無法直接比較)

圖2:初始化時間前后對比

圖 3:內(nèi)存使用量前后對比。(圖片來源:Akamai)

充分發(fā)揮邊緣的優(yōu)勢

邊緣計算為受益于貼近用戶的應(yīng)用程序提供了巨大的優(yōu)勢,不僅帶來了速度和效率,還帶來了個性化用戶體驗。成功的關(guān)鍵是確保您的應(yīng)用程序很適合邊緣,然后優(yōu)化代碼以充分利用邊緣平臺功能,又不超出約束范圍。

如果注意我在與多家組織合作中獲得的經(jīng)驗,您可以更快速地充分發(fā)揮邊緣的好處,又沒有棘手的問題。

原文標(biāo)題:??Coding for the Edge: Six Lessons for Success???,作者:Josh Johnson?

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

2012-09-19 16:09:43

2021-10-09 10:00:52

遠程招聘技巧招聘

2023-10-07 15:49:09

RustIDE工具

2018-05-20 16:17:50

物聯(lián)網(wǎng)互聯(lián)產(chǎn)品成熟度模型

2016-12-15 09:53:07

自學(xué)編程技巧

2010-04-12 09:51:17

Oracle DBA

2021-12-15 06:28:23

物聯(lián)網(wǎng)項目物聯(lián)網(wǎng)IOT

2012-06-15 10:14:22

2015-10-10 11:36:01

虛擬化網(wǎng)絡(luò)虛擬化

2021-06-23 12:56:07

智慧城市物聯(lián)網(wǎng)5G

2024-12-17 12:30:08

2024-12-11 08:43:45

2020-02-18 10:23:53

CIO數(shù)字化轉(zhuǎn)型IT

2021-08-13 10:33:55

IT經(jīng)理首席信息官CIO

2021-10-26 13:56:03

物聯(lián)網(wǎng)IOT物聯(lián)網(wǎng)技術(shù)

2021-05-19 10:06:56

零信任網(wǎng)絡(luò)安全網(wǎng)絡(luò)攻擊

2023-01-11 09:23:50

開發(fā)框架WAF

2023-10-16 13:06:00

插件開發(fā)

2009-06-29 16:09:20

JSP編程

2021-10-19 14:01:33

數(shù)據(jù)中心數(shù)據(jù)中心架構(gòu)數(shù)據(jù)中心網(wǎng)絡(luò)
點贊
收藏

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