我“重新”理解的云计算
缘起
第一个触点是阅读了两篇非常有见解的文章,分别是道哥的《我对计算的理解》和吴军的《中国算力的危与机》;
第二个触点是最近阅读了王坚院士的《在线》这本书;
第三个触点是阿里云内部的AEPC考试,对阿里云产品体系有了一个更加全面完整的了解。
算力的演进
基础通用算力主要基于 CPU 芯片的服务器所提供的计算能力; 智能算力主要是基于 GPU、FPGA、ASIC 等芯片的加速计算平台提供人工智能训练和推理的计算能力; 超算算力主要是基于超级计算机等高性能计算集群所提供的计算能力。
计算的演进
云计算的演进
云计算是互联网规模化演进的结果
20世纪60年代,美国科学家约翰·麦卡锡(John McCarthy)提出“计算机迟早有一天会变成一种公用基础设施”。 1997年10月,得克萨斯大学的拉姆纳特·切拉帕(Ramnath Chellappa)博士在国际运筹学与管理科学学会年会上,提出计算已经从以大型机为基础的结构进化到了以网络为基础的架构,他把这种新的计算模式称为云计算,这是云计算这个术语在学术界第一次被使用。 2006年3月14日,亚马逊 AWS 发布了 Amazon Simple Storage Service(Amazon S3),开始以 Web 服务的形式提供 IT 基础设施服务(IaaS 类型),以较低的价格将空闲IT资源“租”给向企业,开创了一种崭新的计算资源服务模式,彼时还没有“云计算”这个名称,但它是业界公认最早的云计算服务,这是云计算服务最初的模样。 2006年8月9日,谷歌CEO埃里克·施密特(Eric Schmit)在加州圣何塞召开的搜索引擎大会上第一次高调用云和云计算的概念来描述谷歌所提供的互联网服务。埃里克特别指出与此相对应的传统模式就是Oracle主导的传统的客户机/服务器处理结构模式。 同年8月25日,亚马逊推出了EC2(弹性云计算)的测试版,EC2是亚马逊云计算服务平台AWS中最重要的一部分。同年9月27日,杰夫·贝佐斯(Jeff Bezos)在麻省理工学院的新技术大会上,作为第一个主题演讲者,把EC2、S3(简单存储服务)和土耳其机器人(Mechanical Turk)描述为亚马逊“11年来的大规模万维网计算”方面的结晶。演讲中,杰夫并没有像埃里克那样专门提到云计算,但一直强调把后台基础设施作为服务。 2007年12月,《商业周刊》刊登了一篇封面文章——《谷歌和云的智慧》(Google and the Wisdom of Clouds),讲到谷歌的新战略是“把惊人的计算能力放到众人手里”,这种惊人的计算能力在文章中沿用了谷歌的叫法,称作云。自此,云,连同今天大家熟悉的MapReduce(一种编程模型)开始逐步出现在主流商业杂志上。 2008年,谷歌的云服务开始提供正式服务,AWS EC2有了SLA(服务级别协议)。2009年,阿里云成立,国内云计算市场开始起步。 2010年5月10日,阿里云推出首个商业化的弹性计算产品,即 ECS1.0,开始为中小企业站长提供服务。 2010年11月,亚马逊把自己的零售网站切换到了EC2和AWS上,网飞(Netflix)和Pinterest等互联网服务也搬到了亚马逊的AWS上,从此云和云计算开始大行其道。 2013年, 阿里云突破 5K 测试,成为全球首个提供5000台服务器的大规模计算集群。 2015年,阿里云登月计划完成,阿里所有数据计算任务迁移至飞天平台。 2017年,阿里云发布软硬一体的神龙架构,并进行第二次虚拟化架构升级,虚拟化损耗降为零。同年,AWS 发布了基于 Nitro 架构的 C5 实例规格,云计算开始进入全新的软硬相结合的虚拟化架构阶段。 2020年 阿里云发布一云多形态战略,推出智能全托管、云盒等新产品,将公有云不断向外延伸。 2021年 阿里云承载了 100%的阿里巴巴业务上云。 2022年 阿里云正式对外宣布飞天操作系统+CIPU的计算体系升级。
云计算的本质是让算力更普惠
第二阶段:资源池化架构。通过软件定义的方式,以CPU为中心构建了计算存储分离的架构,对资源进行统一的调度编排,让企业以云原生的方式来重新设计软件和架构。
第三阶段:以云基础设施处理器为中心的计算架构。这个新型计算架构需要通过软硬件结合的方式,实现规模扩展的同时,保障计算性价比、网络传输以及安全稳定要求。阿里云提出的将飞天操作系统加载在CIPU(云基础设施处理器)上,就是一个解决该类需求的全新架构与方案。类似的还有AWS的Nitro架构,都是在此路径上不断迭代演进。
2022年11月3日云栖大会上,癫总指出云计算正在重构整个IT软硬件体系和终端世界,形成一个全新的计算体系,具体表现在3个方面:整个IT硬件体系的重构;软件研发范式的深刻变革;云和端加速融合,算力从端转移上云,未来万物皆是计算机。
上述是云计算计算架构演进阶段,终极目标是让算力的获取更加方便、便捷和普惠。让每个小的企业或个体都能跟大公司一样,获得同等的算力,最大化的解决了企业成本问题,将原来的固定成本转化成了可变成本,只有开展生产和经营活动时才产生费用。
技术融合创新推动着新一代云的诞生,云计算进入基础设施云化、应用云原生化、云网端融合的新阶段(参考下图),一方面会让云离客户更近,另一方面让算力更普惠。
图引自信通院和阿里云共同发布的《新一代体系化创新云》白皮书。
阿里云与云计算
阿里云成立之初就有一个信念:计算作为一种公共服务。基于这个信念确定了最初的愿景:让整个数据中心等于一台计算机。以算力产业的角度透视阿里云,阿里云过去一直做的事情是:不断建设和提升算力基础设施的规模、优化算力管理效率、提供足够多的算力产品和应用来解决计算便捷性问题。
算力的大小和规模(基础设施规模及能力演进)
阿里云打造的飞天云操作系统是面向互联网上应用的基础软件,向下管理和构建遍布全球部署的数据中心资源,向上提供着对外整体的公共服务和标准开放编程接口。飞天操作系统从2008年立项开始,不断进行架构迭代和创新突破。2022 年发布CIPU自研芯片,向下对数据中心的计算、存储、网络资源实现快速云化并进行硬件加速,向上接入飞天云操作系统,将全球数百万台服务器构建为一台超级计算机。
CIPU成就新的计算体系
CIPU 是阿里云的自研芯片,是为飞天云操作系统量身定做的云基础设施处理器。在CIPU插入到物理服务器之上时,底层的服务器资源从硬件的服务器资源变成云化的服务器资源,并进一步的被跑在上面的飞天云操作系统所纳管。将虚拟的计算、存储、网络资源都池化之后,去进行统一的编排和调度,为客户提供整体的弹性的计算资源。
在计算设备上,CIPU 动态接入一到多台 CPU、GPU 等不同的计算服务器,通过硬件加速去保持算力零的损耗,以及客户算力之间的安全隔离能力。 在存储设备上,CIPU 动态接入基于存算分离架构的盘古块存储,包括本地的存储设备,实现对云盘带宽和时延的大幅加速,以及本地盘云化接近零的延迟损耗。 在网络设备上,CIPU 动态接入一到多路物理网络,执行 TCP 和 RDMA 协议下的网络加速。值得一提的是,CIPU 是对外提供了ERDMA,也就是弹性RDMA能力在业界首次的大规模、普惠式的提供了高性能分布式网络加速。
飞天内核平台(神龙、盘古、洛神)
CIPU之上,对应飞天云操作系统的内核平台:神龙计算、盘古存储、洛神网络。
神龙计算
神龙计算的核心是管理和调度更多的算力(CPU/GPU等资源),并在管理和调度演进过程中不断的降低损耗。这个过程中的挑战在于,过去芯片商、硬件商、虚拟化软件厂商等几乎所有的角色一如既往地扮演好自己的角色,按照各自的进化逻辑和速度演进,他们之间的配合就成了“三不管地带”——虚拟化损耗被视作必然。这些损耗体现在:CPU计算性能损失,系统资源争夺和IO性能瓶颈。
神龙计算就是要解决上述这些问题。整体演进经历过了几个非常重要的阶段,从Xen 到 KVM,从KVM到自主研发的神龙架构。核心原理是将本来由软件承担的一部分虚拟化管理工作,改为专用的硬件芯片来实现,这样可以极大的提升效率。这时物理机中的所有计算资源基本都可以用于用户层应用,所以也被称为 0 损耗的虚拟化方案。
CIPU脱胎于神龙软硬一体化架构,是它的硬件部分。CIPU之后,神龙计算从原来的软硬一体神龙架构,重新被定义为只包含软件部分。
更多关于神龙的内容,可以参考如下文章:
关于神龙的故事,推荐这篇文章:阿里造“神龙”
关于神龙的基本原理,推荐这篇文章:科普达人丨一文看懂阿里云的秘密武器“神龙架构”
盘古存储
飞天操作系统的目的是把 IDC 变成一台计算机,盘古存储系统就相当于这台计算机的存储,主要面临两方面的挑战,一方面是当集群规模大到一定程度时IOPS的挑战,因为更大的集群意味着更多文件和更多访问,上层应用对存储亿级文件和10亿级文件集群对IOPS要求存在显著区别;另一方面是应对小概率事件的容错性设计。
盘古采用了分布式系统先进的容错架构和柔性平台设计,具备弹性伸缩、自动负载均衡等能力,大幅提高了存储系统的可靠性和安全性。盘古是飞天操作系统的统一存储底座。盘古来支撑了很多很多业务。这也是为什么阿里云的云存储产品类别更为丰富的原因。盘古任何点点滴滴的改进,都可以通过各层基于盘古的服务放大。盘古是业界少有的分布式统一存储平台,OSS、EBS、NAS、OTS、ODPS、DFS等产品都基于该分布式存储系统构建。
盘古1.0,09年开始构建,采用的是集中式元数据管理,主要面向HDD磁盘,支持多种文件类型;
盘古2.0,16年开始设计,分布式元数据服务、全用户态数据存储引擎、高性能存储网络、自研纠缠码技术和微秒级 IO 延迟。
6问阿里云“盘古”:何以代表存储技术“世界领先” 盘古大规模RDMA之路:100G Lossy RDMA
洛神网络
洛神伴随飞天系统诞生。当用户在云上使用计算资源时,网络地址独立规划,不同用户地址可以相同,且虚拟机可以在不同机房之间迁移,地址保持不变,同时云计算是一个基础设施,支持海量用户同时使用,这些关键需求要求提供一个超大规模的虚拟化大二层的网络。洛神网络平台是阿里云飞天系统的内核组件之一,提供了云计算中网络虚拟化的能力。
洛神云网络发展到现在经历三个重要的阶段:
2010年的洛神1.0,即云数据中心网络;主要场景是数据中心和多租户; 2016到2020年的洛神2.0,是云广域网络;主要场景是全球互联,也是目前正 在大规模运行的场景; 再到2020年开始的洛神3.0,是应用-云-边-端一体的智能网络;主要场景就是正在发生的万物互联网;
更多关于洛神的内容,可参考如下文章:
2021年度硬核科技之『洛神云网络平台』 从0到3.0,揭秘阿里云洛神云网络的进化之路 一群阿里人如何用 10 年自研洛神云网络平台?技术架构演进全揭秘!
以上实属是走马观花的介绍了飞天内核平台。在我看来,内核平台的能力演进,以及如今的CIPU云基础设施处理器,决定了整个阿里云的基础设施规模。这也是阿里云最最核心的部分,是算力的基石。
算力的应用(上层服务及计算处理能力)
算力的应用是围绕计算需求或计算场景展开的,如下图是当前阿里云基于计算场景上的划分,对应了阿里云的6大产品板块和20大产品线。
基于本文的行文逻辑,从计算的角度我更愿意按计算需求分为:弹性计算、大数据计算、高性能计算、智能计算和复杂系统计算。上图中的产品分类可能需要做一些映射。
弹性计算
弹性计算是飞天内核平台上的首要计算需求。弹性计算可快速扩展或缩减计算机处理、内存和存储资源以满足不断变化的需求,而无需担忧用量高峰的容量计划和工程设计。比如双11 计算资源,存储资源和带宽资源,活动后大规模释放,成本转化为营收;弹性计算既可以扩容也可以缩容,按时间和空间切片,是云计算的大底座。弹性计算中最复杂部分是调度,如何把把计算任务调度到不同的计算资源上。毕大师17年曾写过一篇文章《调度到底是做什么的》,其中提到调度就是通过各种技术手段把机器资源充分使用上。
弹性计算是其他计算的基础。从应用的角度,弹性是面向用户的。一方面,弹性代表灵活的售卖形态和供给能力,另一方面代表的强大的自服务能力:大规模的部署、运维、迁移能力。因此,可以以这两个维度来衡量阿里云弹性计算的能力。
弹性计算需求下,对应阿里云的产品主要有:云服务器ECS、弹性裸金属服务器、云桌面等。
大数据计算
王坚院士的《在线》一书中提到,大数据的本质不是数据的大,而是在线,而且是输入和输出的双向在线。
大数据计算下的典型场景:实时离线一体化场景、湖仓一体场景,以及大数据AI一体化场景。
阿里云打造了离线数仓 MaxCompute 和实时数仓 Hologres 两个产品。这两个产品之间,通过无缝互联互通配合使用,从而形成离线实时一体化的业务支撑。再结合 Flink 的实时计算能力,实现流批一体化能力。同时结合数据湖产品 EMR,依托于阿里云的存储服务 OSS,可以让用户非常容易的把数据搬到云上,然后进行数据湖分析,进一步数据湖和数据仓库打通,实现湖仓一体化。通过与 PAI 平台深度对接,能够支持 BI 和 AI 融合,利用 AI 获取更多的数据洞察,实现大数据AI一体化。
高性能计算
高性能计算需求下,阿里云云渲染 GCS (Graphic Computing Service),是面向云游戏、元宇宙营销、科研渲染、人工智能等客户场景的高性价比图形计算服务。GCS 支持应用自动部署与资源灵活调度,提供大规模即时云渲染能力,致力于成为元宇宙的基础设施
智能计算
深度学习自2011年兴起至今,已经是目前最热门、最主流的AI算法,训练深度神经网络模型对算力的需求呈指数级增长。AI非营利组织OpenAI曾于2018年发布报告,指出自2012年以来,AI训练任务所运用的算力每3.43个月就会翻一番。
最近火爆的ChatGPT,其技术底座正是基于微调后的 GPT3.5 大模型。据报道,GPT3.5 的训练使用了微软专门建设的 AI 计算系统,由 1 万个 V100 GPU 组成的高性能网络集群,总算力消耗约 3640 PF-days (即假如每秒计算一千万亿次,需要计算 3640 天)。
智能计算需求下,对应阿里云的主要产品有:机器学习PAI、智能对话机器人、智能语言交互、智能计算、智能推荐等产品
复杂系统的计算
复杂系统的计算主要体现在计算的分布上。典型的云、边、端的计算场景,是上述多种计算场景的融合。
边缘计算需求,对应阿里云的边缘云、物联网与智能终端等。
上述是典型的计算需求,其他的个人认为都可以归结为通用计算需求,在此不一一列举。
算力的便捷性(业务场景及规模)
云计算和电一样本身是没用的,只有造出了电冰箱、电视机,电才有价值。同样秉持着计算是一种公共服务的信念,只有算力被更广泛的使用才能称之为公共服务。
王坚院士在《在线》一书中有这样的表述:记得20世纪80年代中期时我去深圳,有两个场景印象很深,至今难忘。第一个就是到处都是渔骨天线,这样才能收到香港的电视信号。第二个是在深圳的老商业街,每家商店门口都有一台柴油发电机,所以整条商业街充斥着柴油发电机发电的噪声。为什么?原因很简单,那个时候我们整个电力基础设施都是按照计划建造的,加上额外的电视机和冰箱就不行了。
云计算作为基础设施的发展,就如同当年电力作为基础设施的发展一样还有很长的路走,这关乎信任、成本和自服务能力。
信任
云计算是关于信任的生意。随着云计算和大数据的普及,最大的难点其实已经超越了技术本身,而是人性的密切关联。阿里云的发展过程中曾经遇见过各种各样的问题,最后这些问题的解决除了问题本身的修复,更重要的是赢得客户的信任。
客户使用云计算,把业务放在云上,就如同我们把钱放在银行一样。提供安全、稳定、可靠的服务保障是基础。还有更重要的一点是定义好边界,让更多的客户明白云计算平台提供的是公共服务,不会抄袭它或者替代它。
此外,需要对客户价值的坚守和理解,特别赞同《在线》中的一句话:一直以来,是这些中小企业帮助我们活下去,我们要学会理解别人对我们的帮助,而不是整天沉醉于我们去帮助别人的傲慢。如果我们以后不能继续接受这样的帮助,以为自己很了不起,那就无法继续发展。这是谈到客户价值时大家不能真正理解的根本原因。
成本
我们一直把云计算当做互联网时代的水电煤,但核心是水电煤的成本足够低。现在的云计算成本,还没有变的足够低。
最近在做预算,当看到云间和HCRM 导出的账单之后,第一反应是惊讶,怎么那么贵。相信不只一个人有类似的想法。把一家传统公司变成一家互联网公司,相比原来公司的IT成本,在云计算是可以大大节省IT成本。但如果单纯变成一个成本问题那就看不到未来,更大的未来是关于创造性的未来。
单位计算成本变得足够低,低到不在考虑范围,才有创造新东西的念头。
当然成本和规模化是互为促进的,但这也许不是一个鸡生蛋,蛋生鸡的问题,更像是一个人走路,左脚迈一步右脚迈一步的问题。写到这里,我突然想,也许云栖大会可以增加一个场景,类似于老罗跨年演讲一样,用更多的想不到来让更多的企业和用户看到,利用云计算之后的价值变化,这种讲述不是那些标杆客户来讲,而是我们要去讲更多的故事,让更多的人看见计算的未来,让更多的人了解和认识到,每个企业都可能基于云计算做出非常独特的创新。
自服务
云计算是一种按使用量付费的模式,这种模式提供可用的、便捷的、按需的网络访问, 进入可配置的计算资源共享池(资源包括网络,服务器,存储,应用软件,服务),这些资源能够被快速提供,只需投入很少的管理工作,或与服务供应商进行很少的交互。
按需使用、按量付费是云计算的基本交付方式。这其中的关键是用户的自服务能力。文档、控制台、OpenAPI、StatusPage这些基础能力都是自服务的保障,除此之外上层应用的丰富性、各种工具等也都非常关键。类比电力基础设施,自服务就是要让用户随时找到220v的插座。
总结
以上,在整篇文章中,我没有提及常规意义上的Iaas、PaaS、SaaS的层次划分,也没有提及公共云、专有云、混合云等相关的部署形态。单纯从算力基础设施规模、算力应用和算力便捷性的角度,给自己套了一个非常大的框,尝试在这个框之下填充对于云计算的理解,对于阿里云产品和能力的理解。
参考文档:
我对计算的理解:2021全球架构师峰会演讲实录:https://baijiahao.baidu.com/s?id=1698354809650781358&wfr=spider&for=pc
关于“算力”的概述:https://36kr.com/p/1848541284191362
《在线》:https://book.douban.com/subject/26885117/
中国算力发展指数白皮书:https://pdf.dfcfw.com/pdf/H3_AP202109271518811781_1.pdf
云数据中心专用处理器CIPU正式发布:https://developer.aliyun.com/article/979709
谢源:计算存储一体化,在存储里做深度学习,架构创新实现下一代AI芯片:https://developer.aliyun.com/article/277831
科普达人丨一文看懂阿里云的秘密武器“神龙架构”:https://xie.infoq.cn/article/af59d0fff584ca33916286851