当前位置:数据网络行业动态 → 正文

开展网络自动化?这些好工具可以帮到您

责任编辑:editor006 作者:宁飞虹译 |来源:企业网D1Net  2017-04-05 15:49:28 本文摘自:it168网站

了解Git、Python、Ansible等工具,开始您的网络自动化之旅。

在上一篇文章《为何自动化对于IT工程师如此重要?》中,我们介绍了为什么需要网络自动化。一旦你决定开始一个网络自动化项目,那么下一步就是要选择正确的工具。那么你应该选择哪些工具呢?

这真的取决于你要实现怎样的目标。对于网络自动化,有很多工具可供选择。为了帮助您了解哪些工具可能最适合您,通过实验进行简单评估通常是有益的。选择工具时需要考虑的另一个因素是存在(或不存在)可访问的社区,以帮助您在这个过程中进行学习。

在这篇文章中,我们将重点介绍一些流行的和已经成熟的工具,其中包括了Git(用于管理文件的版本)、Python、Ansible和Netmiko。我们还将介绍一些其他有价值的网络自动化工具。

Git是许多平台上最流行的源代码控制管理(SCM)工具之一。 您可能会问:“为什么我需要一个SCM?”随着越来越多的网络环境被表示为某种代码的形式 (以配置文件、配置模板和脚本),SCM变得非常重要。 一方面,它使您能够利用程序员使用多年的流程,比较不同的文件,管理谁有权读取或修改这些文件,恢复备份,并有效地审查提出的更改。 另一方面,当GitHub或GitLab组合在远程服务器上存储您的存储库时,您将获得非常有效的工具来与他人协作并备份您的工作。

Python在网络开发领域拥有着强大的簇拥者。 Python当然不是唯一的脚本语言; 还有其他的脚本语言,如Ruby,Groovy和Perl等等。 将脚本语言视为自动化的“胶带”,将所有内容都放在一起,在这过程中你需要一种易于阅读和使用的脚本语言。 Python在20世纪90年代初作为一种可读性的通用脚本语言被开发,在运行脚本之前不需要编译它。

为了帮助构建脚本,您可以使用超过100000个预制模块来简化工作,从而使您可以专注于实现目标,而不是从头开始实现所有功能。 用Netmiko 的一个例子来说明这点。Netmiko处理SSH等类型的网络设备的唯一性,所以你不必在自己的脚本中处理这一问题。Virtualenv允许您在每个项目的基础上管理Python环境,从而无需管理员凭据来安装或更新模块,并且可以对可能需要不同模块或不同版本的同一模块的不同项目进行简化工作。

除了脚本语言,通用配置管理和IT自动化系统非常强大,得到了大型社区的支持。大多数具有多个服务器的企业都要使用这些工具中的至少一个。这些工具的核心是开源的,可以在生产中自由尝试或使用。但是附加功能,图形用户界面等会收费。

Chef和Puppet使用与服务器或网络设备定义“合同”的Ruby类域名特定语言(DSL),指定应该存在的文件和包、配置状态和应该运行的服务。这些工具处理如何确保合同正常执行。可以使用与Chef或Puppet相同的方式,并在其核心部分增加更多的通用自动化功能。使用这些工具,您可以按功能或“角色”对设备进行分组,并将配置设置映射到“角色”,以减少要管理的唯一点数。这些工具的运行是安全的,因为它不需要在正在管理的设备上安装代理 。它还使用SSH,以便您可以快速入门。Ansys成为将配置管理工具应用于网络自动化的良好选择。

最后,模板是网络自动化工具箱中的另一个很好的工具。模板允许您定义文件或网络设备配置的内容,例如,从简单变量替换到条件逻辑和循环的嵌入式语法。嵌入式Ruby(ERB)和Jinja2是两种常见的模板格式。鉴于它与Python和Ansible的密切联系,Jinja2是一个特别受欢迎的选择; Jinja2模板可以直接在Python脚本中使用,或者与更高级的工具(如Ansible)结合使用。如果您花了一些时间来分析您的网络设备配置,您很快就会注意到,多个设备之间复制了多少配置,但只有几个项目(如IP地址和主机名)不同。这使得模板成为减少维护和增加一致性的理想工具。

开展网络自动化项目重要的是选择可以实现和简化自动化的优质工具。在本文中,我们知道了一些比较优秀的工具:Git,Python和Ansible等。 在以后的文章中我们还将介绍如何开始使用这些工具。您还可以关注5月15日至19日在拉斯维加斯举办的InteropITX,在“实践网络自动化”研讨会中,将介绍如何开始网络自动化,并有相关专家在现场帮助指导参与者。

原英文作者:Jere Julian,Scott Lowe

关键字:网络自动化网络设备

本文摘自:it168网站

x 开展网络自动化?这些好工具可以帮到您 扫一扫
分享本文到朋友圈
当前位置:数据网络行业动态 → 正文

开展网络自动化?这些好工具可以帮到您

责任编辑:editor006 作者:宁飞虹译 |来源:企业网D1Net  2017-04-05 15:49:28 本文摘自:it168网站

了解Git、Python、Ansible等工具,开始您的网络自动化之旅。

在上一篇文章《为何自动化对于IT工程师如此重要?》中,我们介绍了为什么需要网络自动化。一旦你决定开始一个网络自动化项目,那么下一步就是要选择正确的工具。那么你应该选择哪些工具呢?

这真的取决于你要实现怎样的目标。对于网络自动化,有很多工具可供选择。为了帮助您了解哪些工具可能最适合您,通过实验进行简单评估通常是有益的。选择工具时需要考虑的另一个因素是存在(或不存在)可访问的社区,以帮助您在这个过程中进行学习。

在这篇文章中,我们将重点介绍一些流行的和已经成熟的工具,其中包括了Git(用于管理文件的版本)、Python、Ansible和Netmiko。我们还将介绍一些其他有价值的网络自动化工具。

Git是许多平台上最流行的源代码控制管理(SCM)工具之一。 您可能会问:“为什么我需要一个SCM?”随着越来越多的网络环境被表示为某种代码的形式 (以配置文件、配置模板和脚本),SCM变得非常重要。 一方面,它使您能够利用程序员使用多年的流程,比较不同的文件,管理谁有权读取或修改这些文件,恢复备份,并有效地审查提出的更改。 另一方面,当GitHub或GitLab组合在远程服务器上存储您的存储库时,您将获得非常有效的工具来与他人协作并备份您的工作。

Python在网络开发领域拥有着强大的簇拥者。 Python当然不是唯一的脚本语言; 还有其他的脚本语言,如Ruby,Groovy和Perl等等。 将脚本语言视为自动化的“胶带”,将所有内容都放在一起,在这过程中你需要一种易于阅读和使用的脚本语言。 Python在20世纪90年代初作为一种可读性的通用脚本语言被开发,在运行脚本之前不需要编译它。

为了帮助构建脚本,您可以使用超过100000个预制模块来简化工作,从而使您可以专注于实现目标,而不是从头开始实现所有功能。 用Netmiko 的一个例子来说明这点。Netmiko处理SSH等类型的网络设备的唯一性,所以你不必在自己的脚本中处理这一问题。Virtualenv允许您在每个项目的基础上管理Python环境,从而无需管理员凭据来安装或更新模块,并且可以对可能需要不同模块或不同版本的同一模块的不同项目进行简化工作。

除了脚本语言,通用配置管理和IT自动化系统非常强大,得到了大型社区的支持。大多数具有多个服务器的企业都要使用这些工具中的至少一个。这些工具的核心是开源的,可以在生产中自由尝试或使用。但是附加功能,图形用户界面等会收费。

Chef和Puppet使用与服务器或网络设备定义“合同”的Ruby类域名特定语言(DSL),指定应该存在的文件和包、配置状态和应该运行的服务。这些工具处理如何确保合同正常执行。可以使用与Chef或Puppet相同的方式,并在其核心部分增加更多的通用自动化功能。使用这些工具,您可以按功能或“角色”对设备进行分组,并将配置设置映射到“角色”,以减少要管理的唯一点数。这些工具的运行是安全的,因为它不需要在正在管理的设备上安装代理 。它还使用SSH,以便您可以快速入门。Ansys成为将配置管理工具应用于网络自动化的良好选择。

最后,模板是网络自动化工具箱中的另一个很好的工具。模板允许您定义文件或网络设备配置的内容,例如,从简单变量替换到条件逻辑和循环的嵌入式语法。嵌入式Ruby(ERB)和Jinja2是两种常见的模板格式。鉴于它与Python和Ansible的密切联系,Jinja2是一个特别受欢迎的选择; Jinja2模板可以直接在Python脚本中使用,或者与更高级的工具(如Ansible)结合使用。如果您花了一些时间来分析您的网络设备配置,您很快就会注意到,多个设备之间复制了多少配置,但只有几个项目(如IP地址和主机名)不同。这使得模板成为减少维护和增加一致性的理想工具。

开展网络自动化项目重要的是选择可以实现和简化自动化的优质工具。在本文中,我们知道了一些比较优秀的工具:Git,Python和Ansible等。 在以后的文章中我们还将介绍如何开始使用这些工具。您还可以关注5月15日至19日在拉斯维加斯举办的InteropITX,在“实践网络自动化”研讨会中,将介绍如何开始网络自动化,并有相关专家在现场帮助指导参与者。

原英文作者:Jere Julian,Scott Lowe

关键字:网络自动化网络设备

本文摘自:it168网站

电子周刊
回到顶部

关于我们联系我们版权声明隐私条款广告服务友情链接投稿中心招贤纳士

企业网版权所有 ©2010-2024 京ICP备09108050号-6 京公网安备 11010502049343号

^