阿里云 Serverless Kubernetes 的落地实践【内含 PPT】
导读
为什么要做Serverless Kubernetes 如何实现Serverless Kubernetes Serverless Kubernetes 落地实践
Serverless Kubernetes 初衷
1、 Kubernetes
众所周知,Kubernetes 是一款开源容器化编排系统,用户使用 Kubernetes 可以做到降低运维成本、提高运维效率,并且提供标准化 API,某种意义就是避免被云厂商绑定,进而形成了以 Kubernetes 为核心的云原生生态。可以说 Kubernetes 已然成为了云原生业界事实标准。
2、Serverless 与 Kubernetes
那么我们回到 Serverless 上面来,Serverless 的核心理念在于让开发者更聚焦业务逻辑,减少对基础设施的关注。那么我们如何在云原生业界标准之上做 Serverless,Kubernetes 是否也能做到更专注于应用业务逻辑。
在看一下 Kubernetes 做 Serverless 有什么优势前,我们先来看一下 Kubernetes 特性包括哪些:
容器化
统一 IaaS 资源交付
CI/CD 持续集成部署
跨云厂商
丰富的生态
面向应用管理
对应于 Serverless 来说:
事件驱动:Kubernetes 支持 job 类型、并围绕 Kubernetes 提供丰富的事件源
按需使用:Kubernetes 本身支持 hpa 弹性能力
免运维、高可用:Kubernetes 可以通过容器化、统一资源交付很好的支持。
结合这些来看 Kubernetes 实现 serverless,具备天然优势。
如何实现 Serverless Kubernetes
向下如何让用户减少对基础设施的关注; 向上如何更聚焦业务应用。
1、减少对基础设置的关注:IaaS 免运维
原生的 Kubernetes 节点资源需要用户自行维护,为了降低用户维护节点成本,我们提供了托管节点池,帮助用户维护节点的生命周期,但用户还是需要对托管节点池策略进行维护,更近一步在 Serverless Kubernetes 中通过虚拟节点结合弹性容器实例 ECI,让用户彻底摆脱对 IaaS 的运维。
Serverless Kubernetes IaaS 资源免运维包括:
基于容器,安全隔离、高移植
无服务器管理:无需容量规划,对服务器免运维
弹性扩容:秒级扩容,无限容器
按需付费,更高资源利用率
向下我们通过虚拟节点结合 ECI 实现了 IaaS 资源免运维,那么向上如何聚焦业务逻辑呢?其实就是以应用为核心。
2、聚焦业务逻辑:以应用为核心
应用部署 灰度发布 流量管理 自动弹性 可观测性以及应用的多版本管理
在几秒钟内建立可扩展、安全、无状态的服务。 具有更高级别 Kubernetes 应用抽象的 API。 可插拔组件,让您可以使用自己的日志记录和监控、网络和服务网格。 在 Kubernetes 运行的任何地方都可以运行 Knative,无需担心供应商锁定。 开发者无缝体验,支持 GitOps、DockerOps、ManualOps 等。 支持常用工具和框架,例如 Django、Ruby on Rails、Spring 等。
管控组件多,运维复杂 0 到 1 冷启动问题 流量请求 1 对 1 分发
Serverless Kubernetes 落地实践
(2) 解决方案
4、落地实践:事件驱动,精准分发
业务弹性波动,消息并发高。 互动实时响应,低延迟。
总结
Kubernetes 已成为云原生业界标准 面向标准 Kubernetes API 进行 Serverless 编程
IaaS 节点免运维 Serverless Framework (Knative)
异构资源,按需使用 事件驱动,精准分发
推荐阅读
奖励看到最后的你
# 点下在看,并参与留言区互动;
# 然后,在公众号对话框内发送“杯子”,试试手气?
# 本周互动奖品是“阿里云代码马克杯”。