当我们说网络自动化时,我们在谈论什么“自动化”?什么是自动化?
我听说在网络自动化中,我们不必配置每个单独的设备,因为有一个中央控制器可以管理整个网络。如果是这样,那么既然 Ubiquiti 有 Unifi 控制器,那这已经是网络自动化了吗?
如果是,那么如果我们可以只使用 GUI,为什么我们必须了解编程?
网络自动化与普通网络究竟有何不同?
当我们说网络自动化时,我们在谈论什么“自动化”?什么是自动化?
我听说在网络自动化中,我们不必配置每个单独的设备,因为有一个中央控制器可以管理整个网络。如果是这样,那么既然 Ubiquiti 有 Unifi 控制器,那这已经是网络自动化了吗?
如果是,那么如果我们可以只使用 GUI,为什么我们必须了解编程?
网络自动化与普通网络究竟有何不同?
如果是这样,那么既然 Ubiquiti 有 Unifi 控制器,那这已经是网络自动化了吗?
基本上,是的。您也可以将其视为软件定义网络 (SDN) 的一种形式。
如果是,那么如果我们可以只使用 GUI,为什么我们必须了解编程?
对于来自单一制造商的一种产品,您可能不会。但是大型网络可能有来自不同制造商的数百或数千台设备。进行更改可能需要对需要具有不同专业知识的员工的多个不同系统进行更改。
这是一个示例:要部署新应用程序,您可能需要:
所有这些任务都需要几个人,而且所有系统都来自不同的制造商。如果您需要经常执行此操作,则尽可能自动化此过程以降低成本并加快部署速度是有意义的。
这是您需要学习编程的真正原因:
网络自动化还处于起步阶段。很少有标准,有太多不同的做事方式,制造商之间对谁在“控制”方面的竞争等等。 工程师必须构建他们自己的自动化工具来完成他们的工作,因为还没有全面的系统存在。
如果是,那么如果我们可以只使用 GUI,为什么我们必须了解编程?
记录您在 GUI 中单击的内容非常困难且耗时。即使有文档,有时也很难记住几个月前您是如何完成某事的。
编写脚本(并且不会考虑这种编程)在开始时需要更多的工作,但是即使没有注释,您也有某种形式的文档记录您所做的事情,以及以后必须进行更改的模板。
将这些脚本置于版本控制之下(例如 git)还可以在进行哪些更改时为您提供某种形式的自动文档。
因此,如果您只设置一次设备,然后从不更改它,则 GUI 是可以的。如果您定期进行更改,请开始编写脚本。像 ansible 这样的工具并不难学,并且为各种网络(和其他)系统提供良好的支持。
通过脚本,您甚至可以将简单但耗时的任务转移给其他人。他们不需要知道如何配置设备,他们只需要知道如何运行脚本(或者,如果你想要一些奇特的程序,为他们准备一个小的 Web 界面)。
您可以通过脚本完成的另一个想法是从您的文档中生成您的配置。因此,不要更改某些内容然后记录(可能会忘记)记录您想要更改的内容并让一些脚本用于实际工作。
网络自动化是我们现在经常听到的词,公司甚至期待自动化其网络基础设施运营。
例如,像银行这样的大型组织将拥有自己的数据中心和仅由银行维护的端到端基础设施。根据他们的业务需求,他们的网络每天都会发生很多变化。因此,IT 部门必须手动进行更改。
例如,每天部署新应用、业务扩展、DR演练活动、进行设备配置备份、获取DHCP日志、流量日志以及在防火墙中创建策略(每天需要更改或删除大约200个策略)。要完成这项工作,需要一批熟练的工程师。组织希望将此类任务自动化,以便减少人力和降低成本。
你已经在正确的轨道上。“网络自动化”是您一次管理多个网络设备的任何方式。您可以使用仅适用于一个供应商的设备或仅适用于单个系列的专有工具,或者您可以使用适用于不同设备甚至不同供应商的更强大的工具。
由于设备系列之间甚至供应商之间的配置逻辑有时可能大不相同,因此跨平台管理可能需要主动编程以使您的通用配置策略适用于所有设备。因此,根据您的设备动物园,网络自动化可能非常容易,但也可能需要一些非常复杂的工作。