Serverless DevOps最佳实践

  • 什么是Serverless?
  • Serverless能够提供的运维能力
  • Serverless下的运维相比传统的运维的效率
  • Serverless下如何运维。

Serverless直接翻译就是无服务器,但并不是真的不需要服务器,而是把服务器交给云厂商来维护。Serverless平台也都会对业务提供开箱即用的能力,也就是说Serverless会影响到业务运维和系统运维两个层面。

展开查看详情

1.云+社区技术沙龙

2.Serverless Ops 孔令飞 腾讯云架构师

3.个人简介 2013 Red Hat: 虚拟化技术 Xen、KVM 的测试 2015 联想云: KVM 研发 2016 加入腾讯:容器平台 (docker + k8s) & 微服务的架构和研发 2019 腾讯云 Serverless 产品架构师

4.核心诉求 Lifecycle Management 业务运维 VScode Coding 开发工具 DevOps 日志 监控告警 EFK Prometheus 平台运维 Application Architecture Application Monolithic Sprint Cloud System Resource 计算 Serverless 网络 存储 数据库 KVM Docker Tencent Serverless 系统运维 Mysql Ceph

5.目录 Serverless 介绍 什么是 Serverless、Serverless 提供的运维能力 Serverless 业务运维能力 & 系统运维能力 Serverless 和 虚拟机 2 种形态下运维能力对比 Serverless vs. IaaS 运维能力对比 Serverless 和 虚拟机 2 种形态下运维能力对比 Serverless 运维案例 腾讯相册微信小程序运维案例

6.Serverless 介绍 Serverless:云计算新趋势 2014 AWS lambda 2016 Azure Function GCP Cloud Function IBM Open Wisk 2017 Tencent Cloud SCF Ali Cloud FC Firebase

7.Serverless 介绍 什么是 Serverless ❑ 无服务器:不代表真的不需要服务器,只不过服务器由云厂商维护 用户运维 Application ❑ 是一种软件系统架构思想和方法,不是软件框架、类库或者工具 ❑ 核心思想:无须关注底层资源,比如:CPU、内存和数据库等,只 需关注业务开发 Serverless ≈ CaaS + BaaS Serverless 化 / Serverless CaaS (Compute as a Service) 用户运维 System Resource … Cloud Vendor … BaaS (Backend as a Service) …

8.Serverless 介绍 Physical Machine vs. Virtaul Machine vs. Container vs. Serverless Physical Machine Virtual Machine Container Serverless Customer Functions Functions Functions Functions Vender Applications Applications Applications Applications Runtime Runtime Runtime Runtime Containers Containers Containers Containers ❑ 云计算:去基础架构的过程 O/S O/S O/S O/S ❑ Serverless 符合云计算发展的方向 Virtualization Virtualization Virtualization Virtualization Hardware Hardware Hardware Hardware 聚焦业务,快速迭代,提高产品竞争力

9. Serverless 介绍 Serverless 运行示例 示例:腾讯云 Serverless 平台运行 Function Serverless BaaS Computing 本地 函数代码 Fun Fun 开发者 依赖 … Function COS 对象存储 CDB 云数据库 Fun … Fun COS AI 接口 IOT 平台 Ckafka Fun … Fun API GW CMQ 消息队列 API 网关 调用 Function 终端用户 Timer … Fun … Fun Credis 云缓存 …. HTTP

10.Serverless 介绍

11.Serverless 业务运维能力 DevOps 开箱即用 业务运维能力

12.工具建设 工具 ❑ VS Code IDE 插件 ❑ WebIDE ❑ Command Line 功能 ❑ 函数增删改查 ❑ 调试 ❑ 打包部署 ❑ 日志 ❑…

13.DevOps 解决方案

14.Coding DevOps

15.日志 CLS 日志服务 Serverless 平台

16.监控告警 Cmonitor 云监控告警

17.Serverless 系统运维能力 用户 Function Serverless ❑ mvm: 租户级别最强隔离,更低的延时 CPU ❑ docker: 进程级别隔离 ❑ 更细粒度的资源分配,更低的成本 Memory Network ❑ 实时计算扩缩容 云厂商 mvm Docker Docker … process process

18.Serverless vs. IaaS 运维能力对比 基本运维能力 资源创建 业务部署 监控告警 故障排查 核心运维能力 弹性扩缩 故障恢复 性能调优 安全保障

19.Serverless vs. IaaS 运维能力 资源创建 - IaaS 上线申请 需求文档 软件安装 DevOps流水线 开发 申请 审批&排期 安装 部署 开发 开发部门 运维部门 运维部门 运维部门 开发部门 2~3 周 ?

20.Serverless vs. IaaS 运维能力 资源创建 - Serverless 上线申请 需求文档 软件安装 DevOps流水线 开发 ❑ 零资源创建 ❑ 提高研发效率 申请 ❑ 无须运维 审批&排期 安装 ❑ 提高产品竞争力 部署 开发 开发部门 运维部门 运维部门 运维部门 开发部门 2~3 周 ?

21.Serverless vs. IaaS 运维能力 业务部署 虚拟机 容器 Serverless 上传代码 ❑ 运维介入 ❑ 运维介入 ❑ 配置OS环境、业务配置 ❑ 编写 Yaml 文件,对运维人员 ❑ 自己实现蓝绿发布、回滚 有更高的技能要求 Serverless 功能 ❑ 修改Yaml、执行命令,部署 业务

22.Serverless vs. IaaS 运维能力 监控告警 ❑调用次数 网络监控 ❑运行时间 ❑运行内存 ❑并发执行次数 ❑受限次数 业务监控 系统监控 ❑… 应用监控

23.Serverless vs. IaaS 运维能力 故障排查 ❑ 全链路追踪 ❑ 各个维度的监控 ❑ CLS日志服务 一般通过日志排查。 高级功能依赖于插件安装,门槛很高。

24.Serverless vs. IaaS 运维能力 弹性扩缩 虚拟机 容器 Serverless ❑ 小时 级 ❑ 分钟 级 ❑ 毫秒 级

25.Serverless vs. IaaS 运维能力 故障恢复 虚拟机 容器 Serverless ❑ 需要运维实现故障恢复逻辑 ❑ 自动回复,秒 级 ❑ 每次请求都是一个新的实例 ❑ 如果没有故障恢复逻辑,需要运维介入 • 响应慢 有风险

26.Serverless vs. IaaS 运维能力 性能调优 Linux OS Tomcat Runtime 虚拟机 Database Network Database

27.Serverless vs. IaaS 运维能力 安全保障 ❑ 网络隔离 ❑ 执行环境与管理环境隔离 ❑ 函数资源限制 ❑ 文件系统目录限制 ❑ 系统调用限制 ❑ …

28.腾讯相册微信小程序运维

29. 开发流程 安装NodeJS 前端工程师 * 1 购买域名 安装Nginx 前端开发 注册小程序 后台开发 * 2 购买CVM 后端开发 账号 安装MySQL 团队 开始 资源 配置 开发 上线 Team Start Resource Config Coding Online 测试 * 1 注册公有云 域名备案 监控系统 测试联调 账号 申请SSL证书 日志服务 系统运维 运维 * 2 告警系统 ?weeks 2 days 1 week 2 weeks 4 weeks More Than 8 weeks