Knative 极致 Serverless 体验|学习笔记(一)

本文涉及的产品
Serverless 应用引擎免费试用套餐包,4320000 CU,有效期3个月
函数计算FC,每月15万CU 3个月
简介: 快速学习 Knative 极致 Serverless 体验

开发者学堂课程【通过 Knative 轻松实现应用 Serverless 化交付Knative 极致 Serverless 体验】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/753/detail/13226


Knative 极致 Serverless 体验

 

主要内容

一、目录

二、Serverless 重要性

三、Serverless 特征

四、弹性和按实例数发布的矛盾

五、在 K8s 之上的应用编排抽象

六、Knative 是什么


 

一、目录

会从以下四个方面展开进行介绍

1.为什么需要 Knative

2.Knative Serving 简介

3. Knative 和云的完美融合

4.动手实践

 

二、Serverless 重要性

image.png

Gartner 认为 Serverless 将在2019-2022年成熟,预计到2020将超过20%企业使用 Serverless 计算服务

Forrester 报告显示49%的公司正在使用或在未来1年内将使用 Serverless 计算

O'Reilly Serverless Survey 2019 1500名受访者的调研结果显示40%的受访者所在公司已经在使用 Serverless 技术,超过三分之二的受访者认为他们的组织对Serverless 的采用至少大部分是成功的

Serverless 已经是万众期待,未来可期的状态

serverless 是万众期待的,各种调查报告显示,企业级开发者已经在使用 servlet,构建线上服务,而且比例还在不断增加,在大趋势下,可以看一下演进方向,起初企业上云都是基于VMs方式来使用云资源,企业线上服务都是通过 laas 等工具部署在 VMs 中的,直接启动应用导致线上服务对 vms 环境配置有很强的依赖,伴随着容器技术的崛起,开始通过容器方式在 VM 中部署应用,但如果是十几或者几十个应用需要部署,那就需要在成百上千的 vm 中,快速部署升级应用,这是一件非常令人头痛的事情,而 kubemetes 很好的解决了这件事情,所以现在大多数人通过kubemetes 使用云资源,随着 kubemetes 的流行,各大云厂商都提供了serverless kubemetes 服务,用户无需维护 kubemetes 集群,即可直接通过kubemetes 使用云的能力。

 

三、Serverless 特征

1.按需使用,自动弹性

按需使用云资源,当用量上涨的时候,自动扩容,用量下降的时候自动缩容,所以需要自动弹性的能力

2.灰度发布

要能支持多产品管理,应用升级的时候,可以使用多种灰度发布策略上线新的版本

3.流量管理

流量管理能够管理南北流量,可以按照流量百分比对不同版本进行灰度

4.负载均衡、服务发现

应用弹性过程中自动增加,或者减少,流量管理需要具备负载均衡和服务发现的能力

Gateway (网关)

多个应用在同一个集群中,需要接入层网管,对多个应用进行同一个应用的不同版本进行流量的管理

随着 knative 和云原生技术的崛起,能想到的第一个是是否可以直接在kubemetes上面部署 serverless 应用,下面看一下如果要在原生的 kubemetes 部署 serverless 应用需要做到什么。

 

四、弹性和按实例数发布的矛盾

image.png

首先需要一个 Deployment 来管理 cloud,通过 service 对外包服务,和实现服务能力,应用有重大变更,新版本发布时,可能需要暂停观察,在观察确认没有问题之后,再继续增加灰度的比例,这时候就需要两个 deployment 才能做到,V1代表旧的版本,灰度的时候减少实例数。v2代表新的版本,灰度的时候增加实例数。HP代表弹性能力,每一个 Deployment 都有一个 HP 弹性管理配置,这里面是存在冲突的,假如 V1deployment 有三个 pod,灰度的时候升级一个POD的到V2,此时实例是6/3的流量达到 V2版本以上,但当业务高峰来临时,如果两个版本都配置了apv,那么 V2会同时扩容,最终v2的数量就不是最初设定的1/3比例了,所以传统Deployment发布的实例数和弹性配置天然是冲突的。而如果按照流量比例进行灰度,就不会有这种问题,如果按照流量比例进行灰度的话,可能需要引入 Istio 能力。

image.png

引入 Istio 进行组件,Istio 除了管理同一个应用的流量灰度,还能对不同的应用进行流量管理,这看起来很不错但其实在仔细分析以后,它存在如下几个问题,首先如果是在原生上面进行创建的话,需要做这些资源的管控,Deployment servicehpaingressIstio包括 virtual service gateway 都是需要的,这些资源是每个应用独一份,但是多个应用的话,就要有多份的配置。这些资源散落在kbs内,根本无法体现出应用的概念,另外管理起来也是非常繁琐。

 

五、在K8s之上的应用编排抽象

image.png

1.现状

●用户使用云正在向面向服务的方式转变,弹性越来越重要

●通过 k8s API 实现服务全生命周期管理比较复杂

●需要面向 Serverless 应用的抽象,而不是面向底层资源的抽象

2.提出问题?

如何才能让用户以及上层 PaaS 平台以面向服务的方式使用云的能力?

Serverless 需要的是面向,应用的管理动作,比如进行托管、升级和灰度发布、流量管理以及弹性等能力,而 kubemetes 提供的使用抽象,所以 kubemetes 和之间少了一层应用编排抽象,knative 就是在 kubemetes 上的 serverless 应用编排框架,除了 knative 以外,也设计了好几款 fast,一些编排框架,但是这些框架没有统一的标准,每一套框架都有自己的一套规范,而且和 kubemetes API 不兼容,不兼容的 API 就会造成可复用性性不强。核心标准就是 kubemetes API 标准,knative 管理的 serverless 应用,保持 kubemetes API 领域不变,而和kubemetes API 有更好的兼容性,这也是 knative 特质所在。

 

六、Knative 是什么

Kubernetes-based platform to build, deploy,and manage modern serverless workloads.

基于 Kubernetes 平台,用于构建、部署和管理现代 Serverless 工作负载

Knative 主要是在 Kubernetes 提供通用的 serverless 编排调度服务,给上层的serverless 应用提供面向应用层的原子操作,并且通过 kubemetes 原生API暴露服务 API,保持和 kubemetes 生态的完美融合。

相关实践学习
【文生图】一键部署Stable Diffusion基于函数计算
本实验教你如何在函数计算FC上从零开始部署Stable Diffusion来进行AI绘画创作,开启AIGC盲盒。函数计算提供一定的免费额度供用户使用。本实验答疑钉钉群:29290019867
建立 Serverless 思维
本课程包括: Serverless 应用引擎的概念, 为开发者带来的实际价值, 以及让您了解常见的 Serverless 架构模式
相关文章
|
3月前
|
数据挖掘 关系型数据库 MySQL
Serverless高可用架构的解决方案体验
Serverless高可用架构的解决方案体验
163 6
|
3月前
|
运维 物联网 关系型数据库
关于阿里云Serverless 框架的产品体验
阿里云Serverless框架简化运维,实现5分钟一键部署。弹性伸缩、按需付费等特点让企业专注业务创新,降低成本与运维负担。适用于Web应用、数据分析、物联网等多种场景,支持快速迭代与多语言开发。尽管面临资源配额、网络配置等挑战,其竞争力在于成本节约、功能集成与性能优化,尤其适合追求高效开发与弹性扩展的团队。
94 1
|
3月前
|
关系型数据库 Serverless 分布式数据库
体验Serverless版本,
体验Serverless版本,
42 0
|
4月前
|
弹性计算 运维 监控
体验Serverless架构
体验Serverless架构
|
4月前
|
运维 关系型数据库 MySQL
Serverless高可用架构的体验
Serverless高可用架构的体验
59 1
|
6月前
|
存储 运维 Serverless
我的Serverless实战-Serverless与传统模式的对比
我的Serverless实战-Serverless与传统模式的对比
|
Serverless 数据处理 开发者
serverless 入门与实践47 | 学习笔记: 应用 Serverless 化,让业务开发心无旁骛
serverless 入门与实践47 | 学习笔记: 应用 Serverless 化,让业务开发心无旁骛
251 1
serverless 入门与实践47 | 学习笔记: 应用 Serverless 化,让业务开发心无旁骛
|
运维 大数据 Serverless
极致体验!基于阿里云 Serverless 快速部署 Function
云计算的不断发展,涌现出很多改变传统 IT 架构和运维方式的新技术,而以虚拟机、容器、微服务为代表的技术更是在各个层面不断提升云服务的技术能力,它们将应用和环境中很多通用能力变成了一种服务。但无论这些技术应用在哪里,帮助企业 “降本增效” 是技术变革永恒的主题。
极致体验!基于阿里云 Serverless 快速部署 Function
|
人工智能 运维 自然语言处理
serverless 入门与实践37 | 学习笔记: TapTap 算法平台的 Serverless 探索之路
serverless 入门与实践37 | 学习笔记: TapTap 算法平台的 Serverless 探索之路
207 0
serverless 入门与实践37 | 学习笔记: TapTap 算法平台的 Serverless 探索之路
|
运维 Kubernetes Serverless
Knative 极致 Serverless 体验|学习笔记(二)
快速学习Knative 极致 Serverless 体验
Knative 极致 Serverless 体验|学习笔记(二)

热门文章

最新文章

相关产品

  • 函数计算
  • 下一篇
    无影云桌面