云计算到底是谁发明的?
作者 | 小枣君
来源 | 鲜枣课堂(ID:xzclasscom)
大家都在讨论云计算、云原生,那你知道云计算是谁发明的吗?
说到云计算的起源,公众普遍认为,谷歌前 CEO 埃里克·施密特是云计算概念的第一个提出者。
2006 年 8 月 9 日,在搜索引擎大会(SES San Jose 2006)上,他提出了“云计算(Cloud Computing)”的概念。
也有人认为,当今云计算市场的龙头老大——美国亚马逊(Amazon)公司,在更早的 2006 年 3 月,就正式推出了自家的弹性计算云(Elastic Compute Cloud,EC2)服务,是事实上的云计算开创者。
其实,准确来说,不管是谷歌还是亚马逊,都不是云计算的发明人。云计算概念的提出,远比我们想象中要早得多。
今天这篇文章,我们就针对云计算来一次彻底的“寻根问祖”。
公共计算——云计算理论的萌芽
大家应该还记得,我们的计算机通识课本里说过,世界上第一台电子计算机是 ENIAC(埃尼阿克)。
Electronic Numerical Integrator And Computer
电子数字积分计算机
其实,严谨来说,ENIAC 只能算是世界上第二台电子计算机。在它之前,还有一台名叫阿塔纳索夫-贝瑞(Atanasoff–Berry Computer)的计算机,简称 ABC 计算机。只不过这台 ABC 计算机不可编程,所以 ENIAC 是第一台通用电子计算机。
ENIAC 的出现,宣告了计算时代的开始,从此人类打开了计算机世界的大门。
像 ENIAC 这样的早期计算机,体型巨大、耗资昂贵,计算能力也非常有限。最重要的是,它缺乏多用户能力,同一时间只能被一个人占用。大家都想用的话,只能排队。
1955 年,美国麻省理工学院(MIT)的约翰·麦卡锡(John McCarthy)教授提出了 time-sharing(分时)的技术理念,希望借此可以满足多人同时使用一台计算机的诉求。
这个约翰·麦卡锡大家应该很眼熟,没错,他就是 Artificial Intelligence(AI)概念的提出者,世界公认的人工智能之父,后来在 1971 年获得了图灵奖。
无独有偶,1959年6月,英国计算机科学家克里斯托弗·斯特雷奇(Christopher Strachey)在国际信息处理大会上,发表了一篇学术论文,也是关于大型机共享使用的,名字叫做《大型高速计算机中的时间共享(Time Sharing in Large Fast Computer)》。
在这篇论文中,虚拟化的概念被首次提出。现在我们都知道,虚拟化是如今云计算架构的基石。当时那篇论文,绝对堪称“惊为天人”。
到了 1961 年,又是咱们的大神约翰·麦卡锡,在麻省理工学院一百周年纪念庆典上,首次提出了 Utility Computing(公共计算服务)的概念:
“如果我设想的那种计算机(注:即分时计算机,同时支持多人同时使用的计算机)能够成真,那么计算或许某天会像电话一样被组织成公共服务…… Utility Computing(公共计算服务)将是一种全新的重要工业的基础。”
这个 Utility Computing 的翻译,其实行业里存在一定的争议。Utility 有“公共服务、实用、效用”的意思,有人把它翻译成公共计算,也有人翻译成效用计算。
麦卡锡的理念,其实借鉴了传统的电厂模式。
说白了,就是把计算资源当作是一种像电一样的能源资源。用户可以像把灯泡插入插座一样,随时随地使用计算资源,并根据使用量进行付费。
受麦卡锡观点的影响,麻省理工学院和 DARPA(美国国防高级研究计划局)下属的 IPTO(信息处理技术办公室)共同启动了著名的 MAC(Multiple Access Computing)项目。DARPA 还专门提供了约 200 万美元的项目津贴。
MAC 项目的目标,就是开发“多人可同时使用的电脑系统”。实际上,这就是“云”和“虚拟化”技术的雏形。
1964 年,大西洋月刊发表了一篇题为《The Computers of Tomorrow(明日计算机)》的文章,详细分析了公共计算服务与公共电网的异同点。
文章指出,计算想要成为像电网那样的公共服务,需要关注三个问题:
接口——用户如何和资源进行对接?
服务设备——用户通过什么设备将资源转换成服务?
产品同质性——电总归是电,而计算是一种复杂的服务,存在多样性,存在不同的编程语言和硬件,如何兼容、交互?
1965 年,在《The Computers of Tomorrow》的影响下,MAC 项目组开始开发 Multics 分时多任务操作系统。在这个过程中,GE(通用电气)被选为硬件供应商,IBM 出局。贝尔实验室后来也加入到 MAC 的软件开发中。
1965 年,从 MAC 中出局的 IBM 开始研发 CP-40/CMS 分时操作系统,该系统于 1967 年发布,是历史上第一个虚拟机系统。
1969 年,受不了 Multics 缓慢进展的贝尔实验室从 MAC 项目退出,开始开发 Unix 操作系统(1970 年问世)。
1969 年,在约瑟夫·利克莱德(J.C.R.Licklider,IPTO负责人)的推动下,ARPA(国防部高级研究计划局)研究的计算机网络 ARPANET 诞生。
我相信大家都认识 ARPANET,没错,这就是后来的 Internet。
自此,云计算所依赖的三大底层技术全部出现了:
用于管理物理计算资源的操作系统
用于把资源分给多人同时使用的虚拟化技术
用于远程接入的互联网
网格计算——云计算理念的复苏
虽然云计算基础技术纷纷出现,但 20 世纪 70-80 年代,人们沉浸于 PC 市场的繁荣,主要精力都放在了软件和网络上,进而忽视了对 Utility Computing 的关注。
1984 年,SUN 公司联合创始人 John Gage(约翰·盖奇)提出 “网络就是计算机(The Network is the Computer)”的重要猜想,用于描述分布式计算技术带来的新世界。云计算,其实就是分布式计算的一种。
然而,人们仍然没有对云计算引起足够的关注。
直到 90 年代,云计算相关的理念重新回到了人们的视野。不过这次它换了一个更简单的名字,叫做网格计算(Grid Computing)。
网格(Grid)的叫法,和我们日常理解的“网格化管理”有很大不同,它是直接照搬自电网的概念(Electric Power Grid)。它的本质目的,还是把大量机器整合成一个虚拟的超级机器,给分布在世界各地的人们使用,也就是公共计算服务。
1996 年,康柏(Compaq)公司的一群技术主管在讨论计算业务的发展时,首次使用了Cloud Computing这个词,他们认为商业计算会向Cloud Computing 的方向转移。
1996年11月14日,康柏公司关于cloud computing的商业计划
这是 Cloud Computing(云计算)概念的真正首次出现。
1997 年,美国教授 Ramnath K. Chellappa 对“Cloud Computing”这个词做出了首个学术定义:“计算边界由经济而并非完全由技术决定的计算模式”。
此后的云计算发展,掀起了一股小高潮——
1997 年,InsynQ 基于 HP 的设备上线了按需使用的应用和桌面服务。
1998 年,VMware 公司成立,并首次引入 X86 的虚拟技术。同年,HP 成立公共计算部门。
1999 年,MarcAndreessen 创建 LoudCloud,是世界上第一个商业化的 IaaS 平台。
同年,salesforce.com 公司成立。这家公司是目前公认的云计算先驱,创始人是几个 Oracle 公司前高管。
公司成立之初,他们就喊出了“No Software”的口号,宣布开启”软件终结“革命。
他们通过自己的互联网站点向企业提供客户关系管理(CRM)软件系统,使得企业不必像以前那样通过部署自己的软件系统来进行客户管理。这就是最早的软件即服务(SaaS)模型。
2000 年,Sun 公司发布 Sun cloud。
2001 年,HP 公司发布公共数据中心产品。
……
此时此刻,云计算已经是呼之欲出了。
亚马逊&谷歌——云计算的正式诞生
2000年,当时美国电子商务公司Amazon正在开发电商服务平台 Merchant.com,旨在帮助第三方公司在 Amazon 上构建自己的在线购物网站。
不过,因为架构设计能力和管理流程等方面的问题,这个项目进展缓慢。
于是,亚马逊的管理层开始考虑,是不是可以将已有的代码进行解耦,设计成独立的API服务,然后让内部或外部应用进行服务调用。这样,既可以节约后续的开发工作量,也可以增强系统的灵活性和复用度。
由此,2002 年亚马逊启用了 Amazon Web Services(AWS)平台。当时该免费服务可以让企业将 Amazon.com 的功能整合到自家网站上。
2003 年,安迪·杰西(Andy Jassy),当时杰夫·贝索斯(Jeff Bezos,亚马逊创始人)的秘书长,现在 AWS 的 CEO,在贝索斯的家里召开了一次管理层会议。会上,大家决定要把应用开发的通用部分抽离出来,做一个公共基础设施服务平台,让内外部开发者可以基于这个平台开发自己的应用。
随后,他们整理了一系列可以成为公共服务的候选模块,并从中挑了服务器、存储和数据库三个部分开始。不仅因为这三个需求最多,还因为 Amazon 最擅长这部分,毕竟低利润率商业模式让他在如何降低数据中心的运营成本上颇有积累。
2006年,亚马逊推出了两款重磅产品,分别是S3(Simple Storage Service,简单存储服务)和EC2(Elastic Cloud Computer,弹性云计算),从而奠定了自家云计算服务的基石(直至今日都无人可以撼动)。
在那一期间,谷歌其实也没有闲着。这家诞生于 1998 年的年轻公司,在 2003~2006 年期间,连续发表了四篇重磅文章,分别关于分布式文件系统(GFS)、并行计算(MapReduce)、数据管理(Big Table)和分布式资源管理(Chubby)。
这些关键技术不仅奠定了谷歌自家的云计算服务基础,也为全世界云计算、大数据的发展指明了方向。
2006 年,27 岁的 Google 高级工程师克里斯托夫·比希利亚第一次向 Google 董事长兼 CEO 施密特提出“云端计算”的想法。在施密特的支持下,Google 推出了“Google 101 计划”,并正式提出“云”的概念。
后来《财富》杂志 10 大最具头脑人物授予其“最聪明的工程师”称号。
于是,就有了本文开头施密特发表的讲话。
至此,云计算揭开了神秘的面纱,正式来到了公众的面前。随后的云计算,进入了快速发展阶段,并最终渗透到了我们工作和生活的各个领域。
参考文献:
1、云计算二十年简史,鹅博士
2、AWS杀死了云计算:云计算四十年历史化蝶成茧,郭华,钛媒体
3、云计算的起源与发展,品高云
4、一篇文章带你看懂云计算的前世今生与未来,雷锋网
5、云计算深刻改变未来,张为民
6、云计算的发展史,华渚牧童,简书
往期推荐
移动云TeaTalk:这是一场云数据库技术的深度对话!
长跑11年,腾讯开源的变与不变
低代码发展专访系列之一:低代码平台产品的使用者都是谁?
CSDN云原生Meet up深圳站与你不见不散!
点分享
点收藏
点点赞
点在看
云计算到底是谁发明的?相关推荐
- 加速汽车行业转型,云计算到底扮演了什么角色?
摘要:亚马逊云科技不做车,而是帮助车企加速数字化转型. "Mobileye几乎所有的自动驾驶仿真任务都跑在亚马逊云科技的Spot竞价实例上,高峰时调用的计算资源可以达到500KvCPU,低峰 ...
- 工具进化史:到底是谁发明了工具?
工具进化史:到底是谁发明了工具? 一见倾心 古代剑客侠士和猛人武将的名噪一时, 离不开一把得心应手的武器, 关云长靠着青龙偃月刀千里走单骑, 秦叔宝手拿双铜锏打遍隋唐乱世, 还有金庸先生 " ...
- 云计算到底算啥?李彦宏、马化腾PK马云
一千个人眼里,有一千个云计算.作为一个热门词汇,"云计算"到底是什么,依然给人云里雾里的印象.在日前举办的IT领袖峰会(深圳)上,业界大佬围绕云计算的争议,成为峰会当天最大的&qu ...
- 快速读懂云计算,云计算到底是什么?
在这个时代,人人谈"云"论"大数据",作为一个IT小勤劳,在和同行聊天说地的时候,不谈及这方面的内容,有人可能会觉得你落伍了,跟不上这个时代了. 什么是云计算? ...
- 云计算到底是怎么玩的?
戳蓝字"CSDN云计算"关注我们哦! "云计算"这个词,相信大家都非常熟悉了. 作为IT行业的热门技术,它频繁出现在各大媒体的新闻报道中.BAT这样的互联网企业 ...
- IT行业基础知识:云计算到底是什么
云计算的目标就是,让互联网用户可以像使用水和电一样使用IT资源. 云计算是基于互联网的相关服务的增加.使用和交付模式,通常涉及通过互联网来提供动态易扩展且经常是虚拟化的资源.云是网络.互联网的一种比喻 ...
- 云计算到底是什么?我这样看待云计算
在今天,如果说对于云计算还一无所知,那可就真的out了.企业喊了这么多年的"上云运动",那么,云的本质到底是什么呢? 从2006年云计算的概念被提出到今天,已经经过了十几年,云计算 ...
- 计算机到底是谁发明的?
在<搭建Windows测试环境>课程中,曾经介绍过:世界上第一台电子计算机是有美国宾夕法尼亚大学林肯实验室为美国国防部研发的,也提到英国军情5处委托剑桥大学数理逻辑学家阿兰·麦席森·图灵为 ...
- 世界上第一台电子计算机到底是谁发明的?
作者 | 年素清 责编 | 王晓曼 出品 | 程序人生 (ID:coder _life) 1946年,世界上第一台电子计算机"ENIAC"在美国宾夕法尼亚大学诞生,在世界范围内引起 ...
最新文章
- WR:城环所杨军组揭示亚热带水库浮游有壳虫群落构建受随机性过程影响比确定性过程更强...
- R语言stringr包str_extract函数检查数据是否包含特定模式实战
- Optional 中的 map 和 flatMap
- angular模块库开发实例
- IOS开发-GitHub使用详解
- [转]jQuery选择器总结
- linux工具:ssh---未完
- Java数据结构和算法(二):数组
- WORD如何比较原文档和别人修改过的文档?
- 下半年登场!小米MIX 4概念图曝光:有望首发屏下摄像头
- 使用yarn运行react项目指令_Jenkins | 使用yarn构建前端项目
- daocloud创建mysql_DaoCloud体验-使用node构建应用程序
- C#:获得本机IP地址
- KEIL5添加STC芯片库
- 关于网络拓扑图,你想知道的都在这
- 关于QImageReader多次调用read失败的问题
- 织梦搜索页是那个php,修改织梦DEDECMS搜索页支持dede标签调用的方法
- R语言和RStudio开发环境的下载与安装
- 推荐若干个求职简历模板Doc文档下载
- 荣耀v40pro+参数配置 荣耀v40pro+价格
热门文章
- 【LeetCode笔记】470. 用Rand7()实现Rand10()(Java、概率)
- 启动java服务时刷新缓存_Spring java项目对外提供服务和java进程启动时bean,内部缓存加载的先后关系?...
- c语言存储结构的实现,(C语言)栈的链式存储结构的实现
- ov5640帧率配置_逃离塔科夫怎么提升帧率 帧率优化建议_单机游戏_游戏攻略
- python 知乎 合并 pdf_一键下载:将知乎专栏导出成电子书
- wpf 按钮样式_键盘 | 01.在程序集间引用样式
- 温柔又有耐心的男孩最吸引人
- 转行人工智能,不得不温习的数学知识点
- wxpython有哪些基本功能_用Python中的wxPython实现最基本的浏览器功能
- C/C++函数学习(6)容器分类