谈到云计算,咱们先把时间轴调到2011年。
2011年的4月,亚马逊云服务(AWS)出现了一次严重的事故,本次事故持续了至少2天(信息来自:维基百科),具体原因是由于EBS( Elastic Block Store)服务卡住(stuck),无法完成读/写请求。
同年的7月,国内的阿里云官网上线,正式提供云计算服务。
同年某月,我也开始接触和了解云计算这个在当时听起来像个未来科技的名词。
当年关于云计算的资料非常少,还好我比较幸运,找到了不知是哪位大侠写的一篇类比的文章,他拿云计算与发电机做了一个类比:
当发电机刚刚被发明时,它是有钱人家里生活必备的高级装备,后来发电机价格降下来后,每家每户都开始装上了发电机,它的普及程度和现在的电视差不多。但后来人们发现这玩意儿除了能给大家带来光明外,还必须忍受随之而来的副产品:巨大的噪音、安全隐患、煤油污染等等。
发电机为单个家庭提供了用电的需求。
电是可以通过导线传导的,过了若干年,政府统一建了发电厂,电可以通过导线输送到千家万户,之前每家的发电机从备用,到后来完全废弃。当然,上面说的这些往事发生在西方,咱们中国直接从煤油灯跨越到发电厂。
当互联网还没有兴起的时候,人们接触的计算机至少由2部分组成:主机+显示器,主机承载了所有处理与计算的工作。
主机和当年的发电机是一个作用:满足单个使用者运算(使用计算机的本质都是运算)的需求。
互联网的发明,可以将数据通过导线传播到世界各地。使用计算机是通过各种软件来为我们提高工作效率,计算机会根据软件的需求内部进行各类运算,最终得出结果展现给用户,这个结果就是数据。
举个例子:
反恐精英(Counter-Strike,简称CS)这款3D射击类游戏,10年前它需要在计算机中安装才能玩,现在与它类似的3D射击类游戏,我们可以直接打开浏览器玩。这两者本质的变化是什么呢?
通过独立的主机运行的游戏,主机内部的显卡需要实时的计算游戏中的3D建模、纹理、阴影、灯光等效果,浏览器中运行游戏呢?只需要通过互联网把计算的结果直接传送到浏览器端就可以了。
再举一个网购的例子:
当我们在淘宝APP的搜索框中输入我想购买的物品,点击搜索按钮后,我们的手机就不会做更多的操作了,只需要等待对方通过网络发回的结果就可以了。对方(淘宝)经过复杂的运算后,通过互联网给我们传送了搜索结果。
计算机的普及促成了互联网的发展,智能手机的大卖促成了移动互联网的发展,我们每天访问不同的网站,使用手机APP解决各类问题,网站与手机APP软件公司通过互联网接收用户的运算请求,通过公司的服务器进行大量运算后再通过互联网将结果传送给用户。
个人计算机借助互联网越变越小,越变越轻(不用本机运算了),各类提供服务的企业担当了 “发电厂” 的角色,这个互联网的 “发电厂“ 就是我们今天谈论的主角——“云计算”
企业服务的用户越来越多,就需要其必须具备更大的 “发电” 能力,这也是为什么在世界范围内云计算的领跑企业都是那些具备超高服务能力的公司:亚马逊、微软、谷歌、阿里巴巴。
需要注意的是,云计算还在成长中,它只满足了普通个人消费者的计算需求,针对企业来说,目前的云计算还不能满足拿来即用的需求。2013年以Docker为首的容器技术的诞生正在向这个终极目标前进,但是否能让企业也能够向用电一样使用云计算,我们拭目以待。
正如我上篇文章《针对容易技术,你属于哪类人》所介绍的,新技术从产生到最终推广使用,需要经历不同的阶段,不同阶段会面临不同的用户与消费者,他们之间的冲突从何而来呢?咱们来回顾一下历史:
当1733 约翰·凯伊 发明飞梭以后,这个小巧而伟大的发明将纺织业从手工生产带入机器生产,人们的工作效率因为机器而被无数倍地放大,一场轰轰烈烈的棉纺工业启动了工业革命的引擎。
这场革命是人类第一次遭遇到如此可怕的机器。
在资本家为这些高效机器而欣喜若狂时,传统的手工业者却因为这些机器而陷入困境。
飞梭使织布机的生产效率大大提高了,但同时使无数棉纺工人失业。1829年,卡莱尔在《爱丁堡评论》上指出:“在各个方面,有血有肉的工匠都被赶出他的作坊,让位给一个速度更快的、没有生命的工匠。梭子从织工的手指间掉落,落入到穿梭更快的铁指当中。”
发明飞梭的约翰?凯伊因此成为全民公敌,遭到全社会的疯狂追杀。除了约翰?凯伊,发明珍妮纺纱机的哈格里夫斯同样遭到了人们的攻击,纺织工们控告他剥夺了他们的生计:“如果这种机械多了,我们就都得失业。”他们愤怒地冲到哈格里夫斯的家里,捣毁机器,进行报复。
“没有集装箱,就不会有全球化。”——《经济学家》
20世纪50年代之前,全球的航运还保持着传统的运输与装卸货方式,码头工人,当时也被称之为装卸工,他们是最底层的劳动力,有自己的组织,当然他们也有自己专业经验。当时货船的装卸货物可以说是一项非常讲究经验和技巧的工作。
在发货人的工厂或仓库那里,货物被一件件的装到卡车或者火车上,然后运送到码头,到了码头后,这些货物需要一件件的卸下,一件件的登记,再一件件的存放在码头的中转棚里。等货船到来时,数以百计的装卸工开始齐动手将货物装上船,这时候也是发挥装卸工专业经验的时候了,除了要有足够的体力外,还需要知道如何将不同种类的货物分类摆放(不能把食盐和石灰放在一起),还要保证在有限的区域内放置更多的货物,同样还要保证船在海上颠簸后,不能让这些杂货搅和在一起。这是他们的专业技能,也是他们求生的唯一方式。
集装箱发明和使用之后,货物从工厂出来装箱,通过标准化的陆运工具运送到码头,到了码头,再通过工具调配到货船上,从这个流程来看码头工人的技能完全用不上了。一开始,他们组织起来罢工,抵制集装箱使用,认为会大大减少他们的工作机会,但面对技术与工作方式的更新,这种局面是无法扭转的。装卸工这个职业以及他们的专业经验再也没有使用的空间与价值。
相对于上文讲的技术更新与人冲突的例子,当前与IT运维相关职业所面临的局面比他们更严峻。先来了解一下运维(OPS--OPerationS)这个职业:
通常我们说的运维可以大致的分为两类:基础运维(system-ops)和应用运维(app-ops),他们的目的是通过各种手段保障服务可用(SLA)。针对一步步走来的云计算时代,运维这个角色面临了哪些挑战呢?
从物理服务器过度到云主机,基础运维(硬件运维、网络运维)已经不需要配置物理网络、物理服务器和安装操作系统了,他们的工作被应用运维所取代,在这个时期应用运维凭借自身的技术及经验可以将云主机管理得有条不紊,能够优化服务架构中的各个系统及中间件服务。
这个时期,基础运维被完全取代,应用运维还有很好的生存空间。
我们正在经历的时期,容器技术的引入,操作系统是不需要安装的,应用服务是优化好的,即拉(pull)即用,系统级运维还需要做什么?
引用《Docker会是改变世界的那只“箱子”吗?》的一段话:“传统运维,如果仅仅是安装软件、配置系统、备份拷贝文件、部署和发布,如果所有的系统都是容器镜像的方式去发布,所有的计算负载都是在云上面去执行,就像传统的码头工人一样,消亡是必然的。当DevOps真正实现后,开发和运维,其实界限越来越模糊了。人更多的是从事更有创造力的工作。”
近几年以google为代表的国外大型IT公司都在提 SRE(Site Reliability Engineer——网站可靠性工程师 )这个新职位角色,他是软件工程师和系统管理员的结合,一个SRE工程师基本上需要掌握很多知识:算法,数据结构,编程能力,网络编程,分布式系统,可扩展架构,故障排除。以下面这幅图来了解一下云计算时代的新角色——SRE
最近有个做DBA的同学来找我交流,他已经感觉到了云计算的到来对于他之前的经验和技术是一种完全的替代。
数据库的高可用与扩容,在传统数据库运维的工作中,这项工作可以说是摆在DBA面前最重要的工作,以MySQL为例,无论是主从切换、MMM结构、MHA、以及借助amobla、mycat等中间件来解决的分区分表,这些技术与经验对于一个摸爬滚打若干年的DBA来说都是非常宝贵的。
但到了云计算时代呢?无论是AWS还是阿里云都提供了完备的关系型数据库的高可用和扩展方案,还包括了性能分析和备份机制。DBA那些技能瞬间觉得没有任何的用武之地了。
“一个酿酒师终其一生才可以区分65℃与67℃之间的细微差别,温度计的出现使他这一技能变得毫无价值。”
最近,国内的一家云服务提供商发生了断电的事故,持续时间超过2个小时,但这又怎样?企业重新回到IDC,还是选择其他家的云服务?还是忍忍继续用?
新技术需要成熟期,就我个人来说,看好云计算的发展方向的,云计算本质上是分布式的,它不是某些孤立的点,它是一个可以相互关联,相互照应的网。现在的云计算离我们要求的:“只提供计算结果——拿来即用”,还有很长的路要走,容器技术只是向前走了一小步而已,最终形态与服务方式可能是我目前无法想象的。
1.《Docker会是改变世界的那只“箱子”吗?》刘永峰
2.《集装箱改变世界》—— Marc Levinson
3.《历史的细节》—— 杜君立
4.https://en.wikipedia.org/wiki/Amazon_Web_Services
5.https://en.wikipedia.org/wiki/Google_Cloud_Platform
6.http://baike.baidu.com/item/%E9%98%BF%E9%87%8C%E4%BA%91
7.http://blog.sina.com.cn/s/blog_93cec5b801019ufh.html
8.http://baike.baidu.com/item/SRE
CIO之家 www.ciozj.com 公众号:imciow