本文是 serverless 入门与实践 的第2篇, 是学习笔记的第2篇
Serverless 前端落地与实践
王俊杰
腾讯 Serverless 前端技术专家。 负责腾讯云函数与大前端研发结合方案设计,负责 SCF 云函数编排、 Serverless 日志、监控、排障等相关 Topic。
同时担任腾讯云 Serverless 技术推动者,推动 Serverless 技术在行业大前端 研发架构中的落地和实践。 曾担任百度搜索前端技术经理,负责百度搜索产品前端研发技术管理工作。
前端与 Serverless 的不解之缘
Put simply, serverless computing = FaaS + BaaS.
算力 算法 数据
无服务器云计算(Serverless Computing)几乎封装了所有的底层资源管理和系统运维工作,使开发人员更容易使用云基础设施。
Serverless 它提供了一个方式,极大地简化了基于云服务的编程,犹如汇编语言到高级编程语言般的转换。
Full stack Developer: Enhancing the business efficiency.
Time to market:
- 界面/交互/业务逻辑: 用户界面 交互动效 业务功能
- 产品化: 速度性能 可靠性 安全性 可扩展性
- 运维: 容量 业务监控 异常报警 运维
Serverless 前端工程化的基本思路
组件化 -> 工程化 -> serverless?
- 组件化: Vue react angular
- 工程化: grunt gulp webpack
- serverless: Framework or not framework ? That’s a question !
IVWEB 团队在 Serverless 的业务落地: Serverless 直出渲染(Serverless Render)
- CLient
- NGW 接入层: 业务转发 灰度 鉴权 统计
- Apigateway: 云函数网关
- 云函数同构环境: Init.初始化同构环境 Koa.业务逻辑
- 返回结果
接入产品: 手机QQ附近、NOW直播、花样直播、QQ群
- 腾讯云 SCF + NGW
- 免运维 全量日志 多维度数据统计 云 API 打通工作流
- 业务上线 & 维护工作量 降低 80%
IVWEB 团队在 Serverless 的业务落地: NOW直播B侧运营平台
- 接入层(鉴权 & 分发)
- Create Update Retrieve Delete
- Backend Micro Service
- Datasource Service
从BFF到SFF
- 提高迭代效率
- 按需取用,用完即走
- 分离部署,安全可靠
- 细粒度的业务逻辑拆分
Serverless Framework: 代码重用 | 统一规范 | 降低门槛和难度 | 专注业务逻辑 | 社区优势 | 易于维护 | 提升效率
Serverless的开发模式
- 应用层: REST API BFF SSR Website Full-Stask APP ...
- 研发团队
- 云服务
Serverless Framework 原理与实现
Serverless Framework
- 组件化开发 -> 客户应用
- 标准化框架 -> 云服务
- Serverless 应用生命周期管理
- 服务的部署/删除/查看/回滚
- 调试
- 查看日志
- 统计运行数据
- DevOps 支持
- Serverless应用
- 标准化框架
- 组件化开发
- Serverless 资源: 无缝对接腾讯云 Serverless 资源
- Serverless Framework CLI
- Serverless Components
- Serverless Full-stack Application: 通过组装集成组件形成高阶组件
Serverless Now
a Website: express egg koa
- HTTP Server
- HTTPS SSL 证书
- 对象存储COS
- CDN
- Domain CNAME
- 进程监控/自动重启 • 防攻击/DDos
- 日志清理
- 数据分析/日志挖掘
What’s next?
- 实时日志
- 远程调试
- Serverless DB
- 监控平台
总结
前端: 组件化 -> 工程化 -> Serverless Framework
Austen
CEO and founder of serverless.com
Serverless is the future of the cloud. Serverless is like superpowers for developers. We believe the future is all about developers and serverless especially empowers developers because it enables them to build more manage less.