软件定义网络(SDN)的目标是让网络和存储以及虚拟服务器那样动态和敏捷。这种敏捷性是通过在在网络硬件上的软件层实现的,这个软件层可以让管理员为网络传输路由制定业务规则,然后将这些规则运用到网络路由器和其他硬件上,这样就不需要手动配置硬件了。
软件定义网络对于大多数企业机构来说仍然是一个很新的概念。企业喜欢软件定义网络带给网络的虚拟化潜力,但是来自多家厂商的不同硬件必须全部能够与软件定义网络软件层协作。这使得软件定义网络的部署要比虚拟服务器或者存储的部署更加复杂。
企业机构在部署软件定义网络的时候应该考虑那些规划的问题?下面有10个关键因素要牢记。
1、确保任何时候都有对网络的端到端可见性
软件定义网络的一个好处在于,你可以通过软件立即对网络资源需求做出响应——但这也会给你的企业一直手动管理物理网络的网络管理流程带来影响。例如,如果你在白天用软件定义网络来配置一个新的网络基础设施,那么你对网络更新的日常检查只运行一次,也就是一天结束的时候,这样你实际部署到网络的情况与管理报告告诉你的情况之间是存在可见性的差异的。这些活动之间的同步,应该是任何软件定义网络实施的一个部分。
2、避免网络容量问题
虚拟化让你可以快速部署新的资源——但同时也会带来显著的额外开销,你必须持续管理这些开销。这种情况通常发生在按需资源分配的情况下。当这个需求结束之后,IT忘记了取消这些额外的资源,所以这些资源对网络的需求仍然存在,即使是不再需要的时候。任何软件定义网络部署中都应该有去配置这一项,因为一旦配置资源的需求停止之后,这理应是最后一个步骤。
3、解决性能监控问题
因为软件定义网络是一种不断发展的网络方式,很多商用网络性能监控解决方案仍然没有为软件定义网络完全做好准备。最低限度上说,这些解决方案必须提供开放的应用编程接口(API),让软件定义网络这样的新理念可以接入。这些解决方案必须能够将软件定义网络数据与来自非SDN网络的数据进行整合,因为部署软件定义网络的企业机构运行的是混合网络,既有SDN也有非SDN。从性能管理的角度来说,目标应该是拥有对网络的360度视角。
4、将网络性能与特定业务需求关联起来
软件定义网络的挑战与手动配置网络没什么区别。最终从服务的角度,网络管理员必须能够回答特定业务实例的服务问题,例如,纽约总部和新加坡办公室之间的视频连线能保证顺畅吗?为了回答像这样的问题,性能监控软件必须可以将来自SDN和非SDN网络的性能报告进行整合,并且对信息进行组织,这样就可以在特定业务环境基础上提供精细的报告。这可能要求对你使用的性能管理软件进行定制化。
5、管理安全风险
因为软件定义网络是一个新技术,企业机构面临的安全风险会提高。他们不会及时更新了解软件定义网络的漏洞和安全缺陷。为了应对这个问题,他们应该尽可能多地研究部署软件定义网络可能存在的任何协议漏洞、软件定义网络交换机模拟的风险等,并采取预防措施。
6、协调SDN网络安全与应用安全
应用使用网络,因此当应用首先部署在SDN上,IT应该确保应用安全的最佳实践与针对软件定义网络制订的最佳实践应该是同步的。这些应该包含协议之间的不同,这对软件定义网络来说是很常见的,但是对于应用也采用的其他物理网络却不是。这么做的最好方法,就是重新审视应用编码标准,确保应用安全机制解决了SDN和非SDN网络的需求。
7、保证服务质量(QoS)
确保网络的服务质量是一件困难的事情。每个网络设备组件的厂商会在工厂给自己的设备预设置服务质量——但是当所有这些有不同服务质量设置的设备开始在网络上协同工作的时候,你的网络服务质量可能远远没有达到你希望的水平,因为不同设备之间的服务质量是不兼容的。网络管理员要确保高水平的无中断服务,不同的服务质量标准可能无法保障冗余带宽(可能要求用于远程手术应用)。SDN网络也存在同样的问题,这就是为什么企业要谨慎定义、严格执行特定的业务实例和网络配置。
8、使用外部厂商
有时候企业机构在他们的网络服务和安装中使用外部厂商。如果你使用软件定义网络,要谨慎一些,选择拥有强大软件定义网络知识、可以提供业务规则要求的厂商。
9、集成WAN
软件定义网络主要是针对用于在企业内部网络上设计的,但是现在很多IT机构被要求提供到端到的高质量网络服务,是内部网络和外部WAN(很可能是通过公共网络)的混合通道。如果你需要将内部网络的端到端性能与外部WAN整合的话,这就是你的员工需要设计的另一个SDN要求。
10、构建软件定义网络知识和最佳实践
尽管软件定义网络已经存在有一段时间了,但是在企业中的采用却进展得相当缓慢。这很大程度上是由于技术的不断发展,由于有很多网络点需要带入SDN中,让企业机构意识到SDN全部优势。因此,当你迁移到软件定义网络的时候,创建属于你自己的最佳实践也许是有必要的,因为目前关于软件定义网络我们知道的还很少。通过与你自己的或者你的厂商方面的软件定义网络专家沟通交流,你可以加速这个学习的过程,同时在你前进的过程中避免代价高昂的错误。
作者:博科中国系统工程师总监张宇峰
来源:51CTO