
我很高兴最终介绍Operon ,这是Ansible Engine的高性能替代产品。 Operon专为大型安装而设计,并通过订阅进行分发。 它使用先进的引擎无需修改即可启动现有的剧本,模块,插件和第三方工具,从而显着增加了一次运行中寻址的实际节点数,每次调用可能节省数小时。
Operon既可以单独安装也可以与Ansible Engine 一起安装 :您可以逐步将项目转移到它,也可以根据需要在启动时使用它。
下图显示了通过SSH部署的DebOps 0.7.2中的416个common.yml任务的运行情况:

与干净的Ansible Operon相比,它减少了每个节点的运行时间约60%。 但是,随着大规模发射,优势就更大了。 查看运行时间的增长情况(硬件:24 GB,8核Xeon E5530;在18毫秒内通过SSH部署到Google Cloud虚拟机):

对于每次运行,在每个节点上执行了416个任务,包括循环项。 在1024个节点的运行中,在54分钟内完成了540496个任务。 平均吞吐量-151个任务/秒。 水平缩放非常明显:从256到1024个节点几乎增加了4倍。
必须取消256节点的Ansible运行:很长一段时间没有产生结果,它不得不重新启动多次,将进程数从40个减少到10个,以便Ansible不会耗尽其RAM资源。 它可能已经解决了13个流程,但是我们不得不拒绝进一步的尝试:我们已经花了2天的机器时间。
对于最终运行,在取消之前,Ansible在6小时13分钟内完成了89%的任务:

在每次并行运行期间,Operon都会部署到所有节点。 在8个内核上执行1024个进程,负载几乎没有明显增加,而在24个内核上,进程数量增长了6144。如果在相同数量的节点上运行相同数量的任务,而只有16个内核,我们认为我们将运行完成时间不是54分钟,而是27分钟。
内存消耗是非常可预测的,并且很大程度上与进程分离。 拥有256个进程,Operon的消耗是Ansible消耗的10倍的四倍; 同时,处理器消耗的处理器时间至少少15倍。

这里的曲线逐渐下降:Ansible在具有40个进程的64个节点上运行,而在10个之上运行的256个节点上运行。Ansible在256个节点上运行需要1.6 Gb /进程。 因此,无论可用的RAM资源如何,都对可实现的并行性产生了严格的限制。
Operon是Mitogen for Ansible首次在开发方法中迈出的新一步。 它继承了成千上万的用户所需的低级性能的大量改进:


不仅是软件
生产力是文化转向更大的用户导向,兼容性和成本内部化的副作用。 我们有一些要展示的东西,但是为了让您充分体验新产品的品味,我很高兴地宣布,除了恢复一些过时的Ansible Engine结构之外,我们还将保证具有直接兼容性的剧本语法。
包括 :
- include: "i-will-always-work.yml"
“ with”循环
- debug: msg={{item}} with_items: ["i", "will", "always", "work"]
“壁球动作”
- apt: name: "{{item}}" with_items: ["i", "will", "always", "work"]
组名中的连字符
$ cat hosts [i-will-always-work.us.mycorp.com] host1
哈希合并
# I will always work [defaults] hash_behaviour = merge
语法与Ansible 2.9兼容的Operon出货将得到持续的支持 ,并且在Ansible Engine中禁用语法不会在将来影响Operon。 此类更改会在不提高功能的情况下损害工作安装,并且它们是在更新过程中修复错误的主要工作来源。
随着时间的流逝,这种保证会扩展到引擎的语义之外。
如何加入?
最初,Operon将在Network Genomics的支持下进行分发,这是一种经验和对服务的承诺,您将无法获得其他任何服务。 如果您的团队陷入了部署陷阱,或者厌倦了多年的更新更新,请考虑要求进行评估 ,并毫不拖延地给我写一封电子邮件 ,以解决任何问题和难以理解的问题。
最好的软件是在公共领域,因此,只要我们能够提供一定程度的免费支持,就会公开发布。 订阅我们的时事通讯 ,以及时了解未来版本。
Operon会提高Windows性能吗?
是的 如果您在Windows部署过程中遇到性能问题,请立即关注。
Operon会提高网络设备性能吗?
是的 Operon提出了一种架构上的重新设计,其扩展范围远远超出了传输层,并且同样适用于所有类型的连接。
Operon是Ansible分支吗?
不行 Operon是对引擎的增量重写,它是大约6万行代码的一小部分,其中大约四分之一的代码已被替换。 每个Ansible装置都包含大约715k线路,其中绝大多数(如Operon)由大型Ansible社区独立支持。
Operon Ansible引擎会改善吗?
是的 Operon已经在Ansible Engine中促进改进,并且由于它是一种改进,因此有动力做出贡献,并在必要时更正代码。
Operon是免费软件吗?
是的 Operon与Ansible使用相同的GPL发行,您可以根据此许可自由使用代码。
Operon是否会破坏兼容性?
不行 Operon不会违反与标准模块集,插件接口或周围的Ansible生态系统的兼容性,也不打算违反它。 兼容性首先是:您不应该落后于未来的改进,也不要忘记向后兼容性,例如,剧本语法的稳定性得到提高。
如果我只计划一个节点,是否需要Operon?
Operon将确保您投入大量资源的技能的持续竞争力。 它提供了以前根本不存在的更高灵活性:选择发动机的自由度。 使用Operon,即使您不直接使用它也可以赢。