我们站在巨人的肩膀上,所以能够看得更远
三年前,当我还在为另外一家IaaS软件公司工作的时候,一个朋友半开玩笑的对我说:“你们做的产品会让IT管理员下岗”, 虽然是句玩笑话,但我却非常认同这个观点。大家普遍的共识是IaaS以及各种软件定义数据中心的软件会解放各大公司的IT部门,对系统管理员的需求会大大减小。三年过去了,IaaS产业已经变得异常红火,可是没有一个IT管理员因此而失业。更戏剧的是,IaaS产业又创造出来很多新的工作岗位(到各大招聘网站搜索OpenStack职位即可证明)。现在,利用IaaS软件来搭建私有云的企业,他们不仅需要一个以前一样的团队来负责系统运维,而且还招聘了一个新的研发团队或是聘期第三方公司来维护IaaS软件本身。对云计算程序员来说,这或许是个好事,大家可以在这个行当里找到一份很不错的工作。但是我却对此深深的失望,因为我一直认为IaaS软件应该让我们的生活变的更加简单才对。
现在看来,复杂度和稳定性是IaaS软件诞生以来一直需要解决的两大问题。因为没有解决好,很多人试图用不同的观点来为此开脱。
有一个流行的观点认为, 云计算本来就应该是个很复杂的东西,它管理了一个包括计算,网络和存储在内的庞大分布式系统。这个观点不假,但是我认为,业务的复杂度并不表示软件的安装和部署应该复杂,更不表示软件的使用和维护应该复杂。2011年的时候,我花了差不多一周的时间来安装我的第一个OpenStack系统,但以失败而告终。后来在DevStack的帮助下,我才能一睹它的真容。2014年,为了尝试Neutron我再次试图安装OpenStack,可是这次竟然连DevStack都失败了。当然,复杂性这个问题不是OpenStack独有的。在其他IaaS软件的邮件组里,随处可见各种针对IaaS复杂性相关问题的抱怨。通常这些问题还只是发生在搭建一个微型的演示系统上