2018年不可不知的云技术趋势:FaaS、Serverless、边缘计算
图片来自“123rf.com.cn”
国内企业对云的使用现状及使用趋势
在开始介绍云的使用趋势之前,我想跟大家讨论一下什么是云。我们做了很多年的云计算相关的项目,发现很多人并不是很清楚什么是云。一谈到云大家就想到公有云或者某一个技术,而我们按照NIST(National Institute of Standards and Technology,美国国家标准与技术研究院)的定义的云的标准,其实它并不是在讨论某种特定的云的技术,或者某个厂商提供的产品服务。云的定义更接近于把计算、服务等各种资源变成按需提供的服务,同时提供广泛的网络访问,以及可共享、可度量的后台资源。
云可以有多种形态,提到现在主流的云的形态和趋势,大家首先想到的肯定是公有云,它满足刚才提到的云定义中的各种要素,包括按需使用、广泛地在通过无处不在的各种网络访问、资源在后台可共享、所以所有的服务都是可度量的。目前公有云还处于群雄割据状态,阿里云、腾讯云是当之无愧的老大,除此之外还有金山云、京东云、美团云甚至还有更多的云来加入,当然也有一些公有云项目在还没有开始就已经退出了。
公有云是整个云计算推动的主力,在国外,像亚马逊、谷歌等也在投入海量的资源去不断地开发和发展。所以实际上公有云引领了整个云的发展趋势。对于很多的企业来讲,特别是大企业而言,除了公有云,还在投入大量资源在做自己的私有云建设,从统计数据来看,私有云方面的投入比公有云要更多,这与美国想比有较大的区别。国内大企业目前更多是在虚拟化阶段,而美国80% 以上的计算资源已经虚拟化,在国内却只有30%-40%,甚至还存在大量的小型机和虚拟机。但是在虚拟化还没完成的阶段,国内有一大部分企业已经构建了完善的 IaaS 云、容器云等等,总体来看国内的私有云建设还是参差不齐但是又百花齐放的状态。
国内对于私有云建设也存在一定误区,很多企业认为虚拟化、容器化就已经是私有云,对照标准定义而言,云更多的是一种服务,虚拟化和容器化只是云底层的技术设施,而本身并没有把它变成一种服务来提供。
私有云和公有云也不是非此即彼的两种力量,现在发展很快的还有一种托管云,它介于公有云和私有云之间,既让客户享有一部分共有云的好处:比如不需要自建庞大的数据中心,同时兼具私有云的好处:安全性更好,但这些好处也意味着更高的成本。
这几年各种云在国内迅速发展,从最开始VMware推动基于自有产品的SDDC,到后来SDI、SDS的日益流行,就像分布式架构和微服务从互联网企业推广到传统企业甚至非常保守的银行系统一样,在我们骞云科技成立之初这些都还是很新的名词,在我们去谈如何通过我们平台使用SDN让整个体系更加灵活,到现在与客户讨论SDN到底能带来什么价值,直到2018年我知道的大部分金融、银行客户都已经把SDN放到项目计划之中。之间虽然经历了2 年,但发展速度非常迅速。
基于这些基础架构的快速变更,OpenStack、PaaS、容器平台等也发展迅速。就像容器平台从最开始的三足鼎立,到现在的K8s一家独大,其实让许多人大跌眼镜。我个人认为云计算还在快速成长变化的过程中,这对企业的IT管理既是机遇也是挑战,机遇在于有更多的选择,新的技术和产品必然带来更多的灵活性,但管理的复杂度也大大增加。这些所有的不同形式的资源都需要统一的去管理,给IT的管理体系带来了非常大的挑战,这也是为什么从去年开始CMP/CBS类型的平台软件和SaaS服务变得非常流行。这样可以让大型企业客户能够按照他们的需求使用最合适的资源和服务,帮助企业技术落地。总结一下我们对云趋势的看法,新的云技术和平台会不断涌现,新的挑战需要更多的服务去支持,以便让整个IT体系更加高效、便捷。
从IaaS到 FaaS,开发者需要关注哪些云技术趋势?
这是个非常有意思的话题,大家都是IT从业者,从某种角度而言IT是个非常苦的行业,这种苦主要来自于变化太快,其中云又是这两年变化最快的领域和最重要的环节。这些变化从计算机刚出先就一直发生,从以前的大型机,到小型机,到PC服务器,然后虚拟化,IaaS,PaaS,FaaS,技术在不停的变更,还有变的越来越快的趋势。
作为这个行业的技术人员,我们不但需要知道技术本身,还得深刻理解其背后的驱动力——商业的需求。我们可以从后台的IT架构去看看为什么会有这些变化。Iaas其实是帮助开发人员快速获取资源,让计算资源变得随手可即,这样其实是原来的获取单位资源的效率从原来的按星期按约计算变为按分钟按秒计算。PaaS又是从更上层去看,它让开人员更多地把注意力集中在软件架构的开发上。这两年很多类似PaaS平台,比如各种容器云平台,也被称为PaaS平台。另外一种形式的封装就是FaaS平台,也就是Serveless Compute。
无论是IaaS,PaaS,FaaS,SaaS,都是IT的服务平台。这些变革的本质目的,无外乎两方面的原因:提高效率、减少成本。无论是容器云还是FaaS都解决了一部分传统的PaaS企业问题,所以近两年发展相对快速。作为新兴的IaaS解决方案,Serverless 已然成为野心勃勃的互联网计算平台。
从亚马逊2014年推出Lambda开始,Serverless已经扩展到了CDN Edge,并向移动、物联网和存储领域进军。通过FaaS可以带来很多好处,包括成本大幅降低,开发者不需要为云中运行的整个服务器付费,只需要为执行代码过程中消耗的资源付费;可缩放能力,可以通过事件触发的方式轻松地对不同服务进行缩放,而无须考虑基础结构的运维和维护。在成本方面“将一个应用程序拆分为相互交织的不同服务,观念上的负担会非常大,所用服务的种类越多这种负担就会越大”,并且开发测试工作的复杂度会增加。同时的话FaaS可以让开发人员更关注业务逻辑,不用关心底层资源,更提供了编程的抽象,提高了效率。FaaS和 PaaS平台有着类似的问题,就是对应用架构有比较大的入侵性,所以有较陡的学习曲线。比较适合新的项目。
在未来,我们认为FaaS会越来越流行,尤其像AI计算、自动驾驶汽车等,FaaS无疑更适合这些场景使用,所以FaaS、PaaS都会在不同场景下发挥作用。我们更应考虑的是学习所有技术、或者一股脑把所有技术用上去,我们需要更多地考虑什么样的场景下我们应该运用什么样的技术更高效地开发。我们用更少的时间、更少的工作轻度来达到更高的产出。
云将来是否会走向边缘?
首先我们来探讨一下边缘计算。边缘计算其实也是这两年慢慢火起来的一个很有趣的话题。说到云和边缘之间的关系,我首先想到的是三国演义里面的一句话:“天下大事,合久必分,分久必合。”其实纵观整个计算机发展的历史也是这样的。整个计算机发展的集中度来考虑,在上世纪五六十年代,甚至有人提出这个世界只需要几台大型机就可以满足所有人的计算能力需求,当然了我们现在知道这是错误的,但由此可见大型机是多么集中化。然后大型机慢慢到小型机,再到PC机,然后再到PC服务器等等,整个趋势是从非常集中的中心化的计算资源到了越来越分化的计算资源。现在一台手机比30年前一台小型机的计算能力还要强,可见整个计算能力分散化的趋势一直在发生着。
但这个趋势发展到一定阶段,随着网络速度的发展,是的云桌面这类远程访问数据中心成为可能,理论上一家公司只需要一两个集中式数据中心就能满足所有员工对各种计算资源的需求,全球各地的员工都能去访问数据中心的资源。像现在非常流行的数据中心就是这样的模式,通过构建大型的数据中心,把所有的资源集中化。现在金融行业的两地三中心就是这种大集中的模式,极大提交管理质量和效率。公有云更是把大集中变成共享经济,降低了更多成本,随着云计算和网络的发展,所有的计算资源又开始集中。于是私有云,公有云都兴起了。让小公司SMB也能享受到最顶级的数据中心的服务,还是pay as you go,按需付费的。
但在集中化日益提高的时候,网络的发展不一定赶的上应用的需求发展。同时网络总存在着一些不稳定性。为了解决这些场景的问题,就出来了边缘计算。边缘计算将应用程序、 数据和计算能力服务从集中式数据中心推到网络的逻辑极限,靠近用户、设备和传感器。它使计算的使用方能够在正确的时间将正确的数据放在正确的位置,支持快速和安全的访问。
事实上,边缘计算并非新生事物,其运算原理在很多年前就已经被提出了。边缘计算之所以在近期名声鹊起,是与算法、数据和传输网络几个领域的发展密不可分的。边缘计算带来的价值想象,最核心的一点还是它与一个词发生了难以描述的关系:物联网。
物联网应用范围很广泛。 我们有几家新能源汽车的客户,就是典型的这个情况。每辆车都是在线的,但同时产生大量的数据。这些数据如果都统一到中心的云数据中心,其所需要的带宽和计算能力。现阶段物联网的主要运算能力都是由云计算提供的,边缘计算不是在中央服务器里整理后实施处理,而是在网络内的各设备实时处理,所有的智能设备都能成为“数据中心”。
因此,边缘计算带来了更快的传输和响应速度,同时边缘计算利用了传统云计算的遗漏区域,产能比更划算。
乍看起来,云计算是 中心化,集中化的计算能力管理,边缘计算是去中心化的,分布式的计算能力,好像是非此即彼的关系,实际上云计算和边缘计算有不同的优势,边缘计算会让云变得更强大,因为以前不产生数据的终端都在产生数据,都需要云。
AIops距离我们有多远?
现如今,AI这个词已经被玩坏了。很多公司都声称自己在做AI,但其实并没有。AIOps也可以算是其中之一。
AIOps,按照Gartner的定义,是基于算法的IT运维(Algorithmic IT Operations),源自业界之前所说的ITOA(IT Operations and Analytics)。 这里面的A,是Algorithmic,不是Artificial。但是在人工智能时代,可能很多的人会把AI理解成Artificial Intelligence,不去纠结定义,本质上,想要表达的意思是一样的,就是 让运维具备机器学习和算法的能力。
我们已经到达了这样的一个时代,数据科学和算法正在被用于自动化传统的IT运维任务和流程。算法被集成到工具里,帮助企业进一步简化运维工作,把人类从耗时又容易出错的流程中解放出来。人们不再需要在遗留的管理系统中定义和管理无穷无尽的规则和过滤器。
话说回来,IT运维环境有一些不一样的地方。我们不会直接管理人类,我们与应用程序和基础设施打交道。而且它们可能更加复杂和不可预测,因为它们不是人类。
在过去的几年间,一些新技术不断涌现,利用数据科学和机器学习来推进日益复杂的企业数字化进程,“AIOps”(Algorithmic IT Operations)因此应运而生。Gartner的报告宣称,到2020年,将近50% 的企业将会在他们的业务和IT运维方面采用AIOps,远远高于今天的10%。
为什么公司需要AIOps?现代的IT环境已经无比的复杂,而且千变万化,需要我们花费大量的时间和资源去监控、去诊断问题、去解决问题。很多公司处于被动的地位。但是如果他们使用了AIOps,他们就可以利用先进的算法,花更多时间在其他更有意义的工作上,而不是重复地解决相同的问题,或者花时间管理规则和过滤器。我们所说的规则,可以把它们简单地描述为“如果是这样那么就这么做”,它们能够应付简单的场景,但是很难扩展。相反,算法和机器学习提供了更加灵活的表达方式,不仅强大,而且健壮,能够应付不断变化的需求。这将带来更高的效率和更低的成本。对于厂商来说,他们面临的挑战在于将整个技术方案打包,避免把用户暴露于底层的复杂性当中。光是提供工具是不够的,企业需要招聘数据科学家而不仅仅是工程师。
这样说,还是比较抽象。可以举个比较实际的例子。
我们的平台在监控的时候,会收集大量的各方面的metric或监控数据。简单场景下,运维人员可以根据经验,设置一些阈值,比如CPU超过85%,进行告警。这个85% 就是根据经验,在特定场景下设的。这样设置在简单场景小能满足需求,但不同的应用,不同的场景还是会不一样的。这是就会有很多的个性化配置。当规模增大是,维护日益复杂的配置就变得很困哪了。这时候,动态阈值设置就出来了,可以根据概率、正态分布,动态调整阈值。但这样的调整还是比较难以考虑到周期性的波峰和波谷,比如有系统每天早上8 点要进行大量分析。这时候又需要引入一些机器学习算法,对历史数据进行训练,以便得出跟准确的告警。
有了相对准确的告警还不够。现在的环境和运行情况是复杂的。一个异常情况,可能会导致相关的数据库,中间件,OS等等都出现告警。如何从繁多的告警里面,快速定位问题,就变得越来越重要。而且这个定位过程一般是非常非常痛苦的,越漫长越痛苦,但凡处理过故障的同学都会有深刻的切身体会。系统越复杂,问题定位越困难。这时候机器学习相关的算法有可以发挥更大的作用了。
AIOps的发展一定是一个长期演进的过程,AI是 Ops的有力补充,进一步降低运维的工作强度和压力,但是AIOps一定建设在高度自动化和完善的运维体系之上的,是一个演进的过程,不会是一个跳跃性的过程,产生一个完全颠覆性的AIOps模式,将现有的Ops体系替代掉。
完善现有的监控告警系统,自动化运维系统,都是未来AIOps的基础。只有有了全方位的监控信息采集,IT系统能够自动化的调整,AI才能两两者串起来,让中间的人工分析,人工选择,变成智能分析,智能选择。
从个人角度,机器学习和AI的知识和技术还是要花一些个人精力去学习的,凡是会让我们的生活变得更美好的技术必然会有极强的生命力,也必然代表着未来技术发展趋势,AI就是其中之一。
相关服务
爱福窝3D秀
¥36元
【温馨提示】思路网倡导尊重与保护知识产权。如发现本站文章存在版权问题,烦请提供版权疑问、身份证明、版权证明、联系方式等发邮件至tougao@siilu.com,我们将及时处理。本站文章仅作分享交流用途,作者观点不等同于思路网观点。用户与作者的任何交易与本站无关,请知悉。