02.28 如何打造 Serverless JavaScript 全棧商業級應用?

2019 年底我們發佈過一篇《O’Reilly 1500 份問卷調研:2019 年 Serverless 落地到底香不香?》,揭示了海外 Serverless 的落地情況,但中國 Serverless 的落地實踐分享相對較少,似乎誰都在喊 Serverless,誰都不知道別人落地的怎麼樣了。希望通過這篇語雀的實踐文章,大家能管中窺豹,一起探索 Serverless 落地實踐。

語雀技術架構演進

1. 原型階段

語雀誕生於 2016 年,當時螞蟻金融雲需要一個工具來承載它的文檔。當時負責的技術同學利用業餘時間,開始搭建這個文檔工具。項目的初期,沒有任何人員和資源支持,同時也為了快速驗證原型,技術選型上選擇了最低成本的方案。

底層服務完全基於體驗技術部內部提供的 BaaS 服務和容器託管平臺:

  • Object 服務:一個類 MongoDB 的數據存儲服務;
  • File 服務:阿里雲 OSS 的基礎上封裝的一個文件存儲服務;
  • DockerLab:一個容器託管平臺。

這些服務和平臺都是基於 Node.js 實現,專門給內部創新型應用使用,也正是由於有這些降低創新成本的內部服務,才給工程師們提供了更好的創新環境。

應用層服務端自然而然的選用了體驗技術部開源的 Node.js Web 框架 Egg(螞蟻內部的封裝 Chair),通過一個單體 Web 應用實現服務端。應用層客戶端也選用了 React 技術棧,結合內部的 antd,並採用 CodeMirror 實現了一個功能強大、體驗優雅的 markdown 在線編輯器。

如何打造 Serverless JavaScript 全棧商業級應用?

這時可以算作語雀的“原型階段”,它僅僅是一個工程師的業餘項目,採用內部專為創新應用提供的 BaaS 服務和一系列的開源技術解決方案,驗證了在線文檔工具這個產品原型。

PS:當時我還不在語雀團隊,但是巧的是我卻在給語雀提供 Object、File 等 BaaS 服務和 Egg.js Web 框架的支持。

2.如何打造?


分享到:


相關文章: