OpenDaylight体系架构
对于存储虚拟化,在David Meyer看来,其相对来说比SDN成熟一些,但也有限。相较而言,计算方面的虚拟化成熟度则是最高的,按David Meyer的比喻,如果SDN是婴儿,那么服务器虚拟化已经可以算是成年人了。“我们也可以到服务器有着类似的演化过程,在很长一段时间里,服务器虚拟化其实是不可用的,”David Meyer 表示,“它那时还是很笨重的,而现在借助新型的虚拟化容器,它的这个重量可能会更加的轻,跟之前相比也更加的简便。还有更多的演进,许多公司都在做这方面的事情,所以说它是目前虚拟化中最成熟的,SDN的发展将与之类似,但会更快。”
软件定义与软硬件之间的关系回到软件定义本身这个话题,我们又应该如何定义它呢?在中国IT圈里,有一些人总结出了一个观点,就是说未来的一些网络设备、存储设备,可能都是定制化的X86服务器,通过X86在这一通用平台上部署相应的管理或功能性软件,来具备相应专用设备的能力。那么David Meyer又是如何看待这个问题的呢?
David Meyer表示, “对于X86服务器,在其上实现网络的一些功能是没问题的,比如负载均衡。但是有一些功能短期还是实现不了的,此外还有就是界面性功能,在将来也可能不太容易实现软件定义。”对于原因,一方面就是物理与虚拟之间不可逾越的限制,另一方面则是性能方面的需求。显然,这个问题要涉及到硬件与软件之间到底是怎样的关系。
David Meyer仍然先用计算来举例,其实很多功能最开始就是通过软件来实现的,因为比较容易,就服务器虚拟化来说,计算方面的资源虚拟化利用就是一个软件的功能。“事实上,IT研发人员都是会根据需求慢慢的去发现一些功能,先做成一种软件,然后看是否符合客户的需求。那如果符合了之后我们再把它放在硬件上,从计算演化的历史角度来看,其实软件和硬件就是来回往复、交替前进的,并没有一个纯粹的界线分明的定义。”
David Meyer 进一步解释,“最开始如果我们比较追求性能的话,那么可能更多的考虑的是用硬件实现,如果我们考虑的是更高的系统灵活性,可能我们更多的考虑的是软件的问题。”对此,David Meyer早前在思科的工作经历给了他深刻的印象,“当时我们收集了一些客户新需求,先做成一种软件,我们叫这它Slow Pat,为什么叫这个名字呢?因为它当时的运行速度是很慢的,然后我们把这个软件提交给客户,看看是不是对方想要的,如果正是他们需要的,我们再把它放在硬件上去实现。”
总之,David Meyer强调所有的软件都是建立在相应的硬件基础之上,它是离不开硬件的。所以说到软件定义,我们还要看它要定义什么东西,有些东西如果更强调灵活性,那么就适合软件定义,但它的前提是不能影响相应的效率,否则可能还是硬件实现比较好,或者是放在一个更为强大的硬件平台上来进行软件定义。无论是计算、存储还是网络均是如此。这就对应了上文的话题——软件与硬件的交替演进。一开始人们可能在追求某个设计时,更多的是从灵活度上去考虑的,最终通过软件来实现了这种灵活性,但是随着这个软件的演进,人们又可能会希望在速度、性能、功耗等方面的表现获得进一步提升,从而需要更好的硬件。因此,灵活性与性能,决定着软硬件交替发展的主旋律。
这就引出了另一个问题,当今的软件定义更多的基于x86服务器来实现,由于它的通用化、标准化而使其有着惊人的装机量,并拥有强大的生态基础环境,那么是不是可以说软件定义就是为x86而生的呢?
“完全不是,”David Meyer给出了明确的回答,“当前的软件定义大多基于x86服务器,是针对当前环境而言的,因为它的普及度更高,但从原理上讲,软件与硬件之间是分开的,并没有必然的限定关系,尤其是对于CPU来说。”
|