devops ibm_将DevOps概念应用于您的IBM Business Process Manager项目

devops ibm

DevOps是一种集成了应用程序开发和IT运营的软件方法,在IT商店中继续获得发展势头。 但是,许多组织在谈论DevOps和有效实施它之间仍然存在差距。 本教程简要概述了DevOps,并介绍了如何在IBM Business Process Manager(BPM)项目上实现DevOps概念。

什么是DevOps?

DevOps是开发和运营的结合:这是一种软件交付周期的方法,可以对整个方法进行全面了解。 在最简单的层次上,DevOps尝试回答以下问题:“将好主意投入生产的最有效方法是什么?”

尽管DevOps作为一种技术是相对较新的,但是可以将这种想法与Edward Deming联系起来,他说您应该“打破部门之间的障碍”,并允许所有部门作为一个团队一起工作。 团队合作不仅有助于消除生产中遇到的问题,而且还可以帮助所有部门在从设计到部署和运营的整个服务生命周期中更有效地协同工作。

那么这到底是什么意思呢? DevOps与客户一起开始和结束。 客户需求开始了开发周期。 规划是确定如何满足客户需求的第一步。 业务需要能够对客户反馈做出快速React。 精益和敏捷技术促进了快速React的能力。 例如,精益方法的一个原则是尽快交付。 一种方法是避免大型的前期设计,而后期可能需要重新设计,从而造成延误。 相反,当团队准备构建功能时,团队可以及时捕获功能需求。

发展遵循计划。 同样,敏捷技术对于DevOps非常重要,尤其是短迭代会导致可以快速部署的事物。 诸如持续集成,自动化测试和持续测试之类的技术是DevOps方法的一部分。

最后,是时候进行部署了。 DevOps方法使用连续部署,即以高效,自动化的方式将代码移入生产环境的能力。 持续部署意味着一定程度的自动化以提高效率。

从DevOps角度剖析IBM BPM项目

现在,您已经对什么是DevOps有了基本的了解,请考虑一下它如何适合IBM BPM项目。 查看整个方法,从发现阶段开始,逐步进行生产部署。

发现和宏设计阶段

在开始IBM BPM项目之前,必须问一个重要的问题:“我们将执行什么过程?”

使用轻量级方法是回答此问题的关键。 流程清单可以快速确定哪些流程可以实施。 使用关注客户价值的标准有助于确定流程的优先级,并根据可交付的客户价值来选择要实施的流程。 这种价值目标定位是“智能流程方法”的关键,包括执行流程清单,创建路线图以及进行变化分析。 如果您想学习如何在项目中使用智能流程方法,请联系IBM服务。

选择流程后,从DevOps角度来看还有更多工作。 IBM BPM流程并非孤立存在。 它与其他系统集成。 发现阶段的一部分应包括识别那些系统及其提供的服务。 运营团队可以回答有关服务的问题,包括服务水平协议(SLA)和服务质量(QoS)。

“使用DevOps方法来捕获需求时,IBM BPM分析师和架构师需要设想超出“原样”模型及其约束的范围,而是研究应该是什么以及可能是什么。”

在发现阶段,通常以用户故事的形式开始捕获需求的过程。 团队不应忽视非功能性需求,包括与DevOps相关的需求。 例如,您可能有一个非功能性需求,概述了对连续部署功能的需求,该需求会驱动脚本的开发以支持该需求。

包括DevOps方法以捕获需求时,IBM BPM分析师和架构师需要设想“按原样”模型及其约束之外的问题,而是研究应该是什么以及可能是什么。 最终,团队构想了“未来”模型。

需求被提炼成用户故事。 团队根据故事与演员,他们的行动,他们的任务或预期收益的关系,将用户故事映射到流程。 发现工作以“零播放”演示告终,使各方共同了解过程模型,价值和范围。

根据项目和相关团队的复杂性和规模,发现阶段可以与侧重于审查风险区域的宏设计阶段相链接。 例如,您的团队可以审查与体系结构,服务集成和用户体验设计模式有关的风险。 您可以估计,分组和计划迭代交付以前定义的用户故事。

开发阶段

IBM BPM开发项目应遵循敏捷实践和原则。 关键概念包括在每个功能上与客户紧密合作,管理技术债务以及将开销降至最低。 在一个典型的IBM BPM项目中,开发人员在Process Designer创作环境中,根据技巧中包含的当前应用程序版本(例如,“ head”修订版)进行工作。 为了有效地实现持续集成,团队必须采用自动操作来提取快照(例如,“标签”修订版)并将这些快照安装或部署到Process Server。

持续测试是在开发阶段要考虑的另一件事。 在开发进行中从尖端进行测试可能会导致错误,因为组件正在开发之中。 解决此问题的常见模式是在已知时间剪切快照,然后将快照推送到Process Server环境以进行开发测试。 如前所述,DevOps方法要求采用一种自动方式来获取快照以进行连续测试。 至少从用户界面的角度来看,自动化测试也可能是一个挑战。 随着教练(IBM BPM用户界面)的发展,还必须更新自动测试脚本。 对于解决方案的其他部分,例如集成,请考虑使用测试工具,这些工具可以被编写和重用。 测试工具可用于包含教练的人员服务的输入和输出。

另一个敏捷原则是快速交付。 持续集成和持续测试提供了连续部署到生产环境的能力。 但是,对于组织来说,这往往是太多的变化,他们不愿意接受。 可以建立每两周或每月更常规的节奏。 但是,即使这种方法在某些组织中也可能是一个挑战。

“一些组织仍然认为,由于用户接受测试或培训等限制,需要一起发布需要花费数月时间开发的一组功能。如果在这种情况下发现团队,请开发一个版本基于时间的节奏,而不是完全基于功能的节奏。”

从用户的角度来看,某些团队可能会认为一个月或更短时间内可以完成的工作量不足以证明生产版本合理。 某些组织仍然认为,由于诸如用户验收测试或培训之类的限制,需要一起发布需要花费数月时间开发的一组功能。 如果发现您的团队处于这种情况,请开发基于时间的发布节奏,而不是纯粹基于功能的发布节奏。 大多数客户更喜欢每4-6个月发布或“上线”节奏。

有些组织直到开发完成后才开始用户接受测试。 与其采取这种方法,不如尽早让最终用户参与其中。 业务团队和主题专家应在每次迭代结束时运行回放演示,不仅要演示在他们的指导下开发的内容,还应获得实际最终用户对所交付用户故事的认可。 回放还充当了测试的介绍,业务,开发和测试团队在同一页面上讨论了在迭代结束时可以测试哪些故事。 您不必等到所有开发完成就可以进行测试。 在交付了关键流程之后,可能会进行更广泛的测试。 为了使这项工作有效且可见,请使用诸如IBM Rational Functional Tester之类的工具,以便团队可以查看每个用户故事的状态,并在用户故事通过验证后将其标记为接受。

从技术角度来看,必须将工作分解为几个小部分。 这包括从业务流程定义到指导,工具包和集成组件的所有内容。 这些挑战中的某些挑战可能需要花费更多时间并包含更多功能的第一版,然后采用连续方法,如以下部分所述。

连续流

想象一下,开发过程是一个连续的流程。 流程所有者按优先级顺序具有一些用户故事。 开发人员从列表中拉出下一个优先级最高的故事,并与流程所有者和主题专家一起开发用户故事。 他们向流程所有者演示该故事,然后该流程所有者接受该故事。 流程所有者执行测试,现在故事可以投入生产了。 如果您的流程应用程序本质上是非常模块化的,则该技术可以与业务,开发,测试和运营部门的代表组成的小型自我管理团队一起使用。

部署和运营阶段

您可以使用IBM BPM的自动部署功能来创建快照并将其推送到运行时服务器。 从Process Center控制台,快照可以自动从测试环境发送到生产中的任何在线服务器。 但是,这不是部署的唯一选择。 如果您在Process Center和Process Server之间没有直接连接,则可以选择脱机部署。 如果您想限制谁可以部署到生产环境,或者想在更复杂的环境中支持DevOps方法,请考虑使用离线部署。

到目前为止,您已经学会了从纯粹的IBM BPM角度看待DevOps方法,但是如果您的解决方案更复杂怎么办? 例如,您可能以“无头”的方式将IBM BPM与移动界面结合使用,配置了云解决方案,或者提供了包含多个相关代码段的复杂解决方案,其中所有组件的代码都必须进行协调并一起部署。

对于更复杂的解决方案,请考虑使用诸如IBM UrbanCode Deploy之类的工具来解决问题。 可以将每个组件(包括IBM BPM)配置为一个整体应用程序的组件。 对于IBM BPM,脱机服务器部署模式可以用于所有环境,而不仅仅是生产环境。 例如,当需要进行用户验收测试时,可以将所有组件同时放入用户验收测试环境中,无论是IBM BPM,移动前端还是任何其他代码。 IBM Urban Code Deploy可以实现连续部署,因为所有组件都被一起管理。

反馈回路

流程应用程序投入生产后,就该监视该应用程序了。 从业务角度来看,可以将IBM BPM设置为捕获有关流程的重要度量。 在开发过程中,团队应建立与关键业务目标相关的跟踪点。 例如,如果目标是在特定时间范围内做出决定,则跟踪点可以确定达到该目标的频率。

监视不仅涉及业务目标。 考虑监视应用程序的运行状况。 跟踪数据(例如CPU利用率或内存使用率)可以确定需要解决的问题。 运营团队需要在开发过程中与开发人员一起确定监视需求。 这是非功能性需求发挥作用的另一个领域。 例如,想象一个非功能性需求,该需求指出数据库查询需要在2秒内返回结果。 必须建立跟踪此SLA的能力,并且运营团队必须确保合规性。 如果确实出现问题,则操作可以与开发人员一起解决。

如果存在一组复杂的监视需求,则开发人员和运营团队可以在仪表板上工作以提供必要的可视化效果。

结论

本教程介绍了DevOps方法的一些概念,并讨论了如何在IBM BPM项目中应用这些概念。 IBM BPM可以轻松实现DevOps功能,包括持续集成和自动化部署。

当一个解决方案涉及的不仅仅是IBM BPM时,该解决方案将变得更加复杂,您应该考虑使用诸如IBM UrbanCode Deploy之类的工具对DevOps实施更复杂的方法。

现在,您已准备好计划如何将DevOps方法应用于IBM BPM项目。

致谢

作者要感谢Jerome BoyerGuy Lipof对本文的评论和投入。


翻译自: https://www.ibm.com/developerworks/bpm/library/techarticles/1501_tarne/1501_tarne.html

devops ibm

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值