当Ansible遇到BPM,将自动化运维智能化!

前言

本文仅代表作者们的个人观点;

文中内容仅供技术探讨,不能作为生产环境的技术指导。

本文书写过程中,

一、构建业务规则的必要性

什么是规则?

  • 机动车单双号限行
  • 极端天气预警
  • 应急响应系统
  • 不允许 root 账户远程登录
  • CPU 使用率 > 70% 时增加一个服务实例
  • 学生上课表
  • 物流行业:货物跟踪,物流实时感知
  • 智能交通:按照当前各路段的车流量动态调整路口红绿灯时长

“设置一个或多个条件,当满足这些条件时会触发一个或多个操作。 ”就是规则。

缺乏规则的世界是无可想象的,将会是一片混乱!

业务缺乏规则,会让客户在业务可见性、敏捷性、一致性方面都产生极大的困扰:

如果使用一个可衡量的规则,我们就可以更好地管理业务。

那么问题来了:在我们既定的业务规则和运维层面存在的那道的鸿沟,谁来搞定?

我们需要自动化的管理流程:

和传统的管理流程相比:

  • BPM是一种全面的管理方法,可以将组织的业务流程与客户的需求和需求相匹配
  • BPM采用系统化的方法不断提高业务效率和效率,同时追求创新,灵活性和与技术的整合
  • 与功能上集中的传统分层管理方法相比,BPM使组织能够更高效,更有效,更有能力进行变革。

BPM常见的使用场景有:

使用BPM的好处:

  • 将业务规则从应用程序代码中分离出来
  • 使用接近自然语言的语义模块编写业务规则
  • 把复杂的商业规则通过分组、设置优先级、是否允许重复触发等方式,最大限度的避免规则冲突
  • 规则触发与执行路径清晰可见
  • 适应市场要求,无惧业务规则经常变化,更新快速且低成本
  • 经过培训或定制化,业务人员可以直接管理IT系统中的规则,不需要程序开发人员参与

二、BPM的方案

谈到中间件,JBoss有整套的解决方案,它包含三个层面:

从下往上:

  • 加速层:以App Server、Web Server为核心(传统意义的中间件);
  • 整合层:以Fuse、JDV为核心(数据整合,Fuse实现ESB功能,JDV实现应用对多种异构数据源的访问和管理);
  • 自动化层:以BPM为核心。

三个层面,越往上,越偏向于业务逻辑:

业内有很多BPM的方案:IBM、Oracle都深谙此道。规则开源产品就 Drools 一家,流程开源产品 有jBPM 和 Activity。

红帽的BPM基于Drools + jBPM。

红帽® JBoss® BPM 套件将业务流程管理 (BPM)、业务规则管理 (BRM)、业务资源规划和复杂事件处理(CEP) 技术有效整合至统一、集成化的开源平台。该产品包含了红帽 JBoss BRMS 的所有功能,以及对业务流程建模、执行和监控的全方位支持。它可以帮助用户捕捉业务政策和流程,实现业务运营自动化,以及有效衡量业务活动在异构环境(包括物理、虚拟、移动和云环境)中的各项结果。JBoss BPM 套件包括简便易用的图形工具,有效促进 IT 用户和业务用户之间的协作,并为管理业务应用程序的规则和流程提供良好的能见度和掌控力。采用该产品将帮助企业迅速提高业务敏捷性、显著改善运营效率运营效率和缩短产品面市时间。

BRMS包括业务规则引擎(Drools),业务资源规划器 (OptaPlanner),商业中心(Drools Workbench)和实时决策 服务器(KIE服务器)。这些工具支持业务规则的创建和执行 以及解决优化问题。 BPM套件包含BRMS中的所有内容,但除此之外,还有 执行引擎(jBPM),总线中央(KIE工作台),过程 执行服务器(KIE服务器)和业务活动监控仪表板 (Dashbuilder)。这些工具提供完整的BPM解决方案,包括业务 过程建模,执行和监视。

三、当Ansible遇到BPM

Ansible是什么,本文无需再介绍。

Ansible Tower企业版中,有workflow的功能,是以上是基于多个模板创建的模板。本质上是将多个Playbook串起来。这做到了自动化,但还没有做到智能化。我们如何实现理想的自动化运维平台?

借助于BPM,可以实现:

可以实现的效果:

我们看几个示例:配置流程服务:

零代码拖拽式实现流程设计

动态传参:

发布、运行流程

我们再举两个场景:

流程步骤如下:

1.自动进行可行性检查,返回检查状态

2.创建工单号,人工人审批

3.申请到的存储,自动进行主机挂载

4执行状态邮件,短信通知管理员

借助于BPM和Ansible Tower,最终我们可以实现自动化运维的:平台化、服务化、组件化、可扩展:

魏新宇

  • "大魏分享"运营者、红帽资深解决方案架构师
  • 专注开源云计算、容器及自动化运维在金融行业的推广
  • 拥有MBA、ITIL V3、Cobit5、C-STAR、TOGAF9.1(鉴定级)等管理认证。
  • 拥有红帽RHCE/RHCA、VMware VCP-DCV、VCP-DT、VCP-Network、VCP-Cloud、AIX、HPUX等技术认证。

原文发布于微信公众号 - 大魏分享(david-share)

原文发表时间:2018-05-29

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏SDNLAB

以服务为中心的NFV管理

NFV是通过x86服务器上的虚拟化技术实现网络功能,初期主要是用于对性能要求不高场景,来降低组网成本并使网络结构更灵活。随着SDN的迅速发展,NFV可以无缝应用...

2996
来自专栏ThoughtWorks

浅谈微服务架构中的鉴权体系 | 洞见

在微服务架构中,有一个核心的问题是处理好“集权”(中心化)和“放权”(去中心化)的关系。虽然微服务的主旋律是把数据和业务拆成小而独立的模块,但我们仍然需要一个强...

3235
来自专栏开源项目

码云周一见 | 7 款不可错过的开源智能硬件架构

近年来,不断有智能硬件产品刷新着我们对于未来生活的期待,从智能手机到智能手表,从智能手环到智能空气净化器,毫无疑问,智能硬件在互联网时代以一种令人惊异的速度飞速...

2364
来自专栏SDNLAB

菜鸟驿站:学习SDN/NFV路上遇到的术语(一)

SDN:软件定义网络(Software Defined Network,SDN),是一种新型的网络创新架构,是网络虚拟化的一种实现方式,其核心技术OpenFlo...

3205
来自专栏Laoqi's Linux运维专列

深度好文-饿了么进化史(你一定会有收获)

1614
来自专栏安智客

图解《移动终端支付可信环境技术规范》

前面我们知道中国支付清算协会将TEE、SE作为一种产品类别,并将《移动终端支付可信环境技术规范》作为其技术规范。因为准确、全面的理解规范非常重要,本篇安智客将所...

2515
来自专栏程序员宝库

华为刚刚宣布!每年砸10亿补贴开发者;甲骨文宣布新的Java SE订阅模式;Parcel 1.9.2发布

近日,华为终端·全球合作伙伴及开发者大会召开。会上华为宣布面向开发者全面开发“芯-端-云”能力框架,同时,通过耀星计划、DigiX 创新工作室加速终端应用和场景...

1173
来自专栏花叔的专栏

小程序2017年最后一波更新?

小程序又在半夜更新.... 这次更新内容非常多,但大多是之前公开课就提及过的。 1 实时音视频录制及播放能力升级 重点要提提这个更新,实时录制音视频组件和...

2495
来自专栏安恒信息

见招拆招 六招轻松抓住代维违规的“黑手”

所谓“代维”,是指企业将自己的IT系统外包给第三方进行包括系统配置、日常运维、系统管理等管理权限的操作。让专业的人干专业的事,这可以使企业本身从繁重的IT运维中...

2975
来自专栏owent

2016年总结

又好久没写blog啦。诶最近好懒啊。正好过年在家里有点空,写完我那些lib的patch之后还有一点时间写一下2016年的总结吧。

1193

扫码关注云+社区