QCon北京|3天沉浸式学习,跳出信息茧房。 了解详情
写点什么

沉寂多年,无服务器爆发,其硬核是什么?

  • 2019-08-30
  • 本文字数:3051 字

    阅读完需:约 10 分钟

沉寂多年,无服务器爆发,其硬核是什么?

和大多数 IT 热词一样,无服务器自诞生以来,一直处于不温不火的状态。可就在今年忽然爆发,令人惊讶,也有技术专家称之为“临界点”来临。如果这样的话,无服务器将迅速与其他技术相融合,成为新型部署方式。


不要盲目乐观。IT 热词之所以“热”,是因为它从来不是单独发展的,而是建立在云、大数据、容器等技术的成熟度之上。从这样的角度来看,无服务器是“云计算的一小步”,不断驱使云计算更加完善,进入千百行业,服务用户。


那么,究竟什么是无服务器技术,它是如何发展的,它的优点、缺点是什么,对企业的价值在哪里?本文将全面梳理。

潮流来了,覆盖率或达 38%

在定义无服务器之前,先看一下业内的趋势。


以去年 8 月 CNCF(Cloud Native Computing Foundation,云原生基金会)的一项调查为例,无服务器的应用正在快速增长。38%的企业表示目前正在使用无服务器技术,这一比例较以往的 31%有所增加,其中 32%的企业采用托管类无服务器平台,6%的企业采用安装类无服务器平台。


调查中,部分受访者目前仍未采用无服务器技术,这一比例从过去的 41%下降到了 37%。但是,另外有 26%的受访者表示,计划在未来 12 至 18 个月内使用无服务器技术。


这项调查还对可安装类无服务器平台市场的使用情况做了具体研究,其中 Kubeless 占比最大,达到 42%;Apache Open Whisk 和 OpenFaaS 分别居于第二、三位,占比达 25%和 20%。


除了安装类无服务器平台外,托管类无服务器平台也是一大选择,具体的市场分布情况在这里不一一赘述,详细情况可参考下图。


数据来源如下。


https://www.cncf.io/blog/2018/08/29/cncf-survey-use-of-cloud-native-technologies-in-production-has-grown-over-200-percent/


据了解,本次调查覆盖 2400 名人员,其中包括 49%的开发人员、36%的运营人员、11%的 IT 经理以及 14%的开发经理。


事实证明,无服务器潮流已来。

什么是无服务器?

既然无服务器是未来的一个趋势,那么,什么是无服务器?


我们稍微回顾一下历史沿革。在 2009 年,业内提出 DevOps 理念,指向敏捷开发、运维和协作的方向。在 2011 年,有机构预测 DevOps 将发展成为 NoOps,也就是未来不需要运维人员。直到 2014 年,该概念才进一步得到了扩展,落实到企业。


根据定义不同,业内通常有几类简称:


  • FaaS:函数即服务(Function-as-a-Service,FaaS),或译为功能即服务。

  • BaaS:后端即服务(Backend-as-a-Service,BaaS)

  • MBaaS:移动后端即服务(MobileBackend-as-a-service,MBaaS)

  • CaaS:容器既服务(Containers-as-a-Service,CaaS)

FaaS 的优点和不足

业内通常以 FaaS 来定义无服务器,它有几个鲜明的特点。


首先,它同云计算一样,演变成为服务。开发者无需购买硬件资源,更不用关心硬件的配置环境、物理设备和虚拟服务器,只需关心代码的运营转态是否高效。


其次,这种代码可以与传统服务器代码混用,也可以编写不需要任何服务器配置要素的应用程序。


第三,FaaS 将更多的运维压力交给了第三方云厂商,由第三方管理服务器(物理或者虚拟)的运营状态,特别是在多租户的情况下确保运营的高效、稳定和安全。


第四,与容器、微服务的概念和应用密不可分,越来越趋于融合。


但是,正如所有的技术都有不足一样,无服务器的这种完全依赖于第三方云厂商的技术还存在明显的不足。


首先,对云厂商的要求提高。这意味着寻找可靠的第三方云服务商尤为重要,毕竟安全问题、多租户问题、供应商锁定、API 调用、功能缺失等基础设施方面的功能都取决于云厂商。


第二,评估和测试工具。如何确保程序能顺畅运营在第三方提供的无服务器环境中?是否有一些评估标准和指标?通常来说,就是基于何种标准来评定云厂商的环境更好更优?


第三,实施的困难。这并不指程序能否运行,而是指程序集成、封装的难度增加。由于只能是运行某一类功能,并且也无法实现“原子回滚”,程序的稳定性就更为重要了。

无服务器是否可以“包打天下”?

所有技术都有其适用的场景,无服务器也并不是“包打天下”,它主要应用在以下这些范围。


▷ 函数计算 有人把无服务器也称之为函数即服务,因为其轻量级适合无状态应用程序和函数式编程模型,包括应用程序的编程接口发布、查询响应,面部识别和语音识别等。对于百度智能云这样专注在 AI 应用的云服务厂商来说,能够迅速提供这种服务,AI 功能与之的匹配性更有优势,也有专门的函数计算产品 CFC。


▷ 边缘计算 边缘计算的核心是将一部分数据放在边缘节点收集、存储和处理,具有轻量级,数据量大、功能较为单一等特点。这也是无服务器领域一个较为广泛的应用,可以与边缘计算的存储产品相结合。


▷ 某些数据的工作负载 如果只具有某一类型功能,并不需要太多的数据交互功能,那么像高性能计算、商业智能、建模、基础科学研究等都是应用的场景。


从这几点来看,无服务器之所以流行是由执行任务单一、数据轻量、部署简单的特性决定的。如果真要大规模落地,必然会推翻现有的诸多技术架构,尤其是编写代码的方式。

对企业的好处是什么?

通常来说,新技术之所以能被应用,是因为具有降低成本、减少人力和让 IT 团队更敏捷等优势,这些无服务器技术都具有。


使用无服务器技术就如当前我们使用云计算一样,按照实际的使用情况来计费,而不是按照预留的计算资源来计费。这也是无服务器技术的本质——功能既服务,这是在平台即服务(PaaS)甚至是容器即服务(CaaS)之上发展衍生出的一种服务形式,没有脱离云计算的商业范畴。


在一些研究机构中甚至认为,无服务器技术可以为企业节省 70%~90%的成本,这要取决于具体环境。也有人认为这种想法过于乐观。


当然,由于不用关心硬件、配置环境和运营,无服务器技术会让开发者的敏捷性提高。DevOps 最终演变成 NoOps,就会减少人力,让企业的开发人员专注在代码方面。但这一愿景一时半刻还实现不了。目前可见的好处是,会让开发具有更快的开发速度和更低的成本。

临界点已到,未来该走向何方?

无服务器技术始终在不断演进的过程中,应用也不断增多。福布斯技术委员会认为,采用无服务器应用已经到了一个临界点。他们预测,2019 年无服务器技术将有如下几个重要趋势。


标准化 越来越多有关于无服务器技术的标准将出台,这将确保各个平台之间具有更好的移植性和互操作性。以 CNCF 为例,已经将相关标准列入日程中。标准化的好处在于,促使越来越多的厂商加大创新力度,这也是技术成熟的一个象征。


编排服务 目前,各大厂商之间的无服务器联盟正在形成。除了百度智能云之外,谷歌和 IBM 等公司也推出了 Knative 的开源框架。试图基于 Kubernetes 之上实现无服务器、服务网络和容器之间的统一,并形成一个云应用的编排平台。这可能也是趋势之一:容器和无服务器正在并行发展,最终将统一。


融合加快 无服务器让应用程序呈现分布式状态,在开发速度、模块化方面都有优势。但在一致性、完整性和运营方面还有缺点。未来,企业将会越来越多的要求统一管理云资源——包括网络、公有云和私有云的资源,从不同的颗粒度来控制,这将为无服务器的应用迎来新的转机。


更复杂的测试工具 为了确保这种基于微服务的应用顺利通过测试,将会出现更多复杂的测试工具以应对测试挑战。可能包括集成测试、基于应用的关键组件的测试等。


当然,这些趋势还包括安全性、提高交付的速度和稳定性等,这是任何新技术出现或者在应用之前都需要考虑的问题。所有问题并不是一蹴而就的,需要在实践中慢慢得到解决。


百度智能云,聚焦人工智能(AI)、大数据(Big Data)、云计算(Cloud Computing),以“ABC”三位一体战略,帮助企业客户实现数字化、智能化转型。百度智能云,计算无限可能!


2019-08-30 20:014239

评论

发布
暂无评论
发现更多内容

测试部门的职责定位

BY林子

软件测试 敏捷测试 测试转型 测试部门职责 测试定位

科普达人丨漫画图解SGX加密计算黑科技

阿里云弹性计算

加密计算 TEE

Qt | 定时器实现动画效果时卡住了

YOLO.

c++ 定时器 qt 动画效果 7月月更

Qt实现音频播放

小肉球

qt 7月月更

spark调优(四):瘦身任务主体

怀瑾握瑜的嘉与嘉

spark 7月月更

【C语言】进阶指针One

謓泽

7月月更

LeetCode-141. 环形链表(java)

bug菌

Leet Code 7月月更

【Python技能树共建】python autoscraper 模块

梦想橡皮擦

Python 7月月更

Android adb常用命令

沃德

android 程序员 7月月更

java零基础入门-Java反射机制

喵手

Java 7月月更

非Vuex实现的登录状态判断封装

猪痞恶霸

Vue 前端 7月月更

ORACLE进阶(七)存储过程详解

No Silver Bullet

oracle 存储过程 7月月更

Qt|使用QWebEngineView加载HTML使用及问题

中国好公民st

qt 7月月更

实现 ABAP 条件断点的三种方式分享

汪子熙

debug SAP abap Netweaver 7月月更

一种基于 HiveMetaStore 的跨源查询方案实践

移动云大数据

hive JDBC

JavaWeb Dubbo使用

沃德

Java 程序员 7月月更

基于物联网设计的老人防摔倒报警系统(华为云IOT)

DS小龙哥

7月月更

ABAP 编程语言中 Class(类)的设计原理剖析

汪子熙

服务器 SAP abap Netweaver 7月月更

iOS中类的本质及其存储

NewBoy

前端 移动端 iOS 知识体系 7月月更

Java应用的优雅停机总结

陈德伟

Java tomcat Spring Boot web开发 优雅停机

CRMEB 单商户 v4.0 升级,稳得很!

CRMEB

数字化需要安全沙箱技术与零信任架构

FN0

安全 数据安全 零信任

不习惯的Vue3起步一

空城机

Vue3 7月月更

Web预览附件

源字节1号

软件开发 前端开发 后端开发 小程序开发

恭喜,成功入坑 GitHub 。。。

攻城狮杰森

git GitHub IP DNS 7月月更

并行计算的量化模型及其在深度学习引擎里的应用

OneFlow

深度学习 模型

恭喜这2个大模型开源项目进入OpenI启智社区孵化培育管道

OpenI启智社区

人工智能 开源 大模型

直播APP系统源码——短视频直播系统源码

开源直播系统源码

直播系统源码 开源源码 短视频系统源码

GAN简介及原理分析

秃头小苏

GAN 7月月更

沉寂多年,无服务器爆发,其硬核是什么?_服务革新_百度云_InfoQ精选文章