有幸参加了 KubeCon 2019 上海大会, 并参加了 Knative 及 Serverless 相关的几场分享会, 收获满满. 这里简单介绍一下各个演讲主题的主要内容. 详细的演讲主题文档可以在 KubeCon 官方获取: https://kccncosschn19chi.sched.com/2019-06-25/overview
Knative 及 Serverless 相关会议
加速: 无服务器平台中的冷启动优化
时间: 上午 11:00~11:35
该主题主要从 4 个方面介绍了 Serverless Cloud Function 中如何优化函数服务的冷启动问题.
轻量级 VM: 基于 QEMU 构建更轻量级 VM, 预置 VPC 路由信息, 基于 VM 模板生产 VM / 容器实例.
代码缓存: 两级缓存 Function 代码. 1. 节点缓存; 2. Zone(机房)缓存
实例预热: 1. 通过算法预先扩容实例; 2. 提前加载函数依赖
VPC 网络加载: 通过在代码创建时(而不是代码运行时), 创建网络代理, 提前申请 ENI, 缩短函数运行时网络绑定耗时.
利用 Knative 发展深度学习平台
时间: 上午 11:45~12:20
该主题主要介绍了如何利用 Knative 重构了深度学习平台.
利用 Tektoncd-pipeline(接下来会替换 Knative Build) 替换原有的镜像构建方式, 通过 Task 构建镜像
利用 Knative 的 Route 进行流量调配, 满足灰度发布等需求. 利用极致弹性能力实现自动扩容.
自定义 autoscale. 可自定义 autoscale, 满足不同的弹性策略使用场景
处理冷启动问题. 1. 升级 istio, 解决 sidecar 注入延迟. 2. 提前拉镜像. 3. activeror 接收到请求时, 就提前进行扩容处理.
资源层面, 通过 Virtual Kubelet 构建资源池, 满足 serverless 按需分配资源需求.
提到了 Knative 与 Edge. 实现边缘端极致弹性.
利用 Knative Eventing 构建基于事件的业务处理.
Knative Serving 内部介绍
时间: 下午 13:35~14:10
从灰度发布场景出发, 对比 Kubernetes 中的实现方式, 由浅入深, 介绍了 Knative Serving 中 Service,Configuration,Route,Revision 角色的作用. 最后介绍如何通过 Knatvie Serving 中实现灰度发布.
CNCF CloudEvents 项目: 迈向无服务器互操作的一步
时间: 下午 14:20~14:55
来自 IBM 的 Davis 介绍了 CloudEvents 的诞生及发展, 以及 CloudEvents 协议内容. 通过 CloudEvents 统一了事件的标准, 并且促进系统直接跨平台的集成.
最后演示了一个基于 CloudEvents 事件驱动的动画 Demo, 不同的 Coffee 屋供应商可以基于统一的事件模型进行驱动, 体现事件的互操作系. 很有意思.
通过 Knative 和 Apache Camel 构建云集成应用
时间: 下午 15:05~15:45
该主题主要介绍了如何将 Apache Camel 与 Knative 结合使用的场景. 通过 Camel-K 事件源接入 Camel, 接收消息事件进行处理
CNCF 无服务器工作组: 我们要发展到哪里
时间: 下午 16:00 ~16:30
来自 IBM 的 Davis 继上面的 CloudEvents 演讲之后继续分享了无服务器工作组接下来的发展方向. 针对事件处理的缺乏编排方式, 接下来构建 Workflow 工作流 (Event 事件编排) 是无服务器工作组的方向. 如下图 Workflow 处理流程:
在无服务器平台 Apache OpenWhisk 上创建物联网应用
时间: 16:45 ~17:20
最后听了一场关于无服务器平台与物联网结合的场景, 来自 IBM 的演讲嘉宾分享了开源的 Serverless 平台 Apache OpenWhisk 如何与物联网进行结合.
处理数据格式. 通过 OpenWhisk 进行数据格式转换, 过滤清洗等
数据存储后的处理. 通过 OpenWhisk 事件驱动调用服务进行处理(如数据分析, 机器学习等)
流数据检测. 对检测到的异常事件进行告警等
边缘计算上的 Serverless 能力. 这部分还在探索中, 如针对跨云端和边缘的业务进行统一事件驱动的能力
感想
从本次 KubeCon 会议上 Serverless 及 Knative 的议题及观众来看, 关于无服务器(Serverless) 标准的制定, 实际场景的应用以及未来的发展正在引起更多的关注, 而作为 CNCF 标准 Serverless 编排 --Knative, 也开始初露锋芒. 相信接下来会有更多的企业及用户参与到 Serverless 的探索与实践.
来源: https://yq.aliyun.com/articles/706537