DevOps是一个促进开发人员和系统管理员之间更好协作的运动。本文主要探讨DevOps如何影响网络专业人员。
DevOps是IT行业的一个运动,它促进了软件开发团队和IT运维之间的协作、集成和自动化。当今,虽然DevOps是一门主要涉及软件开发人员和系统管理员的学科,但是网络工程师也应该做好准备参与到DevOps模型中。
一些评论员说DevOps只是协作的一个口号,是IT团队默认应该做的事情。实际上,IT中存在孤岛,DevOps团队有意通过协作消除这些孤岛。随着云计算的出现,在DevOps框架中工作的需求不断增加,其中一些系统管理员管理着数千台物理和虚拟服务器,这些服务器又托管着更多的应用程序,但是这些系统管理员与应用程序的开发人员之间没有直接的交流。
为云运维提供系统管理的Nodeable公司业务发展高级副总裁Matt Asay说:“云无关技术,而是软件和硬件的一种新的运维模型,这使得DevOps成为可能。我们非常重视DevOps。工作场景中的DevOps规则为开发人员提供了灵活性,但由于肩负部分运维工作,他们受到的约束也增加了。”
Citrix产品管理高级总监Steve Shah认为,网络上产生的流量已经为基于web的脚本和web常驻脚本创造了很多优化,并且改变了应用的访问方式。无论是一个映象、应用还是连接不同服务器的程序,部署都会影响性能。由于程序员不想逐个版本修改应用,相比较来说,改变应用编程接口比较容易。这就促使系统管理员学习如何在可编程循环中编写脚本以访问开发团队添加到基础架构中的所有自动化,这是DevOps真正的开始。
负载分布需要编程、应用编程接口及协议方面的知识,并且推动了良好的云经济。系统管理员通过通用管理工具可以成为DevOps管理员,这个角色不但重视编程技能,同时也重视基础架构的理解。
国家标准与技术研究所(NIST)工程实验室系统管理部的监控计算机科学家Carolyn Rowland认为,DevOps部署实际上确实影响网络规划。
“如果需要启用15台计算机,但是你使用的交换机只有五个端口,当你知道六个月后将需要扩容到600个端口来支持员工移动电话计划的接入点时,你真的宁愿只启用15个端口?” Rowland说,由于这样的原因,网络管理者将从与DevOps组织绑定中受益。
通过使用DevOps,你将提前知道现有的逐个建筑物实施超高速网络和可用性的计划将不会实施,DevOps团队成员之间保持随时沟通,因此在开始时通过共享信息已经知道其中一个建筑物对容量的需要比其他所有建筑物更早,这样网络管理员可以优先确保特定的建筑物,哪里需要更高容量,就在哪里安放路由器和交换机。它们应该位于实验室还是应该移到橱柜里?
有些情况是开发人员在部署应用时并不知道基础架构是否可以支持。Rowland认为,当开发人员不知道基础架构的实际支持情况时,网络也会受到负面影响。她认为DevOps框架可以阻止这种情况的发生。
Rowland说,“在开始接线缆和开始部署超算局域网之前,我们也许需要计划一下什么时间完成以及如何完成它;当实施时,我们需确保有足够的容量,因为这关乎你能安装的设备及其安放位置和需求时间。”
DevOps工具包包括配置管理工具,如Puppet,Chef和cfengine;索引工具如Splunk;脚本语言,如Perl和JavaScript。云计算需要系统管理员同时管理数千台服务器,因此能够帮助管理基础架构的API需求不断增长。许多厂商出售大量支持监测、安全、合规性的产品。此外,尽管仍然不能“看”透基础架构的复杂性,但是,越来越多的竞争产品提供应用可见性、快速访问和多个视图。
虽然OpenFlow是新兴的软件定义网络技术,但可能有助于解决DevOps对网络的可见性缺乏,并将DevOps置于网络管理的中心位置。基于OpenFlow的软件定义网络将使网络更加可编程,并能够使网络团队与DevOps团队更直接地协作。
Shah说,“这是我们看到的随着时间的推移通过网络DevOps自动策略网络演变的关键部分。”
促进OpenFlow的非盈利组织开放网络基金会对以下网络和基础架构重量级公司有很大的影响:Facebook、谷歌、微软、雅虎、思科系统、瞻博网络、惠普、思杰系统、戴尔、IBM、NEC、威睿。
Splunk公司的软件能够帮助管理非结构化数据尤其是使用Splunk工具映射的机器数据,以显示对网络、你所参与的业务以及IT(物理的、虚拟的及云)的洞察力。该公司网站宣称有助于“打破运维孤岛”并“提高DevOps的协作。”
除了提供支持基础架构透明性和管理的物理设备或应用的供应商之外,还有一些新兴公司如Nodeable致力于管理云IT。
随着DevOps的发展,网络专业人员必须学习编写脚本以及配置和部署工具。
Shah说,“开发人员已经看到,集成和配置本应该一开始就在软件接口上完成。”
DevOps职位列表已经开始出现在招聘网站上。当网络专业人员考虑增加团队成员时,他们应该考虑那些具有软技能和辅导能力的DevOps从业者以帮助团队使用DevOps模型。
(来源:SDNLAB)