云原生(14):再议无服务器计算的核心特性

Posted 01WORLD

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了云原生(14):再议无服务器计算的核心特性相关的知识,希望对你有一定的参考价值。

看了上一篇的无服务器计算概述,可能还是会有点迷糊,本篇再次来讲述一下无服务器计算的几个核心点。

1. 无需管理服务器主机或进程

这是Serverless这个单词的主要含义,开发者无需关心服务器的状态,只要构建应用程序即可。但是Serverless != Server Free,这只是说不用去管理服务器主机的状态,不等于程序不在服务器上运行。服务器的状态交由专业的人员去负责而已。

2. 基于负载进行自我自动缩放和自动部署

传统的应用程序部署时,都会有一个硬件的基本配置和推荐配置,只有满足了这些硬件条件,才能在上面安装操作系统,然后部署应用,应用才能正常运行。

但是在Serverless中,这个工作交由Serverless平台负责,它会根据当前请求的负载来自动缩放应用部署。如果没有负载,则把现有的部署全部释放;如果负载较重,现有部署无法满足,则自动增加部署规模,以满足负载需求;如果负载较少,现有部署较多,则释放部分部署,只要满足负载需求即可。

这种策略既节约了资源成本,也节约了人工成本。

3. 细粒度的成本核算

传统模式下,我们可以托管服务器到IDC,后来出现了公有云,可以按照虚拟机计费,再后来出现了容器,可以购买一台虚机拥有多个容器。这种变化的明显特征是成本粒度的逐渐细化。在Serverless平台上,我们可以更细粒度的核算成本:按请求数量或者按照秒来计费。这样,如果应用没有负载,则不需要付费。

4. 隐式高可用性

高可用性是我们最期望的一个特性,也就是说我们不想去关心系统的高可用,我们只专注于应用开发。而Serverless平台的自动部署自动缩放的要求,必然要求Serverless平台本身具备高可用性。

这一点与虚拟机集群的高可用性类似。我们现在还有很多系统在虚拟机集群中分配多台虚机进行高可用的配置,这实在太牵强了。虚拟机集群本身启用高可用性后,如果某台物理机出现问题,则在该物理机上虚机自动切换到其他物理机上,从而实现了虚机的高可用性,也就实现了应用系统的高可用性。同样的道理,Serverless平台底层的高可用性,确保了其上的BaaS和FaaS的高可用性。

5. 性能描述的问题

这一条不能算是优点,但属于Serverless的特征,也是服务提供商需要指明的特征。前面提过可以按照请求数量和请求时间来计费,可是后端提供的性能指标是按什么来定性的呢?我们运行在i5和i7,内存128GB和512GB上的区别,又应该如何来体现呢?这是各大服务提供商需要考虑的内容,而且各项服务因其内容不同,指标也就不同。可以约定以内存数量、CPU资源、网络资源等指标来定性,也可以像数据库服务以后端存储规模来定性,存储可以按照规模和IOPS来定性。

总之,Serverless是我们摆脱了对服务器主机的几个核心指标的考虑,我们需要使用其他的方法来描述配置性能指标。

总结

这五个特性是我们在理解Serverless时所要掌握的几个内容,其他的都是基于此进行的详述或者另一种形式的表达。

同学们可以多读多思考,可以看看Mike Roberts和John Chapin一起撰写的《What Is Serverless》。




接下来向大家推荐《云原生架构进阶实战》这本书。该书是我本人撰写的,历时数月,多次修改,在机械工业出版社出版。该书聚焦于云原生架构的理念和基础知识,并通过实战向大家讲解和展示云原生架构的魅力。该书第一遍需要几分钟即可读完,第二遍需要两到三天读完,第三遍以后,可以作为工具书来翻阅,之后可以品位其中的思想精髓。值得您购买。点击“阅读原文”即可进入网上商城的购买页面。






以上是关于云原生(14):再议无服务器计算的核心特性的主要内容,如果未能解决你的问题,请参考以下文章

docker基本管理

云原生 | 从零开始学istio二Istio核心特性与架构

云原生的驱动力与核心要素

云原生架构师的十大核心能力

云原生的应用特性及关键技术

云原生训练营模块一 Go语言特性