2006年8月9日,当时的谷歌首席执行官埃里克·施密特(Eric Schmidt)在搜索引擎大会(SES San Jose 2006)上,首次提出了“云计算”(Cloud Computing)的概念。
而就在大会的5个月之前,2006年3月,电商起家的美国亚马逊公司正式推出了自家的弹性计算云(Elastic Compute Cloud,EC2)服务。
这两个标志性事件的发生,正式宣告了云计算时代的到来,也意味着互联网的发展进入了一个新的阶段。
时至今日,十四年过去了,云计算经历了质疑,也经历了狂热,逐渐被人们所接受,进入了稳步发展的阶段。
然而,作为一个高大上的名词,众人皆知的概念,至今为止,我们仍然难以对云计算给出一个准确的、通俗易懂的定义。
专业机构给出的定义,永远让人云里雾里——
一种计算方式,能够通过Internet技术将可扩展的和弹性的IT能力作为服务交付给外部用户。(Gartner公司)
一种标准化的IT性能(服务,软件或者基础设施),以按使用付费和自助服务方式,通过Internet技术进行交付。(ForresterResearch公司)
云计算是一种模型,可以随时随地,便捷地,按需地从可配置计算资源共享池中获取所需的资源,资源可以快速供给和释放,使管理的工作量和服务提供者的介入降低至最少。(美国国家标准和技术研究院)
究其原因,我觉得有两个方面。
第一,是不同的人,看待云计算有完全不同的角度。
“一千个人心中有一千个哈姆雷特”。不同的人对云计算有不同的定义,不同的想法。例如:
技术工程师认为:云计算是一种技术,一项专业。
商人认为:云计算是一种商业模式,一门赚钱的生意。
普通用户认为:云计算是自己经常会用到的一种服务。
财务总监和老板认为:云计算是资金投入,是成本。
第二个原因,我觉得是因为云计算过于庞大,以至于“盲人摸象”。甲认为A是云计算,乙认为B是云计算,丙认为C是云计算。大家各说各话,无法给出一个统一的定义。
其实,我觉得,云计算就是“云”+“计算”。“计算”是一种行为。而“云”,是一种模式、方法,或者说理念。
我们对计算非常熟悉。人脑思考,就是一种计算方式。计算,就是对信息、数据进行处理和运算。这是一个很宽泛的概念。
我们玩游戏,里面的人物建模、移动控制,属于计算。我们看视频,里面的图像编码解码,属于计算。我们网上购物,计价付费,也属于计算。
在信息时代,计算无处不在。
然而,就像人思考需要大脑、干活需要工具一样,计算也离不开资源。
信息时代的计算资源,既包括CPU、内存、硬盘、显卡这样的硬件资源,也包括操作系统、数据库、运行库、中间件、应用程序这样的软件资源。
而“云”,就是获取这些资源的一种新型方式。
与云计算相对应的,是传统计算。
最早的大型机,中型机,再到80年代的PC机,90年代的小机房,都属于传统计算。
传统计算的一大特点,就是资源固化。也就是说,这些计算机所能够使用的软硬件计算资源,是固定的。
CPU、内存、硬盘,装了多少,就只能用多少。资源少了(性能不足),需要再花钱买。资源多了(性能过剩),也不给退。
正因为传统计算在资源分配上缺乏足够的灵活度,所以才有了“云计算”概念的提出。
简单来说,相比传统计算,云计算的资源获取方式,从“买”变成了“租”。
所有我们前面提到的软硬件计算资源,全部都能租。提供资源租用服务的,就是云服务提供商。
▉ 云计算的基本特点
云计算的这种“租”,和我们平常租房租车又有很大不同。它具有三个显著特点:
资源池化
云计算的计算资源,大部分不是单体物理资源。也就是说,不会租一台孤零零的物理服务器给你。(裸金属服务器除外)
大部分云计算资源,都是池化了的资源。什么叫池化?池化就是物理资源的基础上,通过软件平台,封装成虚拟的计算资源,也就是我们常说的虚拟化。
虚拟化
虚拟化的好处,就是让计算资源变得更加容易选择,调用更加灵活。
弹性伸缩
云计算的计算资源,可以按需付费。你想要用多少,就租多少,配置是支持自定义的。
这就有点像吃麻辣烫,丰俭由人,想吃什么就拿什么,想吃多少就拿多少。最后按量付费。
麻辣烫
如果你后期因为业务增长,需要更好的配置,可以加钱,买更多资源。
增加资源的过程,基本上是平滑升级。尽可能减小对业务的影响,也不需要进行业务迁移。就像你现在用的电脑,硬盘从1TB升级到2TB,下个订单就完成了,不需要换机,甚至不需要重启。(升级CPU或内存还是需要停一下机的。)
如果某项业务的负荷下降,你也可以选择弹性收缩,降低配置,节约资金。
安全可靠
专业的人做专业的事。传统计算,需要自购硬件,自建机房,自行维护。这是很大的资金和人力投入。
而云计算,从物理角度来说,所有的计算资源都汇集在大型互联网数据中心(IDC),那里有严格的安保、抗震的建筑、安全的供电,有非常全面的容灾设计和应急方案,能够更好地保护计算资源,不会轻易地中断服务。
IDC数据中心
从软件上来说,云计算服务提供商有更专业的技术团队,更成熟的技术储备,能够更好地保护计算资源不被入侵或破坏。
大部分云计算服务采用的分布式架构,使得计算资源可以承受远超单点架构的负荷压力。多节点的服务方式,也便于服务不同区域的用户。
▉ 云计算到底包括哪些服务
前面我们说了,云计算提供资源服务,主要包括硬件资源和软件资源。
你知道具体有多少种资源吗?
小枣君以目前国内某云计算服务商所提供的服务为例,整理了一个产品表格,如下:
简单统计了一下,一共7个大类,149个项目,充分说明了现在云计算业务的多样性,但凡是你能想到的,都被做成了云服务,用来“出租”。
我们来简单看看这些大类分别是干什么的。
弹性计算
这是最主要的一类云计算服务,实际上就可以理解为租一台配置灵活的服务器。支持异构运算,既可以租用CPU算力,也可以租用GPU、FPGA算力。算力从入门级到高性能,全部配齐。
实现弹性计算的虚拟化和容器技术,也被单独拆分出来,进行“出租”。
数据库
这个就不用说了,从结构化数据库到非结构化数据库,从开源数据库到私有技术数据库,全部都有。
存储
我前几天介绍过的,块存储、文件存储、对象存储,全部配齐。
网络
包括带宽、公网IP、VPC专有网络,能想到的都有。SLB负载均衡服务,CDN内容分发网络服务,也有。
安全服务
从DDoS到漏洞扫描、安全测试,全部配齐。
物联网和云通信
相信很多通信人会感到有点惊讶。是的,对于云服务提供商来说,这些都属于云服务。既然移动通信网络没牌照不能碰,LoRa、终端、物联网平台这些能碰的技术,还是不会放过的。
人工智能和大数据
这两块是最值得关注的。大数据我之前专门介绍过,它本质上就是属于云计算的。人工智能也没有被云服务提供商放过,从接口到平台,都有所涉及。包括语音识别、图像识别,都成了云服务的一种。有的云服务商,还提供人脸识别和人体分析服务。
以上各类云计算业务,基本涵盖了所有的计算领域和需求,也适合各个行业各个层次的用户。
所以说,很多人把云计算比作是和水、电一样的基础设施,确实如此,以后没有人能离得开云计算。
▉ IaaS、Paas、SaaS
刚才我们是对计算资源进行了横向分类。其实,我们也可以对它们进行纵向分类。
戴尔公司曾经给云计算梳理过一个12层模型:
上面这个模型非常专业,我画一个大家更能看得懂的简单模型:
云计算既然是一种资源提供方式,那么,就可以根据模型的层级,提供不同等级的资源。
我们姑且分为三层:第一层次,是最底层的硬件资源,主要包括CPU(计算资源),硬盘(存储资源),还有网卡(网络资源)等。第二层次,要高级一些,我不打算直接使用CPU、硬盘、网卡,我希望你把操作系统(例如Windows、Linux)装好,把数据库软件装好,我再来使用。第三层次,更高级一些,你不但要装好操作系统这些基本的,还要把具体的应用软件装好,例如FTP服务端软件、在线视频服务端软件等,我可以直接使用服务。这三种层次,就是大家经常听到的IaaS、Paas、SaaS。IaaS: Infrastructure-as-a-Service(基础设施即服务)PaaS: Platform-as-a-Service(平台即服务)SaaS: Software-as-a-Service(软件即服务)
事实上,这三种服务模型并不代表云计算的全部。如果你愿意,完全可以自己定义一个模型,例如存储即服务、网络即服务、编排即服务,甚至出行即服务、定位即服务。
这充分体现了云计算服务的灵活性。
▉ 公有云、私有云和混合云
最后,我们再来看看公有云、私有云和混合云。
这个是站在部署方式的角度来进行分类的结果。
公有云:这是云计算部署最常见的一种方式。计算资源由第三方云服务提供商拥有和运营。来自不同组织的企业或个人,共享资源池中的资源。
私有云:计算资源由第三方或组织自己拥有和运营。所有的计算资源,只面向一个组织开放。这种方式资源独占,安全性更高。
混合云:公有云+私有云。例如,平时业务不多时,使用私有云资源,当业务高峰期时,临时租用公有云资源。这是一种成本和安全的折中方案。
好啦,相信看到这里,大家都搞明白云计算到底是什么了。
我还是要补充说一句,云计算其实并不是万能良药。这种资源集中的方式,对于很多场景需求来说,并不一定适合。
以前我们搞云计算,主要的动力来自资源不足。现在,随着终端算力的不断增加,分布节点的计算资源也能够满足很多场景需求。于是,区块链等去中心化的技术,开始崛起,边缘计算这样的新型计算方式,也在崛起。这些,都会对云计算造成一定的竞争压力。
至于未来的计算模式会不会发生新的变革,还需要时间来告诉我们答案。