云计算发展极简史
1946 年,世界上第一台现代电子计算机 ENIAC 在宾夕法尼亚大学诞生。早期的计算机昂贵、巨大、稀有且同时只能让一个人使用。
1955 年,MIT 的 John McCarthy(人工智能之父、1971 年图灵奖获得者)想到了通过 time-sharing(分时)技术来满足多人同时使用一台计算机的诉求。
1961 年,John McCarthy 在 MIT 的百周年纪念上第一次提出了公共计算服务的概念[2]:
如果我设想的那种计算机能够成真,那么计算或许某天会像电话一样被组织成公共服务…… 公共计算服务(Utility Computing)将是一种全新的重要工业的基础。
注:这里说的计算机便是分时计算机,即同时支持多人同时使用的计算机。
1963 年,受 McCarthy 的影响,MIT 跟 Licklider 负责的 IPTO 共同启动了 Project MAC(Multiple Access Computing)[3],致力于推动分时系统的发展,具体目标包括:1)分时系统 ;2)一个使用分时系统的群体;3)对用户的教育。
1964 年,大西洋月刊发表了一篇题为《The Computers of Tomorrow》的文章[4],细致的分析了公共计算服务与公共电网的异同点,指出了计算想像电网那样成为公共服务需要关注的三个问题:
接口——插上插座就能接入电力,而计算离大众还太远;
服务设备——专用设备将电力转化成人们所需的服务,如电灯、电机等,随开随用,而计算还需要复杂的编程才能使用;
产品同质性——电力是同质产品,不管水电火电还是风电,接上用起来没区别,同时电力是单向的,而计算的应用效果却取决于用户编程能力,这是一种与电力不同的双向交互方式。
1965 年,在《The Computers of Tomorrow》的影响下,MAC 项目组开始开发 Multics 操作系统[5]。在这个过程中,通用电器被选为硬件供应商,IBM 出局,贝尔实验室加入到 MAC 的软件开发中。
1965 年,从 MAC 中出局的 IBM 开始研发 CP-40/CMS[6] 分时操作系统,该系统于 1967 年发布,是历史上第一个虚拟机系统。
1969 年,受不了 Multics 缓慢进展的贝尔实验室从 MAC 项目退出,开始开发 Unix 操作系统[7]。
1969 年,在 Licklider 的推动下,ARPA(国防部高级研究计划局)研究的计算机网络 ARPANET[8] 诞生,其后来发展为 Internet。
自此,云计算所依赖的底层技术全部出现了:
管理物理计算资源——操作系统;
把资源分给多人同时使用——虚拟化技术;
远程接入——互联网;
1990 年代,Utility Computing 概念又一次复苏,这次直接照搬了电网(Electric Power Grid)起名叫网格计算(Grid Computing),其目标是把大量机器整合成一个虚拟的超级机器,给分布在世界各地的人们使用,总之还是公共计算服务的[10]。
1996 年,康柏公司的一群技术主管在讨论计算业务的发展时首次使用了 Cloud Computing 这个词[11],他们认为商业计算会向 Cloud Computing 转移。
1996 年康柏公司关于 cloud computing 的商业计划
1997 年,美国教授 Ramnath Chellappa 对“Cloud Computing”这个词做出了定义:“计算边界由经济而并非完全由技术决定的计算模式”[12]。
接下来是一波小浪潮[13]。
1997 年,InsynQ 基于 HP 的设备上线了按需使用的应用和桌面服务。
1998 年,HP 成立公共计算部门。
2000 年,Sun 发布 Sun cloud。
2001 年,HP 发布公共数据中心产品。
2002 年,Amazon 上线 AWS(Amazon.com Web Service),本意是把自己的商品目录以 SOAP 接口的方式开放给开发者[14]。
2002 年,IBM 在自己的 E-business 基础上,综合网络服务(Web Service)、开放标准(Open Standard)、Grid Computing,进一步提出 E-business on-demand 的概念[15]。
到这里为止,云计算还看不到什么曙光。
2006 年,AWS 发布 S3(Simple Storage Service)和 EC2(Elastic Compute Cloud),从此便拉开了云计算真正的大幕,AWS 也一骑绝尘,成为了云计算市场的领导者和绝对统治者。
有不足的地方,欢迎大神指教