IMWeb 团队隶属腾讯公司,是国内最专业的前端团队之一。
IMWeb 团队专注前端领域多年,负责过 QQ 资料、QQ 注册、QQ 群等亿级业务。目前聚焦于在线教育领域,精心打磨 腾讯课堂、企鹅辅导及 ABCmouse 三大产品。
学习成就梦想,我们希望能用技术改变教育,改变世界。
前言:如今的 Serverless 可以说是一大有潜力的新技术方向,尤其在当下上云的热潮中,Serverless 因其免运维、自动扩容、支持多种编程语言等优势,对前端来说,是一大提升服务开发、维护效率的利器也是可尝试全栈发展的方向,但也因为其新,对落地到团队开发中,结合团队开发流也是遇到了一些挑战,本文将分享 IMWEB 团队对 Serverless 的实践方案
一、IMWEB 团队 Serverless 研发模式的演进与思考
在过去一、两年,我们团队在多个服务项目中尝试使用 serverless,腾讯云 Serverless 提供了一站式服务,通过使用该服务,前端可独立完成接口服务开发,对前端个人而言可往全栈发展,也因此可缓解团队后台人力紧张问题
在开发 Serverless 云函数的过程中,我们也遇到了对比传统服务,云函数开发的一些挑战点
(1)云函数开发特点
前端传统项目的开发流模式相对已经比较成熟,通过 git 协同管理代码, 再通过 CI 来规范项目的部署流程,整个工作流可以查看、回滚代码,部署也做到了自动化
再来看云函数的开发特点:
- 云函数独立的账号和权限管理
- 以函数为单位进行创建、更新和部署
- 创建网关 API 与函数关联,借此可通过网关 API 访问到云函数
以上是最基础的开发云函数三个基础
而云函数的创建、更新有两种方式:
- 腾讯云官网云函数控制台,可视化的操作界面,点击按钮即可创建、更新
- 通过 CLI 创建,SERVERLESS 提供 SDK,调用 SDK 可完成自定义创建、更新操作,其优点为灵活编写,也易于做成工程化
考虑团队的协作,第二种方式通过调用 SDK 的方式因其灵活更适合定