初看起来,大蟒蛇(Python)与云计算,两者“风、牛、马”不相及,根本扯不上关系。本文却想讲一个小故事,把这两者联系起来。

          当今,在我们国内,云计算可以说是一个比较热门的“话题”。实际上,搞云计算可以采用许多不同的途径与方法来实现,但是,我们总该有一个最佳的选择、参照方案吧?比如,一些IT产业的国际巨头选用什么途径,我们可否参照一下?

           42日,cade_metz先生发表一篇“纪实”长文,题为“The Secret History of OpenStack, the Free Cloud Software That’s Changing Everything”,意思是说:现今,有一种正在改变着一切的“自由云软件”。此文一出,立即引起了我的兴趣,于是就找来仔细地读了一遍,读后深有感触,愿与大家分享。

          在全球业界圈子里面,美国联邦航天航空管理局(简称NASA)享有盛名。很久以来,NASA科学家就对云计算抱有极大的兴趣,这大概是因为NASA的日常业务与可靠性计算有密切关系。......现在,让我们这样设想一下:在一个空旷的足球场上,整齐地排列摆放着数千台运行中的”服务器“(每台服务器都有自己的不同编号),这种场面非常壮观。此时假定在每台服务器里面都有不少应用程序在不能间断地运行中。我们问一个很实际的问题:能否把每一个应用程序都看作是一个“足球”,使其可以在这些服务器之间随意“移动”,但是,在任何时刻都不允许任意“中止”里面的应用程序的正常运行?事实上,做到这一点是有一定难度的。

          让某个应用程序不间断地发生“移动”,有时是有这种实际需求的,比如,因故障报警,需要”热切换某台“物理服务器,而不能“中止”其中的重要程序的正常运行。美国NASA的计算机专家们,绞尽脑汁,冥思苦想,终于想出了一个巧妙”办法“:如果把应用程序都放入“虚拟机”里面运行,就有办法在不间断程序运行的前提下,可以随意“移动”里面的应用程序,这就好像把应用程序放在一个“虚拟机”笼子里面运行,搬动整个“虚拟机”笼子,让应用程序始终在“笼子“(即其“运行环境”)里面运行着,这不就把问题解决了吗?......顺着这条思路继续想下去,柳暗花明又一村,问题就好办了。实际上,让许多应用程序自动地在足球场上“飘来飘去”,如同浮云,这就是“云计算”(CloudComputing)取名的由来。

          前后经过几年的努力,并且不断地“折腾”(工作变动),原来的NASA计算机专家终于发明了一套云计算软件(具有独立版权),取名为“OpenStack”(意思是“开放协议栈”),而且这个OpenStack软件包执行起来非常之有效。在20107月,OpenStack软件包对外公开发布,使其遵守Apache授权规则,成为名副其实的“自由软件包”(源代码完全开放)。在世界上,这是一件大事情。从此,云计算就有了允许任何人(不限国籍)均可自由使用,而且品质优秀的软件包,人们不用再为云计算烦恼了。

           实际上,这种所谓的“自由云软件”非常之复杂,涉及到许多外在因素,是一种超大型的“应用软件”,需要具备极高的“灵活性”。于是,人们发问:这种“云软件”应该选用什么样的编程语言来编写呢?答案是:Python编程语言。因为,Python语言是当今世界上最灵活、易用的模块化编程语言。我们说,研究云计算,使用Python语言是正确的选择,Python当之无愧也。至此,云计算与大蟒蛇(Python)不就发生了”关系”吗?(注:所谓“云存储”也是用Python语言进行编程。)

            实际上,云计算的主要目的是”节省能源“,保证数据安全。为什么这样说?因为,当外界负荷降低时,自动地归并某些应用程序,把一些应用程序放在少数服务器里面继续运行,而将大多数服务器”休眠“,或者干脆停止运行,以便节省能源(降低电耗)。当外界负荷突然增加时,云管理系统会立即自动启用其他”休眠“服务器以便”应急“。道理就这么简单,因此,云计算并不神秘。上述文章的作者在该文结束时这样说:“......OpenStackis running inside Dell and HP and IBM and Cisco. The world didn’tuse to work that way. But it doesnow.”意思是说,这个世界过去不曾这样使用OpenStack,但是,现在(产业巨头)都这样使用了。......国内搞云计算,为什么还需走“中国式弯路”呢?此举,真让人搞不明白。

         说明1:本文采用足球场来说明云计算的原理,只是一种比喻性的说法,很不严格。

         说明2:因为”理爱德“小电脑一事,我需要联系几名Python志愿者(注意:志愿者也有付费一说),但是,很久没有找到。我想,很可能Python程序员都去追”云“了。



Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐