Serverless的特点和优势是什么
Serverless的特点:1、低成本;2、按需计费;3、自动扩缩容;4、“绿色”计算;5、事件驱动;6、No0ps;Serverless的优势:1、低运营成本;2、简化设备运维;3、提升可维护性;4、开发速度更快。所谓的低成本是指运营成本,用户可以缩短开发周期,降低开发难度。
一、Serverless的特点
1、低成本
运营成本,Serverless将用户的服务器,数据库,中间件委托于BaaS/FaaS,用户将不再参与基础设施及软件的维护,尤其在大规模的集群运营上成本大幅度降低。开发成本,对比IaaS或者PaaS平台的服务器或者操作系统,Serverless的架构中,用户操作的是服务化的组件比如存储服务,授权服务等,可以缩短开发周期,降低开发难度。
2、按需计费
Serverless/FaaS区别于IaaS/PaaS预先分配计算资源的计费方式,其计费方式通常是按请求次数及运行时间,一方面可以最大程度利用资源,另一方面真正的按需计费可以降低用户的资源成本。
3、自动扩缩容
用户无需关注 FaaS 函数的水平扩展,Serverless 平台会自动根据调用量扩展运行代码所需要的容器,轻松做到高并发调用。函数即应用,各 FaaS 函数可以独立地进行扩缩容,粒度小扩容快。
4、“绿色”计算
据统计,商业和企业数据中心的典型服务器仅提供5%~15%的平均最大处理能力的输出,本质上这是对社会资源的一种浪费。而在Serverless架构下,提供商将提供更细力度的计算能力最大限度满足实时需求,资源利用率将大幅度提升,可以认为相对IaaS与PaaS Serverless/FaaS是一种 “绿色” 计算。
5、事件驱动
FaaS函数是短暂且临时的,用完就销毁,FaaS函数在接收请求时产生资源消耗,不使用就没有消耗,用完资源后就会马上释放。
6、NoOps
计算资源服务化,用户通过 API 使用计算资源,以用户算法代码为核心,不关注基础设施的部署,Serverless 是把 Ops 外包给第三方平台,让 Dev专注于业务逻辑的实现而不用操心 Ops 相关的工作。
二、Serverless的优势
1、低运营成本
在传统应用系统的部署实施中,必须按业务峰值需求来构建业务系统,但在大部分时间里该业务系统是空闲的,这就导致了严重的资源浪费和成本上升。在 Serverless 架构下,不同用户能够通过共享网络、硬盘、CPU 资源,峰谷时按需自动缩容,按调用次数收费,不调用不收费,有效节约企业成本支出。
2、简化设备运维
在 Serverless 架构中,开发人员面对的将是自定义或者第三方开发的 API 和 URL,云厂商部署好底层基础设施与运维设施,让开发人员专注于核心代码和应用的开发。
3、提升可维护性
目前,一些公有云服务中提供了大量的服务,如登录、鉴权服务,云数据库服务等第三方服务,它们在安全性、可用性、性能方面都进行了大量优化,在 Serverless 架构下,第三方公司集成了各类服务,运维服务的有效性得到很大的提升,降低成本。
4、开发速度更快
由于开发人员仅需专注于业务逻辑功能的开发,无需关心应用系统部署、调度、流量分发、弹性伸缩等功能的研发,软件架构和软件功能实现都大大简化,不仅节省开发时间,更可提升开发效率,降低开发难度。
拓展阅读
几种常见的serverless
- Google Cloud Functions
- Azure Funcions
- IBM OpenWhisk
- 阿里云函数计算
- 腾讯云服务器云函数