什么是网络编排?和自动化又有什么区别?
一.自动化与编排
自动化和编排的区别主要在于意图和工具。从技术上讲,自动化可以看作是编排的一个子集。编排意味着许多活动的部分,而自动化通常指的是单个任务或少量密切相关的任务。编排工作在一个更高的层次,并期望根据不断变化的条件和需求做出决策。
然而,不应该太局限于字面意思,因为自动化和编排这两个术语各有含义。两者的结果在功能上是相同的:事情发生时没有你的直接干预。但是你得到这些结果的方式,以及你用来实现这些结果的工具是不同的。
例如,自动化通常涉及脚本编写,通常使用Bash或Python或类似的语言,它通常建议将某个事件安排在某个精确的时间或某个特定事件上发生。然而,编排通常是从专门为一组任务而构建的应用程序开始的,这些任务可能是不规则的、按需发生的,或者是由任意数量的触发器事件引起的,而确切的结果可能取决于各种情况。
二. 决策和IT编排
自动化意味着系统管理员发明了一个系统,使计算机做一些通常必须手动完成的事情。在自动化中,系统管理员已经决定了需要做什么,而计算机所要做的就是执行任务。
编排表示系统管理员已根据一组规则、参数和观察结果设置了一个系统来独立执行某些操作。在编排中,系统管理员知道所需的最终结果,但将其交给计算机来决定要做什么。
考虑一下Ansible和Bash。Bash是一种流行的shell和脚本语言,供系统管理员用来完成他们在给定工作日内所做的几乎所有事情。Bash的自动化很简单:你不需要在交互式会话中键入命令,而是将命令键入文本文档并将文件另存为shell脚本。Bash运行shell脚本,连续执行每个命令。有一些条件决策的空间,但通常,它并不比简单的if-then语句复杂(每个if-then语句都必须编码到脚本中)。
另一方面,Ansible使用playbooks,其中系统管理员描述了计算机所需的状态。它列出了在Ansible考虑完成工作之前必须满足的要求。当Ansible运行时,它根据计算机的当前状态与所需状态、基于计算机的操作系统等进行操作。playbooks不包含特定的命令,而是将这些决定留给Ansible自己决定。
当然,这说明了Ansible被称为自动化而不是编排工具(区别可能很微妙)。
三. 网络编排有几个领域可以应用
- 使用IP和OpenFlow协议自动配置接口或路由;
- 建立覆盖层来指挥控制平面和转发平面;
- 启用安全域;
- 使用流量工程来确保工作流程遵循正确的方向;
- 配置网络服务,比如深度包检测(DPI), 状态检测和过滤器,这些服务需要放在工作流路程中;
- 将工作流引导正确的位置,并标记和管理这些信息。
四. 网络编排部署模型
在软件定义网络中,网络编排允许SDN控制器(通过API)调配,更新和管理交付应用程序或服务所需的计算资源。
在云计算中,编排是一种可重复,可靠和可预测流程框架,可用于通过各种物理和虚拟网络组件提供网络服务。
在多语音环境中,协调工作尤为重要,在这种环境中,服务和应用程序是从多个来源进行配置和交付的。OpenStack是一种用于管理公共和私有云基础架构的开源软件框架,是在云环境中实现协调的一种方式。
五. 编排和容器
容器代表了正在应用网络编排的新领域。容器是运行和部署分布式应用程序的一种方式,无需使用专用虚拟机。协调管理如何创建,升级和投入使用这些容器; 该技术还管理如何连接多个容器以构建更全面的应用程序。
Kubernetes是一种用于部署和操作多个应用程序容器的流行的开源平台,它还包含编排工具。
参考:
1.https://opensource.com/article/20/11/orchestration-vs-automation
- 点赞
- 收藏
- 关注作者
评论(0)