1、导论2012 年,当 Serverless 这个单词第一次出现的时候,仿佛天上一声巨响,一个全新的理念横空出世,给大家带来了非常大的冲击和憧憬。Serverless 的字面意思是不需要服务器,但它不是绝对的,不是完全不要服务器,而是指的不用过多考虑跟服务器相关的问题,计算资源将作为一个服务形式而不是物理硬件的形式出现。白驹过隙,我们已经来到 2023 年,十年多光阴一晃而过,现在的 Serverless已经不仅仅是一个新词,一个热门,一种趋势,它的特性已经融入到了过去十年中整个阿里云产品线发展,考量,完善,实践的各个环节中,成为了阿里云通用产品线不可缺少的一部分能力。2019 年 伯克利大学发
2、布了著名的第二篇云计算发展预测论文(09 年第一篇论文云计算特点全中)-预测 Serverless 是云计算下一个十年的发展方向。至此以后,很多人都坚定地相信云计算的 2.0 是 Serverless 化,大家必须拥抱Serverless,唯有把握住这个新时代的特性,才能拥有更好的明天。而从我个人角度,Serverless 和它所代表的的一些核心理念和特性,不仅仅是只存在于那些标杆性,代表性的 Serverles 产品,比如我们的函数计算 FC,我们的云原生,我们的 API 网关等等产品。拥抱 Serverless 也绝不是说我们用了这些产品就算拥抱,我们没有用到这些产品就不算拥抱,而是它已经
3、融入阿里云中,成为我们阿里云基础设施不可或缺的一部分,它对很多通用产品线的演化起有巨大的潜移默化影响力,大家都遵循 Serverless 所代表的核心理念和特性,把我们的通用产品线做的更好更棒,更适合新一代用户的心智。写到这里我其实稍微有点忐忑不安,大家都知道 Serverless 第一个现象级的代表产品是 AWS Lamada,对标到阿里云就是我们的函数计算产品。它代表了Serverless 所有最典型的特性,它是一个无服务器的全托管的运行环境,客户只需编写代码并设置运行的条件,即可以弹性,安全运行;它会自行维护服务器资源,网络资源,以及消息分发和负载均衡等功能;它是按运行时长计费,不执行不
4、付费,可以帮助客户节省费用,按量付费等等。但是我觉得一个时代的标志,云计算 2.0 的全面拥抱,一定不是仅仅局限在某几个产品上,而是大家真正认可它所代表的这些理念和特性,它应该是体现在云的方方面面,抬眼望去,一直有你。所以接下来希望跟大家分享下我自己理解的 Serverless 三大核心特性以及这三个特性在过去十年阿里云通用产品线中实现的小小演化史。目录页一、弹性之上的弹性-近乎无限的资源.6二、成本之下的成本-按量付费.12三、开箱即用的免运维-全托管服务能力.16结语.23一、弹性之上的弹性-近乎无限的资源6一、弹性之上的弹性-近乎无限的资源1.ACK 弹性的产品演化提到 Serverle
5、ss 绝对绕不开的一个词就是云原生。如果说函数计算,Lamada 引起了大家对 Serverless 的关注,那么云原生就是推动 Serverless 成为云计算新的范式定义的杀手级应用。它真正做到了让企业回归自己的核心诉求,只处理业务,创造收益。阿里云在云原生上最重要的产品有两个:ACK 和 ASK。ACK:托管版 Kubernetes 服务,集群及控制面板由你或者阿里云进行管理。能力强,要管理。ASK:无服务器 Kubernetes 容器服务(ECI),直接部署应用,不用运维和规划。我们今天分享的第一个小例子,不是单纯的 ASK,而是关于 ACK 的产品演化,如何实现弹性之上的弹性,既有管
6、理又有弹性。ACK 集群的节点是由你自己创建并管理,只是 Kubernetes 的控制面板由 ACK 创建并托管。最早的 ACK 集群的弹性是相对受限于你的节点数,你必须是先有节点(物理机或虚拟机),基于节点之上我才能创建出容器的 Pod,节点不够用,我也创建不出更多的 pod,这时必须要手动把新的节点加入到集群才可以。那在很多客户的快速伸缩场景中,客户即希望拥有 ACK 的管理特性又希望拥有 Serverless一样的无限弹性,那要怎么办?产品演化演化演化-我们通过在 ACK 集群创建虚拟节点(Vritual Node)实现与弹性容器实例 ECI 的无缝连接的能力,相当于 ACK+ASK 各
7、取所长。一、弹性之上的弹性-近乎无限的资源7核心操作步骤如下:1)在 ACK 组件管理中安装 ACK Virtual Node 组件2)创建 ECI Pod-给 Pod 添加标签 将以 ECI 方式运行,其节点是虚拟节点。执行以下命令给 Pod 添加标签。kubectl run nginx-image nginx-l Pod。kubectl get pod-o wide|grep virtual-kubeletnginx-7fc9f746b6-r4xgx0/1ContainerCreating020s192.168.XX.XXvirtual-kubelet 一、弹性之上的弹性-近乎无限的资源8
8、通过这种方式,我们可以在 ACK 集群上扩展出海量的弹性能力,但当资源越来越多的时候,它的规模就越来越大。2.Landing Zone 弹性的产品演化规模越大,管理成本就越不一样。它是不能按照简单的线性比例放大的。比如你现在是一家大企业集团,你有很多分公司,但不同的分公司有明确分账,信息不可见,资源隔离等等要求,你很难把所有东西都放在一个账号里,你可能需要拆分成每一个分公司独立的拥有一个账号。当你有一个账号的时候,你的管理,审计,配置,日志,监控,我配置一遍就可以,当你有十个账号的时候,每个账号单独配置你要配置十遍,当你有一百个账号的时候你要怎么办,只是傻傻的配置一百遍吗?账号也可以有弹性,同
9、样的一套管理,审计,配置,日志,监控不仅仅可以只适用单个账号,可以同时适用于多个账号,这就是我们想分享另一个关于账号弹性的故事-LandingZone 多账号解决方案。资源目录-多账号资源管理,以树状结构呈现所有账号间关系及分类一、弹性之上的弹性-近乎无限的资源9操作审计-多账号控制台&API 操作记录配置审计-多账号配置检测一、弹性之上的弹性-近乎无限的资源10企业云监控-多账号资源监控一、弹性之上的弹性-近乎无限的资源11日志审计-多账号日志监控及告警二、成本之下的成本-按量付费12规模不同,管理的成本会大大增加。当多个账号的管理好像一个账号一样方便快捷,如臂使指;你就像拥有了无穷多个影分
10、身一样,可以避免冲突,干多个自己想做的事情,这是一种幸福。每个人都希望自己有个阿拉丁神灯,可以许无穷多个愿望。每个人都希望自己身边有个哆啦 A 梦,什么事情都可以做到,但现实却很难做到。这个世界上最伟大的一种力量叫做时间,不是所有的事情想做就能立马做成。比如平地起高楼,即使你有充足的资金,材料,你也需要最少几个月甚至几年的时间把楼盖起来,不会下一秒楼就盖起来。我们做的事情就是把时间的影响缩短到最低,只要你愿意投入,就可以心想事成,立即实现业务,创造价值-这就是特性一:弹性之上的弹性。二、成本之下的成本-按量付费企业生存的核心诉求是获取盈利,简单说就是要赚钱。在过去十年多的时间里,我们网络产品线
11、也经历了很多非常大的变化,通过帮助用户实现按量计费,节约成本,让用户可以真正的从云计算时代,Serverless 时代获益。1.网络带宽按量的产品演化我相信大家自己都有办过家庭宽带,家庭宽带是根据宽带的大小比如 1000Mbps,按月进行统一计费。你的购买宽带的速率不同,费用不同,影响到的是比如你观看视频的快慢,但是你已经预缴了全月的费用,但你不用的时候,那其实宽带就是在空置的。阿里云上绝大多数的网络产品最初也是按照宽带频率按月计费的模式进行售卖,但我们希望帮助用户节约成本,我们推出了共享带宽和共享流量包,帮助大家平摊流量,避免浪费,最大限度节约成本。二、成本之下的成本-按量付费13除此之外,
12、我们还希望进一步帮助客户实现成本之下的成本,很多网络产品的计费除了在原来按月计费模式之外,还推出按量计费模式,可以让客户真正根据自己的使用量进行计费,用多少计多少,不用不计费。比如我们的 GA 全球加速产品,在 2023 年在原来只有预付费的基础上,推出了按量计费的新计费模型,可以根据实际使用量进行付费。(全球加速(Global Acceleration)是一款网络加速产品,依托阿里巴巴优质 BGP 带宽和全球传输网络,帮助网络服务实现全球范围内用户的就近接入.)二、成本之下的成本-按量付费14充分利用已有资源,按量付费,就是对客户的最大尊重。2.网络计费按量的产品演化除了在计费模型上包月和按
13、量这种模式上的变化之外,在具体的计费方法上,我们也做了很多的演化,在原来的固定带宽计费基础上,推出了几种不同的按量计费模型,客户可以根据自己的实际情况,选择最适合自己的方式。简单跟大家说下几种按量计费方式的区别:1)按量计费-按带宽计费跟传统的包年包月相比,最大的区别在于计费时长为小时,计费粒度为当日最大带宽峰值。费用=带宽单价(元/天/Mbps)计费时长(小时)/24(天)当日最大带宽峰值(Mbps)。假设,带宽单价为 3.12 元/Mbps 计费时长 2 小时,当日峰值 20Mbps,费用=3.12*2/24*20=5.2 元。2)按量计费-按增强型 95 计费增强型 95 带宽计费是一种
14、只需预先支付少量保底带宽费用,即可享受多倍弹性峰值带宽,二、成本之下的成本-按量付费15并在月底按多次去峰后的带宽峰值和实际使用时长收费的计费模式。可以把某些极特殊的峰值去掉,帮助客户得到一个相对实惠的平均成本。总费用=保底带宽费用+月峰值带宽(去保底)费用。保底费用相对比较便宜,但是需要您去承诺一定支付,月峰值可以相对平均得到一个真实付费带宽值,避免一些极特殊情况的出现。下面是月峰值带宽的计算方式:3)按量计费-按主流量计费按主流量计费即在一个计费周期内,取共享带宽实例的入方向和出方向中流量较大的为主流量,对主流量进行计费,计费周期为 1 小时。比如说我的出方向流量为 100M,入方向的流量
15、为 200M,那么按照主流量为 200M 进行计费。我一直觉得谈钱不俗,所有完全不考虑费用的设计和理念都会被不会长久。我们在过去十三、开箱即用的免运维-全托管服务能力16多年的演化过程中,跟用户一起成长,帮助客户节省费用,把更多的精力和预算放在自己的业务上,我们希望我们所有的用户都可以共享到云时代的红利,都挣到钱。这就是 Serverless 的特性二:实现成本之下的成本-按量计费。三、开箱即用的免运维-全托管服务能力全托管的免运维服务能力一直都是 Serverless 最吸引大家使用的特性之一。就像家里的装修一样,毛坯房和精装房差异之大,有目共睹。毛坯房如果要装修完,需要大量的时间和精力的投
16、入,耗时耗力。在这一点上,我们的产品演化也吸取了很多客户的建议,把之前很多需要客户单独配置,复杂实现的事情,逐渐产品化,开箱即用的提供给客户,真正实现了业务先行,价值实现。1.权限控制的产品演化阿里云最早的权限控制就是通过单账号的访问控制 RAM 实现。通过 RAM 用户和 RAM 角色的权限策略配置,实现账号访问控制的有效管理。随着部分企业用户对阿里云的使用越来越深入,他逐渐拥有了多个账号,每个账号都要单独配置一遍 RAM 权限,对它来说,运维和管理的压力变得越来越大。我们的产品进行了第一次演化,RAM云 SSO。云 SSO 可以支持针对多账号的用户权限统一配置,权限只需要配置一遍,就可以针
17、对多个三、开箱即用的免运维-全托管服务能力17账号发布。当我们可以使用同一套权限管理多个账号的时候,有的客户希望实现更多的管控流程,比如添加购买资源的审批流程,比如限制可购买的资源种类等等,之前大多数是通过对接客户自己的 ITSM 管理软件去实现,但还是会有比较多的开发和改造的工作去做。从去年开始,我们有了新的产品服务目录可以全托管的实现云管平台的能力。三、开箱即用的免运维-全托管服务能力18三、开箱即用的免运维-全托管服务能力19通过从 RAM-云 SSO-服务目录产品的不断能力演化,避免客户自定义开发和沉重的管理负担,真正去实现客户想要的功能可以开箱即用免运维。同样的事情还发生在我们很多其
18、他的产品线,这是我们坚定去做的一件事。2.API 能力的产品演化最后想分享的一个例子是关于 API 的演进,自动化是客户实施云战略的重要部分,而 API又是其中的重中之重。阿里云的 API 演化从最开始的 OpenAPI,到支持一致 API 管理阿里云基础设施的 CCAPI(Cloud Control API),再到具有极强通用性基于 terraform 声明式 API 的 IaC 自动化服务台,其实是一步一步地完成了 API 能力从阿里云单产品-阿里云多产品-多云产品的演化。OpenAPIOpenAPI 是阿里云最早提供 API 产品能力,也是支持最全面的 API 产品,你可以在直接Open
19、API 的门户网站进行调用和调试。三、开箱即用的免运维-全托管服务能力20OpenAPI 是基于阿里云各个产品开放的 API 参数,对客户使用来说,需要熟悉各个产品不同的参数调用,那这时候,很多客户就希望可以使用一致性的 API 管理阿里云上的资源,这也是 CloudControl API 由来的愿景。三、开箱即用的免运维-全托管服务能力21当很多客户提出希望使用开源的 Terrafrom,以声明式的方式实现资源的持续自动化管理的需求时,我们的 IaC 自动化服务台就应运而生。它借助了 terraform 强大的开源能力,可以使用同一套标准对多个环境进行持续管理。同时,它最有价值的一点在于我们
20、已经将很多阿里云上常用的自动化流程以模板的形式沉淀下来,同时开放给所有用户来使用22我们的API能力也是经历了 OpenAPI-CC API(Cloud Control API)-IaC自动化服务台(Terraform)的演化。在这个快速迭代发展的社会中,我们最需要的其实是把事情快速做成的能力,把之前很多需要客户单独配置,复杂实现的事情产品化,快速提供给用户。这也是 Serverless 的特性三:开箱即用的免运维-全托管能力结语23结语通过上面分享的六个小例子,相信大家都看到 Serverless 的特性带给阿里云的这些实实在在的变化,最后我想用 2022 年阿里云-云栖大会上的一句分享作为结语:“以云为核心的新型计算体系正在形成,软件研发范式正在发生新的变革,Serverless 是其中最重要的趋势之一,阿里云将坚定推进核心产品全面 Serverless 化,帮助客户更好地实现敏捷创新。”金诚所至,金石为开,全面拥抱 serverless 时代,使命必达。