提到云计算,相信大家都不陌生,我们不仅能够在新闻媒体、网络报道中看到它,实际上云计算已经深入到我们生活的方方面面:网上购物、交通出行、视频直播、政务办公、线上学习等。可以这样说,身处当代这个信息化、数字化的社会中,只要有网络的地方就有云计算的身影。
云计算与我们的关联如此紧密,但若问你“什么是云计算?”或者让你用简单的语言解释一下云计算,还不一定那么容易。小书生梳理了云计算的相关知识,并且加入了自己的理解,试图做一个技术科普帖,用尽可能通俗的语言来一次性把云计算阐述清楚。
接下来,小书生会用几篇文章来讲述云计算的前世今生。今天是第一篇,关于云计算的定义、分类、发展历程及要解决的问题,让你能够对云计算先有一个整体的认知。
01 云计算的定义
对于云计算的定义,相信很多人都听过用自来水做的形象类比:云计算是一种提供资源的网络,使用者可以随时获取“云”上的资源,就像获取水、电一样,随取随用,按需获得。这是对于“云计算”的一种简单易懂的理解。
而对于云计算的规范定义,比较流行的包括:
美国国家标准与技术研究院(NIST)定义:云计算是一种按使用量付费的模式,这种模式提供可用的、便捷的、按需的网络访问, 进入可配置的计算资源共享池(资源包括网络,服务器,存储,应用软件,服务),这些资源能够被快速提供,只需投入很少的管理工作,或与服务供应商进行很少的交互。
百度百科定义:云计算(cloud computing)是分布式计算的一种,指的是通过网络“云”将巨大的数据计算处理程序分解成无数个小程序,然后,通过多部服务器组成的系统进行处理和分析这些小程序得到结果并返回给用户。现阶段所说的云服务已经不单单是一种分布式计算,而是分布式计算、效用计算、负载均衡、并行计算、网络存储、热备份冗杂和虚拟化等计算机技术混合演进并跃升的结果。
从上面这两种对于“云计算”的定义来看,“云计算”这三个字,并不是单一的含义,它起码包括两重不同的解读,即“云计算技术”或者“云计算服务”,前者可以理解为一种技术术语,而后者则更像一种服务(可以被用来消费而产生实际价值,与商品类似)。NIST给出的定义,其实是把“云计算”和“云计算服务”(或云服务)这两者之间划上了等号;而百度百科的解释,一开始是把“云计算”看成是一种技术,而后面的解释,则提到了“云服务”的字样。由此可见,“云计算”三个字并不是一种精确的表述,与之相关的概念,更为准确的表述可以是“云计算技术”或者“云计算服务”。
如果我们去不同的云厂商官网查看他们关于“云计算”的介绍,其实更像是在对“云计算服务”进行描述和定义。所以,当下“云计算”通常更倾向于被理解为“云计算服务”。在接下来的篇幅中,云计算、云计算服务和云服务,这三个词具有相同的含义。
02 云计算的分类
在新闻报道中,或者在了解、学习云计算知识的过程中,你一定听说过这些名词,比如公有云、私有云、混合云,或者政务云、金融云,以及IaaS/PaaS/SaaS等。这些都是不同维度下的云计算分类。云计算的分类一般包括下面几种:
从部署形式上,可以分为公有云、私有云、混合云等。
公有云:由第三方提供商提供的云服务,用户无需自己采购IT资源,只需为其使用的资源付费即可;弹性、按需付费是其特征。
私有云:为一个企业单独使用而构建的云服务,由单个公司拥有和运营,或托管在第三方服务商;专属、私有是其特征。
混合云:是公有云和私有云的混合。
从应用行业上,可以分为政务云、金融云、医疗云、教育云等。
从服务类型上,可以分为IaaS/PaaS/SaaS等三类,最近也有DaaS等最新定义的云计算服务形式。
IaaS类:基础设施即服务,是云计算服务的基础形式之一,是指云厂商向个人或组织提供虚拟化计算资源的服务。
PaaS类:平台即服务,为开发、测试和管理软件应用程序提供按需开发环境,为开发人员提供通过全球互联网构建应用程序和服务的平台。
SaaS类:软件即服务,是云厂商提供的托管和管理软件应用程序,并允许其用户连接到应用程序并通过全球互联网访问应用程序。SaaS类的云计算服务,是距离普通用户最近的云计算服务,它能够帮助用户解决某个具体问题或者实现特定的功能。
IaaS到SaaS这三种云计算服务,从服务的“颗粒精细度”来看,是逐渐升高的,即越来越精细。我们也可以用生活中的另外一种场景来类比,比如粮食小麦。小王是一个中粮大户,他为市场提供的是从田地里收割上来的小麦颗粒,属于未经过加工的原材料,那可以看做是一种IaaS形式的商品;小王的邻居小李,开了一家面粉厂,专门收购小麦加工成面粉并到市场中交易,面粉可以看做是一种PaaS形式的商品,它是经过一定加工的粮食产品(原材料),不能直接食用但可以用它来制作成更多可以供人类直接食用的面食商品;小李的同学小赵、小刘,分别经营着面条铺和馒头坊,他们买来面粉及其他的材料,加工成面条、馒头后再卖给成百上千的普通消费者,这就是SaaS类的商品。
IaaS类的云计算服务,其提供者多为以阿里云为代表的各大云厂商,它对于云厂商的技术、资金、安全等方面要求很高,就像我们社会中的供水、供电系统都是由国有大型企业来实施完成一样;而SaaS类的云服务更加专业化、定制化,细分领域也更加完备,在IaaS和PaaS等基础和平台设施充分的条件下,更多的市场主体能够有能力、有机会为成千上万的消费者提供个性化、差异化的SaaS类的云服务,满足更多样化的市场需求。
03 云计算的发展历程
云计算虽然已经深入到各行各业,与我们的日常生活也变得息息相关,出行、团购、视频、游戏及电商购物等各种生活场景的背后,都离不开云计算。云计算悄无声息地融入并改变着我们的生活,但实际上云计算非常“年轻”,它在2006年诞生,到现在也只有16年的时间。云计算发展历程中的大事件包括:
2006.3.14
亚马逊AWS发布了Amazon Simple Storage Service(Amazon S3),开始以 Web 服务的形式向企业提供 IT 基础设施服务(IaaS类型),开创了一种崭新的计算资源服务模式,彼时还没有“云计算”这个名称。
2006.8.9
Google首席执行官埃里克·施密特在搜索引擎大会上首次提出“云计算”(Cloud Computing)的概念,这是云计算发展史上第一次正式地提出这一概念,意义非凡。
2008.4.7
谷歌发布Google App Engine,允许用户本地使用Google基础设施构建Web应用,PaaS形式的云计算服务走到了用户面前。
2008.4
微软发布了 Windows Server 2008 R2 及虚拟化产品 Hyper-V,至此,云计算早期的三大厂商都已入局部署。
2009.9
阿里云成立,王坚博士担任总裁,国内云计算市场开始起步。
2010.5.10
阿里云推出首个商业化的弹性计算产品,即ECS1.0,开始为中小企业站长提供服务。
2013.6
阿里云突破5K测试,成为全球首个提供5K云公司。
2015
阿里云进行第一次虚拟化架构升级,从Xen架构升级到全新的KVM架构,虚拟化损耗大幅降低。
2017
阿里云发布软硬一体的神龙架构,并进行第二次虚拟化架构升级,虚拟化损耗降为零。
同年,AWS发布了基于Nitro架构的C5实例规格,云计算开始进入全新的软硬相结合的虚拟化架构阶段。
2020
阿里云发布一云多形态战略,推出智能全托管、云盒等新产品,将公有云不断向外延伸。
2021
阿里云发布第四代神龙架构,同时升级至全新的eRDMA网络架构,网络延时低至5微秒,是业界首个大规模弹性RDMA加速能力。
虚拟化技术是云计算的重要技术之一,是云计算发展的基石。云计算技术架构的迭代与虚拟化技术的演进关系密切,以亚马逊云发布S3服务为起点,云计算与虚拟化技术产生交叠,渊源也自此开始。我们还可以根据虚拟化架构的不同将云计算的发展分为几个阶段。
Xen虚拟化架构(2006-2015年)
2003年, Xen 在 SOSP 发表 Xen and the Art of Virtualization ,拉开了x86平台虚拟化技术的大幕。2006年 AWS 发布的EC2是基于 Xen 虚拟化技术,虚拟化技术赋予了EC2核心产品价值一弾性,同时虚拟化技术给网络虚拟化、存储虚拟化,和管控系统提供了业务部署点。2009年,在阿里云刚成立之时,在开源虚拟化技术领域中,Xen 已经是比较成熟的虚拟机监控器项目,所以阿里云采用开源的 Xen 作为第一个虚拟化底层架构。在这个时期,亚马逊 AWS 的虚拟化架构使用的也是 Xen ,这种选择也是当时业界的共识。
KVM虚拟化架构(2015-2018年)
KVM是基于CPU硬件虚拟化技术的全虚拟化技术,是业界多数公有云和专有云服务提供商使用最多的虚拟化技术之一。2005年、2006年, Intel 和 AMD 的x86 CPU 硬件分别开始支持硬件虚拟化( VT )技术,并在2006年诞生了 KVM 这个基于硬件虚拟化的开源虚拟化项目。红帽( RedHat )公司在2008年收购了开发 KVM 的以色列公司 Qumranet 后, KVM 更是得到了大力的发展。2014年左右, KVM 在功能完备性、稳定性、社区支持等各个方面都超过了 Xen ,这时国内的阿里云也开始研发基于 KVM 的云服务器,最终在2015年将虚拟化架构迁移到了 KVM 上。在2015-2018年,阿里云不仅使用 KVM 解决了工程化的问题,也做了 QEMU / KVM 的热升级等原创工作,自研了 vCPU 的调度器,支持性能突发型实例规格( TS )的产品,同时对热迁移等重要功能做了比较好的优化。
软硬结合的虚拟化架构(2018年至今)
在 KVM 虚拟化技术比较成熟的情况下,在下一代的虚拟化架构演进方向上,包括亚马逊 AWS 、阿里云等云服务提供商仿佛达成默契,都在软硬件结合的方向上投入研发。AWS 在2017年年底对外发布了基于 Nitro 架构的 C5实例规格,阿里云在2017年也发布了基于神龙架构的弹性裸金属服务器,并在2018年上线了基于神龙架构的虚拟机云服务器。神龙架构是阿里云自研的软硬件结合的虚拟化平台,其中的 MOC卡是神龙架构中的核心硬件,将存储、网络、管控的链路全部转移到 MOC上,同时对 KVM 虚拟化技术做进一步优化,以提升计算性能。
04 云计算要解决的问题
云计算与我们的生活关系密切,当前企业上云也是热火朝天;在国家层面,十四五规划纲要将云计算列为数字经济重点产业之一,以及2022年国家启动“东数西算”工程。那么,云计算到底解决了怎样的问题或者提供了怎样的价值,让它变得如此重要呢?
要回答这个问题,就不得不提亚马逊的AWS,它提供了业界公认最早的云计算服务。我们都知道,亚马逊是做网上卖书起家的,后来拓展到更多品类的网上购物业务,形成了电子商务的商业形态。为了支撑数量庞大的用户访问和购物交易,亚马逊部署了大量的计算和存储等IT资源,尤其在像圣诞节等购物热点节日,必须为了应对网站、用户、订单等业务流量压力而储备服务器资源。但是过了大促节点,业务流量回归自然状态,已经部署的IT资源在绝大部分时间里都是空闲的。为了充分利用这些闲置IT资源,亚马逊开始对外提供效能计算和存储的租用服务,简单点说就是把自己当前不用的IT资源以较低的价格“租”给其他需要类似IT资源的用户或企业,这就是云计算服务最初的模样。
最开始,云计算解决的是云厂商自身IT资源闲置问题,对于它的用户——云服务“租户”而言,云计算则帮助他们以更低的成本、更高弹性地获得了IT资源。
在随后的发展过程中,云计算这一新的服务形态被成功验证是一种可持续获利的商业模式,各大云厂商都在有意识、有规划地进行数据中心建设、可用区扩展,以及服务器集群部署,来更好地为用户提供云服务和云产品。通过计算、存储、网络等IT资源的集聚及规模效应,云厂商能够通过“出租”服务的产品来让企业、个人等需要IT资源的用户更弹性、更低成本地获取到IT资源,提升社会中IT资源的利用率,同时降低了用户的IT采购成本。
表面上看,云厂商是在集中IT资源,然后对外“出租”,好像他们提供的IT资源并不是闲置的,也不存在利用率低的问题。而实际上云厂商集中建设IT资源,然后提供IT资源的“出租”服务,就是在解决整个社会中“IT资源利用率低”的问题。道理也很简单,如果没有云厂商大规模地提供IT资源,就肯定会有企业或者个人遇到亚马逊最初的IT资源闲置、利用率低的问题。
因此,通过IT资源的出租、共享,云计算始终如一地在解决IT资源利用率低的问题;云计算提高了IT资源的利用率,从而以更低的成本向社会提供了更多的计算能力。
丨活动福利
第二届阿里云ECS CloudBuild开发者大赛火热进行中,三大赛道、51万奖金、豪华的明星导师阵容,期待你的参与。