时间:2015-03-02 08:53:09 来源: 复制分享
软件定义网络(SDN)问世后,网络管理员的前途一直备受猜测。
一些灾难预言者预测,随着网络虚拟化成为已经在负责服务器虚拟化的服务器管理员或系统管理员的责任,网络管理员将被淘汰;或者随着SDN应用程序获得更多的网络智能,以便设定需要哪些网络资源,应用程序开发人员可能会接过网络管理员的角色。
不过话得说回来,网络管理员也许不会被淘汰。
网络工作人员可以利用SDN/开发运维(DevOps)这个大好机会,让自己变得对IT部门而言具有更大的价值。他们可能会在这波新的浪潮中脱颖而出,向IT部门展示可以用来管理及控制网络的新工具和新功能。
网络管理员还有可能在整合新的SDN/开发运维环境与现有的遗留网络方面扮演领导角色。尽管预计SDN最终会取代传统网络,但是SDN、混合和遗留网络以及它们支持的应用程序和服务会共存好多年。
弗雷斯特调研公司的分析师Andre Kindness说:“虽然责任会不断变化,某些任务会随之消失,但基础设施部门和运维部门对网络管理员仍然会有需求。即便一家企业拥有百分之百是SDN的基础设施,但总需要有人来部署、管理和检修网络基础设施――基础设施结合了SDN解决方案、软件、硬件、广域网服务和相邻技术。”
Brent Salisbury是面向Docker的开发运维网络初创公司SocketPlane的创始人之一,他说:“服务器虚拟化有没有扼杀系统管理员?并没有,但它确实促使配置、管理和自动化方面带来了一些变化。有理由认为今后十年网络从业人员方面会出现同样的逐渐变化。”
网络管理员想在SDN和开发运维以软件为中心的环境下保持重要地位,就需要这种变化――他们必须学习新的技能组合和新工具。
那么,他们是否需要学习软件编程呢?这取决于他们在这个新环境下想获得多稳固、多重要的地位。
如果应用程序和服务最终能够声明它们需要从网络获取什么资源,而且那些需求在SDN中自动满足,那么谁“掌控”这种能力、这种交互?一些人认定系统管理员或服务器管理员掌控这个过程;这是网络管理员要么竭力阻止,要么默认的现状。
Salisbury说:“致力于网络解决方案的软件开发团队应该会积极主动地招聘拥抱开发运维和软件开发的网络工程师。这将减小开发人员开发出来的复杂解决方案试图解决根本不存在的问题这种风险,或者开发的解决方案缺少一条根本不会被采用的切合现实的迁移路径这种风险。”
开发运维和SDN带来了应用程序开发和网络虚拟化的融合,这种整合可能会让这两个方面归单个团队统一控制,比如应用程序开发人员或服务器管理员。由于在SDN模式下,越来越多的网络配置和服务级别信息将嵌入到应用程序当中,相应的负责人员可能是服务器管理员或应用程序开发人员。
但是职责方面的这种潜在变化仍依赖功能强大的底层网络。无论什么部署在SDN/开发运维环境下,都会与遗留技术共存多年,并且使用遗留技术作为基础。
而网络管理员就是这个基础网络的看管者。
Kindness说:“覆盖整个企业的SDN网络不会一夜之间出现。大概20年后,许多人才会转变其网络和IT观念。至少,公司仍需要网络管理员来维护遗留系统。”
虽然服务器和应用程序管理员在学习SDN和开发运维的基本细节,以及如何将它与虚拟机和应用程序联系起来,但他们没有时间来学习网络管理员已经在现有基础设施方面所了解的知识。如果目的是在单个网络元素的层面上,将网络行为与应用程序的特定需求联系起来,知道这方面的知识很重要。
要是定义网络如何运营的软件出现了任何问题,深入了解现有网络同样必不可少。而问题终究会出现,尤其是由于网络变得更加基于策略、更依赖安全。
将来需要网络管理员,以便积极监控和检修网络,从而确保应用程序驱动的策略无缝交互,没有干扰网络运营。而一旦向这种应用程序驱动的策略转型的做法蔚然成风,网络安全将变得至关重要:确保应用程序策略没有干扰安全政策,这就需要有人同时深入了解网络基础设施和安全架构,以及新的运营模式可能带来的任何潜在影响。
当然,这一切公然有悖于表示软件定义网络意味着服务器或应用程序专家现在就能运行网络的那些人的观点。同样这些人表示,就像服务器虚拟化,配置和运营SDN不需要思科认证互联网专家(CCIE)或另一种认证专家。
他们在亮明其观点时特别指出,像Puppet和Chef这些流行的自动化工具已经让服务器管理员可以自个配置网络资源。而应用程序开发人员可能使用SDN编排工具,不仅记下自己需要从网络获得什么资源,还能记下需要从存储阵列、服务器阵列、虚拟机管理程序以及安全和合规服务器获得什么资源。
但同样,确保单个网络元素按应用程序策略或SDN控制器的指令工作,这份差事可能落到最熟悉物理网络的那个人的头上。让服务器管理员可以通过SDN控制器来定义、执行和交付服务质量或服务级别协议在理论上听起来很好,但是如果一路上出现了什么问题,这个问题又出现在网络设备层面,你该打电话找谁求助?
Salisbury说:“倘若通过电子邮件的配置、令牌以及变更控制这些服务出现了问题,可以肯定,网络新手在分析捕获的数据包方面的经验肯定远不如老道的网络工程师。”
拥有编程技能的网络工程师也许最适合确保每个系统在SDN/开发运维环境下顺畅运行。服务器管理员和应用程序开发人员可以确定应用程序或工作负载需要什么;但是网络管理员可以将这项工作深入到设备层面,确保设备正常运行。
Salisbury建议网络管理员应该潜心研究SDN和开发运维的软件方面的构建模块:Puppet及Chef配置、Python脚本以及流行的配置和编排项目,比如面向容器的Docker和面向虚拟机的Openstack。
Salisbury说:“开始捣鼓一些代码,研究如何使用,我几乎可以保证如果你开始向开源基础设施项目捐献代码,那么几个月之内就会获得工作机会。即便你不发布软件补丁,报告软件缺陷也大有帮助,也会受到项目维持人员的重视。”
所以网络管理员用不着觉得饭碗受到SDN和开发运维的威胁,而是有机会可以证明自身的价值。进一步完善SDN和开发运维技能和软件编程技能会让他们能够驳斥许多人预测他们在以软件为中心的环境下变得可有可无的论调。
Kindness说:“我们会需要与现在一样多的网络从业人员吗?可能不会。没有编程专长的那些人更有可能先被淘汰。将来需要的专长将由让单个交换机可以交互,变成让多个部件组成的子系统可以彼此交互。因此,认证和专业性会不断变化。”
IT部门和云服务提供商会考虑聘请或留住能帮助编排网络以及应用程序、存储、计算及其他资源的那些网络工程师。所以,网络管理员要接过网络的掌控权,证明其应用程序服务交付方面的技能即便不比SDN/开发运维圈子的别人来得更重要,至少一样重要。