人类的发展是一个追求自由的过程!
人类最早是用自己的大脑,加上十个手指头、十个脚趾头来计算的。当数字大到一定的程度,就受到人体生理的限制,手指加脚趾都不够用了,便随手捡来身边的石子、贝壳、树枝,这就是最早的计算工具,也就是算筹的前身。
但是算筹用的仍然是人脑,后来用算盘,可以通过口诀来解放部分头脑,提高算力。
法国哲学家和数学家布雷斯·帕斯卡(Blaise Pascal)于1642年制造了第一台真正意义上的机械计算器。帕斯卡的父亲是一个税务官,每天跟数字打交道,进行繁重的计算工作。帕斯卡制造这台机器的初衷是将其父亲从繁重的计算中解放出来。
到现在为止,人类的计算能力、存储能力仍然受到人脑的限制。对于自由的追求,电子计算机来临了。要说计算机,可能很多人会想起来图灵机,但是图灵在1936年提出来了构想和模型,并没有造出来实际的物体。公认的人类历史上第一台现代电子计算机是1946年在美国宾夕法尼亚大学诞生的ENIAC。现在这台计算机的计算能力可能连你家的烧水壶都不如,但是已经是人类历史上一个伟大的进步,他的计算速度达到了人工计算的20万倍!
但是最早的ENIAC的问题是只有计算,没有存储,也就是只有CPU,没有硬盘,没有内存,每次计算都要人工去接线。这时候正在研究原子弹的数学家冯.诺伊曼来了,他提出了存储程序通用电子计算机方案,奠定了PC时代的基础。再到后来的IBM、Intel、Microsoft,进入了PC时代。
计算机出现了,可是又面临了新的问题,计算机和计算机之间有隔阂,距离和距离之间有隔阂。电话1860年都发明出来了,大家可以摆脱物理距离限制来通话,计算机也需要打破限制,追求更大的自由。1969年ARPANET(Advanced Research Project Agency)诞生,1989年第一个真正意义的互联网诞生,1994年我国接入到了互联网。计算(Computing)、存储(Storage)、网络(Network)成为了网络时代的三大基石。
计算机的第二个问题,就是物理上的硬件和数据有强耦合,限制了计算机的自由发挥。计算机的虚拟化虽然是随着计算机的发展而发展,但是真正的走入商用是1999年VMaware Workstation的推出。使一台电脑可以当作多台电脑使用,使计算能力和存储能力摆脱了硬件限制,可以在不同的硬件上进行自由的流动。计算机的虚拟化也为未来的云计算奠定了基础。
网络时代初期,互联网服务仍然还是以单机服务为主,无论是用户量还是计算量还是存储量都不大。随着互联网的流行,这种单机纵向扩展已经限制了生产力的发展,需要新的技术来实现互联网能力的扩张自由。2004年谷歌发表了三大论文 GFS(分布式文件系统 https://en.wikipedia.org/wiki/Google_File_System),MapReduce(并行计算 https://en.wikipedia.org/wiki/MapReduce)和BigTable(分布式数据库 https://en.wikipedia.org/wiki/Bigtable),至此奠定了云计算的发展方向。2006年亚马逊第一次将其弹性计算服务进行售卖,开启了云计算的商业模式。
云计算初期,计算完成了虚拟化、存储完成了虚拟化,但是网络的物理限制成为了将整个PC时代全部虚拟化的最后一个门槛。2008年 OpenFlow 概念提出(参见 开放网络基金会 Open Networking Foundation 官网 https://opennetworking.org/),标志着网络虚拟化开始了征程。2010年我读研究生的时候,上课还在讨论软件定义网络(SDN)是否能够实现。2012年完成了SDN从实验室技术到实际商用的转化。至此PC时代完全跨越到了云时代,在无数个物理的硬件上抽象出了一个虚拟的计算机世界。使计算能力得到了前所未有的扩张自由。
虚拟化的云时代,仍然面临一个问题,物理硬件上运行着虚拟操作系统,虚拟的操作系统上运行着应用系统,应用系统和操作系统是强耦合的,所以如何把应用系统在操作系统上抽象出来虚拟化成为了一个需要解决的问题,容器技术在2013年应运而生。容器就像集装箱,将应用抽象封装,可以自由的在不同的船(操作系统)上进行运行。不仅解决了应用虚拟化问题,由于操作系统的解耦,可以在不同的云计算服务商之间自由流动,摆脱了云计算商的束缚。2015年云原生计算基金会(Cloud Native Computing Foundation 官网 https://www.cncf.io/ )诞生,进入了云原生的时代。
联系客服