技術週刊(2019-02-11 Serverless)

阿里媽媽前端快爆發表於2019-02-28

前端技術週刊 2019-02-11

前端快爆

  • Chrome 72 的安卓版正式啟用了Trusted Web Activity 功能,可以使得一個 PWA 應用能夠在 Google Play Store 中得以被分發。 ?

點評:瞭解一下國外怎麼做輕應用的就行?

  • Firefox 66 將預設阻止所有音訊和視訊的自動播放,同時提供了使用者選擇是否自動播放的介面。?

image.png

  • EcmaScript 2019 即將支援這些特性:Array.flat() 及Array.flatMap()、讓物件也可以像陣列一樣用 for of 遍歷的 Object.fromEntries 、單向清除空白符的 String.prototype.trimStart 及 String.prototype.trimEnd、可直接獲得 Symbol 描述的 Symbol.prototype.description、省略 catch 回撥形參的 try {} catch {}、修復 JSON 中 Unicode 邊界問題的 Well Formed JSON 和 Subsume JSON、並修正了 Array.prototype.sort 和 Function.prototype.toString 的行為。?

點評:Chrome 73 開始這些就預設支援啦,可以先去試試。

  • V8 7.3 釋出,預設支援了非同步的堆疊展現,WebAssembly 的啟動 和 await 更快了、支援了 ECMA 2019 的新特性 Object.fromEntries 和 String.prototype.matchAllAtomics.wake 重新命名為 Atomics.notify?

百寶箱

  • React 16.8 釋出,正式支援了 React Hooks。?

點評:Functional Component 黨喜大普奔,Class Component 黨面無表情,Vue 3 表示也要支援類似的思路

  • Vue 2.6 釋出,使用了更新的 Slot 語法(將與 3.0 一致)以支援動態 Slot 命名,支援了基於 Promise 的非同步異常捕捉,允許直接使用 Vue.observable,支援了 serverPrefetch 鉤子以允許在伺服器端預渲染包含非同步請求內容的元件。?

  • flexsearch 是一個新一代的基於上下文進行全文搜尋的庫,相對同類庫它可以輕鬆平衡記憶體消耗和搜尋精確度,可在瀏覽器和 Node.js 端執行。

專題:Serverless

Serverless 是相對熱門的體系架構思想,它擁有著快速迭代、部署簡單、彈性縮擴容的特性,而把運維、部署的工作轉嫁給平臺來進行處理。
由於 Serverless 跟開源瓜葛相對較小,相關文章很容易淪為各個雲服務的廣告,這裡儘量摘錄平臺無關的資訊。

介紹

本文較為直觀地描述了 Serverless 與 Monolith、微服務在架構上的異同,最後從落地角度比較了利弊。

針對 Serverless 的詳盡介紹,包括 Faas 的狀態管理、執行時間、延遲與冷啟動、閘道器、工具鏈與開源的細節,並與 PaaS、容器化、NoOps 和儲存過程服務進行了橫向比較,最後則詳述了利弊。

相對於上一篇,本介紹更偏應用,也更精簡。簡要介紹了 Serverless 的多個方面並附上了文獻。包含它的優勢,在企業中的落地情況,適合領域,Serverless 與類似服務的簡要對比,服務提供商,及相關文獻彙總。

主要是一個連結列表,集結了 Serverless 的雲廠商服務與相關工具、資源。雖然全面,也暗藏了不少軟文。

詳細研究

17 年的論文,對 MindMup、Yubl 這 2 個早期介入 Serverless 架構的企業進行了案例分析,他們如何降低了 66% - 95% 的開支,最後討論了 Serverless 將如何影響到軟體體系架構的設計。

18 年的論文,描述了 AWS 上 Serverless 應用的主要困境:生命週期限制,I/O 瓶頸,緩慢的資料通訊,沒有完全為之定製的硬體,過度依賴雲平臺服務。

針對 Serverless 的冷啟動,本文詳細測量了終端到終端的不同雲服務、不同語言、不同大小包體的冷啟動時間,並連結了冷啟動相關的文章。另:如果你使用 Node.js,可以用 ncc 把專案打包成單檔案以更快啟動。

本文列舉了相關安全風險:函式事件資料注入,鑑權漏洞,不安全的部署配置,過大的函式或角色許可權,不充分的監控和日誌,不安全的三方庫,不安全的祕密資訊儲存,拒絕服務與資源耗竭,函式操作流控制,不正確的異常處理和冗餘的異常資訊。

OpenLambda 是面向研究者的 FaaS 開源架構,本論文詳細描述了構建這樣一個應用在本地資料嵌合、JIT 優化、包體管理、狀態管理、資金消耗和可移植性的相關挑戰。


編輯:承虎 & 審閱:胡伯 & 專題供稿:承虎

相關文章