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 在线编辑器。
这时可以算作语雀的“原型阶段”,它仅仅是一个工程师的业余项目,采用内部专为创新应用提供的 BaaS 服务和一系列的开源技术解决方案,验证了在线文档工具这个产品原型。
PS:当时我还不在语雀团队,但是巧的是我却在给语雀提供 Object、File 等 BaaS 服务和 Egg.js Web 框架的支持。
2.如何打造?
点击文末了解更多查看。