利用SDN促使云计算向高级阶段发展
2013-04-15 中关村在线 编辑:轶名
云计算是当前IT发展一个重要趋势,前几年还意见纷争,如今已全面共识。有人认为,网络虚拟化、云计算意味着硬件的终结,但我不这么认为,至少在初级阶段硬件选择仍然是很重要的一环。从大的方面讲,云计算必须依托于IDC机房,这个广义硬件资源目前来说肯定是稀缺的,所以全国各地到处在圈地、购设备、建机房,仿佛是朝阳产业,国外动作也挺大,但他们不是建,是买,眼下EMC、IBM等几家公司正在竞买全球最大的IDC公司Softlayer便是佐证。从小的方面讲,云用户可以不关心云的硬件架构,但云的建设者们必须重点关注它,在各种标准尚未定型时尤其如此。一个国际标准从起草、论证、检验、到定稿,往往要经历数年甚至十年的时间,在这个时期我们要推动SDN、云计算的发展,使其快速度过初级阶段,必须选择正确的硬件平台、迅速地推出适应新规范的产品去接受市场检验,所以硬件对于云计算来说也是至关重要的。
我认为,SDN的本质有三,一是控制转发分离,二是逻辑上集中控制,三是开放API,让用户可以通过软件编程充分控制网络的行为。在实现SDN的方法上,况且不讨论OpenFlow在对抗Nicira的Overlay技术时是否最终胜出,就目前来看,OpenFlow在接受普遍度上稍占上风,我们就如何实现OpenFlow进行下一步探讨。
OpenFlow数据面是以FlowSwitch的实体形式出现的,实现FlowSwitch有两种解决方案:一是采用量产的专用芯片,另一种则是通用X86硬件平台。预计在SDN大规模应用时,主流FlowSwitch会采用专用芯片的解决方案,但有三种情况采用专用芯片是不合适的:
第一种是在标准尚未定型时,芯片流片成本很高,也不方便支持标准的频繁升级;
第二种是某些应用场景对FlowSwitch有特殊要求,除了基本功能外还需要附加其它特殊应用,如:信息安全审计分析功能、DPI功能等;
第三种是功能需要经常新增或变更的应用场景。
SDN强调的是将复杂功能交给控制面Controller处理,数据面FlowSwitch的功能尽量简化,以上这三种情况会是少数的。但是,一旦面对这三种情况时,采用X86硬件架构,以软件方式实现FlowSwitch,可以说是唯一的选择。
在X86硬件架构下以软件方式实现某种网络设备的原型非常方便快捷,除了编程开发时间短、可编程性好之外,还体现在可以支持丰富的功能。通用CPU所能支持的功能多样性是专用芯片完全无法比美的,就像智能手机与功能手机的差异一样显著。
通常人们会认为用X86硬件实现网络设备时性能会比较差,这其实是一种误解。通用软、硬件平台需要支持极其丰富的应用,其操作系统、硬件驱动等需要执行的任务非常多,IP协议栈也非常复杂,并且标准版本的操作系统不会对特定应用提供特别的优化,因此,某些特定应用比如说高性能包转发方面的表现自然不会太强大。但是,高端X86 CPU的集成度和硬件工艺通常比专用芯片更高,理论上是可以支持高性能网络处理的,导致性能不够强大的原因主要是软件优化程度不够,高性能的硬件设备白白空闲。只要对X86硬件平台上的操作系统、网卡驱动、内存管理、CPU调度等多个方面做正确的优化,就可以大幅度提高网络处理的性能。这就是所谓“通用平台专用化”的优化方法。采用Intel或AMD通用CPU的超级计算机,性能强大的重要原因之一也是如此。
与性能问题类似,多数人会有PC机不够稳定可靠的印象。实际上普通PC机不稳定的原因是由多方面因素导致,采用Windows操作系统、安装太多软件、电源系统和散热系统不够专业等是其中最主要的原因。在稳定性要求高的场合,如长时间、高负荷运行的网络设备,如果采用高端主板、CPU、选择高品质内存和网卡,配合电信级的电源和散热系统,结合功能裁减、性能优化后的Linux操作系统,其稳定性、可靠性将与采用专用架构的网络设备无本质区别。思科、爱立信、华为等大型电信设备制造商在面对某些复杂应用时,其专用架构的设备上也会采用X86板卡来完成这些复杂功能。
采用X86架构生产特种网络设备,成本优势也非常明显。如果采用专有硬件架构设计一种新的网络设备,硬件的设计难度很大,生产工艺风险也非常大,而且对专用硬件架构熟悉的人才相对匮乏,整个研制、生产周期很长,并且硬件产品需要较长时间检验,甚至在较大规模应用后才能确认是稳定可靠的。如果设备的产量不是非常大,以上这些因素会导致设备的成本十分高昂。而高端的X86硬件,无论是主板、CPU还是网卡,均是采用全球最顶级的工艺大规模批量生产出来的,硬件质量很好。而且正是由于这些通用配件用途广泛、销量很大,因此市场价格相对合理。另一方面,通用架构的软件开发工具和人才资源均非常丰富,可重复使用的软件模块很多。由于硬件系统的成熟稳定,研发人员可以将大部分精力聚焦在创新的功能点上。这些因素导致产品的研发生产成本比较低。
总的来说,在云计算的初级阶段,采用合适的硬件尤为重要。整个市场选对了革命性的技术和正确的硬件平台,必将促使云计算加快进入到普及率达20%以上的高级阶段。