但是如果我们现在回头看前面大家对我提出的问题, 这样应该我就比较容易在这回答给各位读者了:
1、这种作法让已经管理到快昏倒的网络变得更复杂了!
正是因为如此, 你才需要把现在依靠在网络硬件上的intelligent脱离出来, 透过软件的模式, 根据用户/应用/架构的不同时空的需求, 去程序化的计算网络所需要的能力, 然后再交付虚拟交换机根据更新的flow table去建立网络通讯联机. 对于物理网络来说, 因为不再牵涉configuration的intelligent, 所以仅需要维持低延迟, 高转发的网络特性. 而于所建立的逻辑网络来说, 就像您常用的excel电子表格一样, 可以随意新增/修改/删除/拷贝您的设定, 然后计算后的结果回直接告诉你结果. 让服务来引导网络的设定, 跳脱让人推着服务上线的概念
2、软件的性能怎么跟硬件相比?
其实这是一个比较大的迷思, 网络虚拟化从来没有提及去replace现今传统网络设备的价值, 然后完全交付给软件作为转发的基础. 硬件的sillicon的开发在今日已经达到非常成熟的地步, 使用软件的方式去取代现在硬件的成果, 无疑是脑袋坏掉. 在今日虚拟交换机透过与网卡的driver的优化处理, 把原本在Server网卡上的效能做有效率的提升, 并且透过今日由成熟的硬件网络设备所搭建的高速IP交换, 将Tunnel端到端的转发变得更快速. 所以一台虚拟交换机在Hypervisor内所需要处理只是运行在Hypervisor内的VM, 并不是一个机柜或是一个区段的流量, 这并是分布式网络的概念. .
当然上述只提及到data panel转发的效能, 我这边也还想再强调control panel的部分. 因为传统网络的人员(我跟大家一样, 也没多新潮), 很在意data panel的效能. 但是在于网络虚拟化的议题中, 其实control panel才是关键的核心, 也是大家常常忽略的部分. 因为使用一台x86架构的服务器作为整个网络控制中心的中枢, 未免风险太大. 用两台x86服务器作为HA, 未免在规模化的条件下又显得不足, 所以Active-Active的Contrller Cluster便是一个网络虚拟化急迫需要的技术. 在把这个技术推向服务生产环境中, 我相信这因该是一个不可忽略的主题, 甚至我觉得这个部分是今日所有相关厂商最大痛点. 全世界现在可能仅有VMware/Nicira 或是极少数厂商具有这样的能力.
* 笔者现今工作于VMware/Nicira事业群, 上述说法可能有点老婆卖瓜, 但这些信息的确是在实战上经过了多次经验的检验, 及与市场调研的良心建议. 各位看官可斟酌参考.
3、为什么我们需要这种概念?到底对我的业务有什么好处?
对于营运商的云端服务来说, 有几个重点
● 自动化: 如果VM已经可以做到request on demand, 那网络需要跟随着服务的需求自动建立/更新/删除. 不同步服务的网络支持, 其实第一个影响的就是OPEX, 接下来可能又是客户在等待上使用经验, 最后累死的可能还是那些一起多年在这网络领域工作的乡亲父老们.
● 规模化: 软件定义网络架构的方式, 最大的优点就是它比今日任何一个以物理网络支撑的数据中心网络的规模来的更大, 透过分布式网络方式, 把负载分散到需要工作的单位, 对于营运商来说, 规模化成为商业成功不可或缺的一个要素
● 管理简化: 如果每一个交换机上的control plane是为一个大脑, 那网络管理员在一个数据中心内就需要管理千百个对话, 就像股市操盘手在开盘时跟股市交易员互动的那样疯狂. 透过网络虚拟化这种集中管理, 分散工作的机制, 就像交通的控制中心一样, 可以在Controller Cluster上就掌握整体网络的状态, 并且在错误发生的时候, 可以迅速寻址错误的原因及排除.
● 开放化: 因为营运商的数据中心内不再像过去只提供空间和带宽等基础的服务, 反而期待更多的基础建设服务的提供给用户使用. 每间商业产品公司有它私有领域的专长, 所以结合多家的产品技术并建构在开放的网络平台上, 成为丰富营运商云端服务一个很重要的卖点之一. 对于网络虚拟化概念来说, 这是因该也是必要的. 我想没有一个运营商乐意看到自己只能使用一家的产品线, 或是完全无法朝多元化的整合前进.
以上的功能都是针对运营商的, 对于企业来说, 有什么好处?
对于企业应用上来说, 今日主要都是针对它中大型的企业, 毕竟需求到达一定程度时候, 这个技术才显现出实际的价值. 我相信以上三点对于中大型企业来说. 或多或少都有应用的场景. 在过去两年密集的在亚太地区商务旅行里, 以访谈多数的企业用户的经验上, 看到了另一个可能性的机会。
****** 企业应用发展流程 ********
在我过去访谈的中大型客户里, 多数人有着一个共同的问题. 当我们准备一个新的服务时, 我们需要花费很多的时间在测试, 验证, 甚至上到生产环境上, 因为公司内部的网络是一个高度管控的策略, 所以平均一个项目可能需要浪费数个月的时间在等待而无法前进. 这对于企业来说的确是一个非常麻烦的问题, 这已经牵涉到生产力和效率的问题了. 更不用说上到生产环境之后, 连一个小的改动在考虑整体网络的顾虑下, 比需等待数日/周进行评估. 对于他们与时间竞赛的商业活动来说, 这的确成了累坠. 其实这个问题在eBay便曾是一个非常痛苦的问题, 无效率IT基础建设流程, 大幅拖延了项目的进行, 直到引入网络虚拟化的概念. 在不影响现行网络运作及安全规范下, 大幅缩短项目开发时程, 同时也加强了整体公司在IT管理的统合能力.
这篇以什么是网络虚拟化为主体的文章, 是希望藉由这个管道, 让大家能多了解现今实际技术的发展现状及方向. 虽然举了一些我比较熟悉的例子, 但不重在商业产品推广, 重点是希望能帮助大家不再在市场名词中迷惑. 透过我有限的知识帮助大家能更清楚的了解新一代网络的思考方式. 如果有任何的想法和意见, 都欢迎在我新建立的blog给予指教。