3.1 集成和数据共享
服务设计通常依赖于多个系统之间的集成(integration),在这种情况下,理解集成建模的不同层次相当重要。例如:
- 应用程序级 应用程序之间是相互交互的。
- 企业级 已集成的应用程序共同提供价值。
- 业务级 现有的业务服务是协调的(aligned)。
随着时间的推移,出现了许多集成方法,每一种方法都有其特定目标,这些目标对集成的成功非常重要。集成方法的选择需要考虑多个因素,包括可靠性、容错性、成本、复杂性、预期演化、安全性和可观察性。
良好的集成能支持和加强支撑价值交付的流程。有效的集成必须基于对集成所影响的利益相关者的清晰理解,并旨在支持这些利益相关者的工作方法和需求。
集成的性质各不相同。在某些情况下,只需要从一个系统到另一个系统的一次性交接,如一次调用控制系统以更改参数。另一些则需要两个系统之间持续的、双向的协调过程,例如,支持代理可能与外部供应商的代表协作,而他们各自使用单独的工单系统。
当数据从一个系统传递到另一个时,重要的是要确保遵守法规的义务,如隐私性、安全性和机密性。
3.1.1 集成拓扑
集成设计需要了解和考虑集成多个系统的不同拓扑方法。有两种普遍接受的拓扑:点对点和发布-订阅(point-to-point and publish–subscribe)。
点对点 集成涉及系统的直接链接对,可能是适合于少数集成系统的简单服务。但是,这种方法有一些缺点:
- 连接的数量与集成系统的数量成比例快速增长,需要进行n(n-1)次集成。双向集成实际上可以算作两个独立的集成.
- 不同的集成协议和方法的数量可能很多,这增加了复杂性。
发布-订阅 是另一种拓扑形式,在该拓扑中,系统将消息发布到事件代理,该代理将消息转发到指定为接收者的系统。这种方法提供更好的可伸缩性,更松散的耦合降低了实现的复杂性(发布系统甚至不需要了解订户)。但是,可靠性可能是一个挑战,特别是当发布者不知道订阅者尚未收到消息时更是如此。
代理架构可以采用总线的形式,其中转换和路由通过每个集成系统(或集线器和分支)的本地适配器完成,而适配器在此集中。总线模型不受单个集线器的限制,因此具有更高的可伸缩性
3.1.2 整合方法
当服务实现依赖于多个集成时,考虑这些集成的交付方法很重要。表3.1概述了三种方法。
表格 3.1 交付方式
大爆炸 | “大爆炸”方法涉及到一次交付所有集成。这对测试有潜在好处,因为整个系统在正式推出前即已就绪。但与软件开发一样,使用这种方法交付的集成项目可能会变得过大和复杂,从而可能导致故障排除等问题。因此,该方法适用于集成系统较少、集成风险更低的简单服务实施。 |
增量交付 | 增量交付是一种更敏捷的方法,用于集成多个组件,其中以预定义的顺序分别引入新的集成。增量交付减少了了每个独立交付到生产的规模,从而可以对部署后的问题执行故障排除并予以解决。这种方法可以在大多数情况下使用。然而,由于在每个集成就绪前总体服务仍不完整,所以服务测试可能需要大量的模拟考虑未交付的元素。回归测试的负担也可能很大. |
使用(价值)流直接集成 | 直接集成允许各个集成在准备就绪后立即部署,而不需要预先确定顺序。直接集成提供了更大的敏捷性,并支持快速的初始进展。像增量交付一样。该方法可能需要大量的仿真促进足够的测试。整个服务的全局测试,甚至其中功能链的子集的全局测试,只能在服务实现的后期运行。 |
ITIL 故事: 集成和数据共享
雷尼:起初,我们的自行车租赁服务的试点将具有最小的功能。随着时间的推移,我们将与客户协商增强功能。
索尔马兹: 如果证明新服务大受欢迎,我们的策略是在艾克苏链中的其他分支机构部署自行车租赁服务。选择可扩展并与现有艾克苏基础架构和系统兼容的技术、信息模型和软件开发方法非常重要。
亨利: 我们可以为此服务使用集成和数据共享。自行车租赁服务想要成功就需要整合许多数据存储和系统,并根据需要扩展:
- 在应用程序集成级别,我们需要一个客户预订系统,该系统能够预订汽车和自行车。
- 在企业集成级别,我们需要一个财务交易系统,该系统可以集中管理并能够在所有分支机构中部署。
- 在业务集成级别,我们希望向租车者提供自行车租赁服务,反之亦然。让我们的客户有机会将它们结合起来,将提高我们所提供服务的价值
3.2 报告和高级分析
高级分析是使用高级技术和工具对数据或内容进行的自主或半自主检查。高级分析超越了传统的商业智能,能够揭示新的或深刻的洞察,做出预测或生成建议。
一些高级分析技术有:
- 复杂事态处理
- 数据/文本挖掘
- 预测
- 图分析
- 机器学习
- 多元统计
- 网络和聚类分析
- 神经网络
- 模式匹配
- 语义分析
- 情绪分析
- 模拟
- 可视化
数据科学、预测分析和大数据成为研究人员和企业越来越感兴趣的领域。
许多组织有大量的原始数据,但有用的信息很少。数据本身是无用的;但信息可以提供答案。信息是已被转化为有意义的洞察、统计、报告、预测和建议的数据。例如,每天每个产品/服务的销售数据和开票的客户是数据;销售趋势,按地区、行业的客户购买偏好以及产品/服务的总体收益率排名是信息。
为了将原始数据转换成有价值的信息,遵循流程很重要。此流程称为数据分析。
3.2.1 数据分析
定义:数据
已被翻译成可有效移动或处理的形式的信息。
数据分析是一种检查数据集的方法,通常使用专门的软件,以得出关于数据集所包含信息的结论。数据分析技术在工业中得到了广泛的应用。例如,数据分析使组织能够做出明智的业务决策,并帮助科学家和研究人员验证或推翻科学模型、理论和假设。
图 3.1 数据分析
在数据分析中,组织为了从数据中获得最大收益,遵循一条典型的路径(请参见图3.1):
- 数据工程 使用编程语言(如Python,R,Java,SQL或Hadoop)处理数据,并准备分析。
- 数据科学 使用R、Azure ML或Power BI等工具分析数据并获得洞察。
3.2.2 大数据
大数据是描述大量结构化、半结构化和非结构化数据的术语。从大数据中提取有意义的信息,需要处理能力、分析能力和技能。
对数据集的分析可以发现数据内部的相关性。例如,分析可以挖掘业务发展趋势,查明健康问题,并防止欺诈。科学家、企业高管、医生和政府经常发现大数据难以应付,但当领域专家将其专业知识应用到这一流程中,大数据就可以帮助创建新知识。
运行自身大数据服务器的成本促使许多系统管理员寻求更具可扩展性和成本效益的解决方案。但是,人们已发现云可用于大数据的存储和处理。云存储涉及到将数字数据存储在逻辑池中。物理存储跨越多个服务器,物理环境通常由托管公司拥有并管理。这些云存储提供商负责确保数据可用且可访问,并且确保物理环境受到保护和可运行(更多信息请参阅基础结构和平台管理实践指南)。
数据越复杂,在其中寻找价值的挑战就越大。在确定某个特定解决方案是否合适并制定最佳方法时,理解和评估数据的复杂性非常重要。
以下准则可用于评估组织数据的复杂性:
- 数据大小 千兆字节、太字节、拍字节(Petabyte)或艾字节(Exabyte)。体积不是唯一的考虑因素,还应该将数据组织成数千或数百万行、列以及其他维度。
- 数据结构 与同一主题有关但来自不同来源的数据可能以不同的结构提供。
- 数据类型 结构化的数据,如客户订单数据库中的条目,可能会是字母、数字或其他不同数据类型。非结构化的数据可以多种形式存在,包括自由格式的文本、社交媒体上的对话、图形以及视频和音频记录。
- 查询语言 数据库系统使用查询语言从数据库请求数据。
- 数据源 数据源的数量越多,内部数据结构和格式差异的可能性就越大。有时,数据可能没有以特定格式提交。不同来源的数据必须统一(格式),以便准确比较。
- 数据增长率 数据的数量和种类可能随时间增加。
生成有用的仪表板和报告有四个步骤:
- 连接到各个数据源 数据可以存储在不同的数据库、数据中心、云等中。必须与用于存储数据的平台建立连接。
- 数据提取、转换和加载(ETL) 目标是创建一个包含与来自每个数据源的数据兼容和版本有效的存储空间。
- 查询集中式数据 用户查询必须快速有效地执行。
- 数据可视化 从来自不同数据源的ETL数据上运行所得的查询结果以一种格式显示,用户可以根据自己的需要和偏好使用这种格式。
ITIL 故事: 报告和高级分析
亨利: 艾克苏的数据商店包含有关车辆租赁、客户偏好和使用方式的信息。我们在决定变更服务时会使用此信息。在客户的明确许可下,我们收集和存储供分析的数据,并根据本地和国际法律法规管理。
索尔马兹:在开发的每个阶段,我们必须确保电动自行车租赁服务收集到适当的数据,这将使我们能够执行数据分析。我们使用预测、可视化、模式匹配和情感分析之类的技术提供客户需求。
雷尼: 因为该服务是新的且相当简单,所以对试运行版本分析数据很容易。当服务完全运行并集成到艾克苏的产品组合中时,将很难找到模式和趋势。为帮助了解客户,我们需要考虑在每个阶段最有价值的数据。
3.3 协作和工具流
3.3.1 协作
管理工作越来越多地采用敏捷方法,在软件开发领域更是如此。这种方法已经触发了使用支持该方法的工具和方法的相关要求。表3.2予以了概述。
表格 3.2 支持敏捷方法的工具和方法
工具或方法 | 说明 |
使工作可视 | 使用实物板和地图、颜色和图形可视化手头的工作,展示团队计划如何处理工作,并绘制和记录其在工作流中的旅程。尽管许多信息技术工作管理系统包含大量数据,但很少可被轻松查看或使用。瓶颈可能不会被注意到,要解决时为时已晚。 隐藏在视野之外的工作或问题可能会被延迟或未解决,要么是因为没有人意识到,要么是因为这些工作或问题超出了指定的责任范围,要么是因为很少有人拥有知识或有能力解决。 |
在基于主题的论坛中工作 | 虽然电子邮件在工作场所的管理工作中仍然占主导地位,但个人文件夹、重复信息、丢失附件等特性隐藏在巨大的、嵌套的电子邮件链中,意味着经常会浪费时间搜索重要信息。 好的协作工具以论坛的方式,让个人和团队可以直接参与讨论。论坛促进了基于主题的领域、小型项目和销售活动等,这些仅有参与讨论的个人获得。这种工作有助于提高效率,避免因为搜索文档而浪费时间。 |
映射工作流 | 团队和项目使用的以可见的格式展示和应用于工作的模型。工作包、时间表、人员和输出显示为有形且易于访问的元素。该工作可供组织中的其他人员查看。这种透明度可以促进团队之间更好的交流和协作,从而避免大型组织内部通常的挑战。问题和难题并不遵循组织的典型报告路线,因此需要通过检查团队之间或跨团队时可能忽略的差距、遗漏或潜在障碍来不断改进协作。 |
以小团队和冲刺方式工作 | 这是Agile和DevOps中的关键元素,小型集成团队以端到端价值流的形式处理离散的工作包。 工具和跨团队方法应该动态地反映这些团队的性质,通常在有限的时间内作为矩阵资源模型的一部分运行,或由于灵活的问题处理方式(如全功能团队)而运行。为了实现其目标,相关的团队可能仅需要简单的文档、批准流程和阶段。 |
使用简单的反馈机制 | 沟通并不需要过于正式的或复杂的。实际上,如果沟通很容易理解,通常会有更大的机会引起人们的注意、理解和采取行动。客户和员工反馈的收集应是即时且直观的。 |
协作和“社交媒体”功能 | 某些社交媒体功能正被基于工作的工具采用。许多人已经习惯了“点赞”、“转发”或“分享”等功能,这些功能可以在工作环境中提供有用的数据。此外,表情符号也可用于表示反馈。 |
3.3.2 工具和功能
许多用于协作的工具设计成类似于用户在社交媒体上熟悉的界面,包括:
- 通信墙 许多社交媒体平台的一个特点,尤其是那些致力于交流的平台。墙可用作一般交流的中心区域。
- 基于主题的论坛和文件夹 这些可与不同数量用户的特定主题相关,从单个专家到大型团队或基于主题的领域、项目、操作领域、生命周期领域或特殊兴趣组。
- 事故调查 支持软件通常提供通过调查收集即时客户反馈的功能。尽管可以通过强调简洁简单以及深思熟虑的调查设计改善,但客户对这些问题的回答率通常很低。
- 门户 用于请求服务或报告问题的可操作门户变得越来越普遍,从而减少了对电子邮件的低效使用。良好的设计和用户体验对于其成功采用至关重要。
- 自助 知识库直接为用户提供解决方案,对于解决简单和低风险的问题很有用。
- 社交媒体功能 协作工具为用户提供简单而有效的方式响应和提供反馈。
3.3.3 IT和服务管理工具中的工作流
许多IT和服务管理工具的最新开发和改进所提供的功能是能够在产品中动态地构建、映射和管理流程工作流。这种功能通常是通过一个锁定的开发界面实现的,这样就可以在不需要脚本或编码的情况下更改工作流元素,意味着可以由技术水平较低的前线人员实现。
这些管理工具的界面通常以熟悉的流程映射格式设计,包括泳道和行动框、决策点、并行流和依赖关系。这些工具支持协作,减少了更改的准备时间,并以简单的图形格式展示工作流。
ITIL 故事: 协作和工作流
雷尼:起初,试运行版本的工作团队很小,我们的做法具可见性,以非正式方式反馈,我们将密切合作。如果试运行版本成功,我们将需要调整我们的做法以保留这些品质,以便在向所有分支机构扩展产品时提供高效的服务。我们希望将熟悉的社交媒体功能(如评论论坛和聊天室)作为服务供应的一部分,实现客户与艾克苏人员之间的双向通信。
3.4 机器人流程自动化
机器人流程自动化(Robotic Process Automation, RPA)是组织简化业务运营、降低人员成本并减少错误的一种潜在方式。使用软件机器人(机器人)可自动化重复的和平凡的任务,从而可将资源部署到其他更高价值的活动中。机器人可用来模拟人类通过屏幕或应用程序执行的活动,以便捕获、解释和处理事务。机器人可以触发响应,以一致和可预测的方式创建和操作数据。机器人通常成本低且易于实现,无需重新开发现有系统,也不涉及现有系统中的复杂集成。RPA潜在的好处是显而易见的,因为RPA允许以一种成本高效的方式实现一致、可靠和可预测的流程。这种一致性可以减少关键流程中的错误、增加收入、改善客户服务,从而提高客户保留率。
3.4.1 在哪里使用RPA?
RPA能产生最大收益的流程往往是大量、易出错且对故障敏感的流程。基于规则的流程和无需复杂决策的流程可使用这种自动化方法。
更复杂的RPA工具结合了机器学习和人工智能(AI)。这些工具取代了机械式反馈的方法,可以适应和应对各种输入。
部署机器人可能看起来很简单,但RPA可能很脆弱。与RPA交互的应用程序即使是简单更改也可能导致意想不到的结果。对人类来说,一个小的修正可能看起来很简单,但RPA可能无法容忍。如果更改导致故障,则可能影响性能或损坏数据。
RPA的设计和开发在应对变化时应具有健壮性。尽管如此,RPA还是有局限性。RPA的开发通常需要配置和脚本定义所需输入和输出。尽管这些脚本很容易构建,几乎不需要什么专业技术知识,但应将这些脚本视为软件资产并进行类似的管理。对RPA应与对任何其他软件一样应用测试、配置管理和变更管理。
3.4.2 RPA技术
通常,RPA技术有三种类型:
- 流程自动化 侧重于依赖结构化数据的自动化任务(如电子表格)。
- 增强的智能流程自动化 可用于非结构化数据(如电子邮件和文档)。这种类型的自动化可以从经验中学习,并将所收集的知识应用于其他情况。
- 认知平台 这些平台可以理解客户的查询,并执行以前需要人工干预的任务。
企业开始使用RPA,以及语音识别、自然语言处理和机器学习等认知技术,将传统上分配给人类的基于感知和判断的任务自动化。认知技术和RPA的集成正将自动化扩展到新的领域,可以帮助组织在采用数字化转型时变得更高效和敏捷(参见图3.2)。
图3.2 人工与机器人流程自动化 Schatsky等后. (2016)
RPA软件和硬件可以自动执行重复性的、基于规则的流程,这些流程通常由坐在计算机前的人员执行。机器人可以模仿人类行动打开电子邮件附件、填写表格、记录数据和执行其他任务,可以看作是分配给中后台处理中心的虚拟劳动力。
认知技术与RPA的集成使得将自动化扩展到需要感知或判断的流程成为可能。自然语言处理、聊天机器人技术、语音识别和计算机视觉技术的加入,使机器人能够从语音、文本或图像中提取和构造信息,并传递到流程的下一步。
成功的RPA计划有几个好处,包括:
- 降低劳动力成本 机器人部署后唯一的费用是维修和维护软件。
- 提高吞吐量 由于机器人可比人类更快地完成手动任务,包括开发、测试和部署软件,因此可以缩短新产品的上市时间,从而加快投资回报(ROI)。一年四季机器人都持续可用。
- 提高准确性 机器人能够实现近乎完美的准确性,从而在整个价值流、价值链和SVS中提高卓越性,提供了与标准输出水平更一致的体验,对业务/IT性能和客户体验有更深入的了解,并减少了人为错误的水平。
3.4.3 RPA 注意事项
不应低估应用程序和环境更改对RPA的影响。如果没有战略思维、治理、控制和明智的应用程序支持总体策略,RPA就有可能成为未来的遗产应用。
与任何服务或工具一样,应谨慎对待RPA实施。RPA实施需要适当的计划、分析、设计和治理流程,包括以下注意事项:
- 垃圾进垃圾出 如果没有可以遵循的标准流程,那么使用机器人运行关键流程将是一个挑战。
- ITIL 指导原则 例如,优化并使其自动化和简单实用。确定最有可能实现自动化的领域,并据此对自动化进行优先级排序。
- 在合适的人中开发合适的技能 例如,如何有效地安排和使用RPA。
- 确定切合实际的投资回报率的期望 设计完善的商业案例,并说明成本、风险和对董事会的好处。
- 在业务和IT之间启用强协作 应特别考虑RPA项目所有者和IT,因为这两个业务领域都无法独立工作。
- 执行自动化 将自动化视为具有短暂迭代的路线图。
ITIL 故事: 机器人流程自动化
因杜: . 随着时间的流逝,新自行车租赁服务的流程和实践将融合并变得标准化。在那个阶段,我们将寻求使用低成本且易于实现的机器人软件自动化重复性工作,如输入客户和自行车的详细信息的数据,这将有助于一致性、可靠性和可预测性。
3.5 人工智能
越来越多使用的认知技术在服务生命周期的每个阶段提供了更多的自动化,并增强消费者和服务人员的服务体验。认知技术在软件开发和运维等相关的和支持的领域的应用也越来越普遍。
尽管AI技术已经存在了数十年,但新一代的基于云的工具使得人们对它的关注和使用显著增加。现在许多AI工具作为公共云服务提供,从专业AI供应商到主要提供广泛服务的云供应商都提供了一系列的选择。这些云服务显著提高了AI工具的可访问性,解决方案以前可能需要复杂的技术和大量的财务支出,现在可以以相对较低的成本通过调用简单的API(应用程序处理接口)随需而变。
该领域存在大量的营销炒作和误解,因此至关重要的是,必须清楚理解采用AI和任何潜在解决方案的关键组件、功能和约束的业务目标和预期结果。
3.5.1 架构考虑
AI技术的实施往往需要在硬件、软件和专业知识方面进行大量投资。在过去,费用和复杂性限制了AI的使用,但自从新一代基于云的服务出现后,AI已成为主流。
AI技术越来越多地从主要的供应商那里获得并作为公共云服务使用,现在所有主要的云服务提供商(CSPs)都提供一系列服务,解决许多不同的优先级或“用例”。这些服务将领先的AI产品置于API调用的末端,因此许多组织现在使用AI支持交付给用户的数字服务。
此外,一些服务管理工具供应商现在将AI驱动的特性作为产品的一部分,如面向最终用户和支持代理的对话工具、自动分类或路由,以及语言工具(如翻译和情感分析)。
这些服务的一个好处在于他们通常是专为服务管理用例设计和配置的。与通用的AI工具相比,这些服务可以提供更直接的价值,而通用的AI工具可能需要额外的工作才能与所需的用例保持一致。这些服务可由供应商自己的AI软件支持,也可以利用专业AI供应商的技术。
然而,本地AI实施可能仍然有显著的优势。AI需要大量的计算能力和处理时间才能运行,可能会导致在此基础上计费的公共云供应商收取高额费用。因此,特别是在规模或时间上,使用专用的本地硬件可能更经济。事实上,许多供应商现在都提供专门用于AI的服务器和软件。
考虑可移植性和被厂商锁定的风险也很重要。如果数字服务依赖于第三方提供的特定AI服务,那么在未来转向不同的提供商可能是一个挑战。
3.5.2 应用与价值
AI技术为服务设计者提供了一套广泛的新工具,并且有可能预见到在服务管理中应用AI的许多新创新。AI在服务设计和提供方面的一些常见应用包括:
- 流程和决策自动化 基于对已知事实的分析,使用AI确定要遵循的适当流程分支。
- 自然语言处理 为翻译、摘要或情感分析等目的解释非结构化文本。
- 对话界面 使客户或服务代理能够使用正常的书面或口头语言与服务管理工具交互,一个常见的示例是用于自动化自助服务的聊天机器人。
- 预测分析 对度量标准或情况未来状态的预测,从而能够主动决策。
- 发现 从大量信息中识别有用的洞察,如日志文件、知识库或以前记录的工单。
3.5.3 AIOps的增长
另一项将改变未来IT服务管理方式的新兴技术是AIOps和AIOps平台的出现。2016年,Gartner首次描述了IT运维领域结合大数据、分析和机器学习实践的这些平台4。术语AIOps最初来源于算法化的IT运维,尽管AIOps经常认作IT运维的人工智能的同义词,便于对该主题更清晰地描述。
与其让各个团队孤立地监测基础设施的各个部分,不如将所有重要的监测数据集中在一个地方,然后使用机器学习识别模式并检测异常。这可以帮助IT运维更快地识别和解决严重性高的事件,甚至帮助IT运维在潜在问题发生之前检测出来。AIOps还可用于自动化日常任务,以便IT运维团队能够专注于更具战略性的工作。AIOps旨在将人工智能引入IT运维,以应对基础设施不断发展的现代趋势所带来的挑战,如软件定义系统的增长。这些新技术的含义,如基础设施重新配置和改造速度的增加,需要更多的自动化和动态管理技术,可能对组织的数字服务产生重大影响。
AIOps利用数据平台和机器学习,收集观察数据(如事件、日志文件、运营指标)和参与数据(如客户请求和服务台工作单),并通过应用认知或算法处理获取洞察。
这些洞察可用于推动一些或全部范围内的共同输出,例如:
- 问题检测和预测 帮助服务组织更快地对事件做出响应。
- 主动系统维护和调整 减少人为努力和潜在错误。
- 阈值分析 能够更准确地了解系统的正常运行范围。
一些组织还开始在IT运维之外使用AIOps,为业务经理提供IT对业务影响的实时洞察。这使业务经理了解情况,并能够基于实时的相关数据做出决策。
ITIL 故事: 人工智能
因杜: 我们可能会考虑使用聊天机器人使客户能够与我们的预订系统交互,或者出于翻译目的而使用自然语言处理,允许客户以自己的语言预订车辆。这些可以与流程和决策自动化、预测分析和发现结合。
3.6 机器学习
机器学习是AI的一种应用形式,基于对数据响应的系统原理。而且,随着机器学习不断地接触到更多的数据,就会相应调整行动和输出。在用机器学习支撑服务的地方,这本质上意味着机器学习成为了决策的基础,代替了由人类服务设计者创建的指令所定义的路径。
随着任务复杂性的增加,将机器学习映射到该任务变得更加困难。机器学习通常最适合于解决特定问题。例如,可以有效地使用机器学习对所支持记录上的数据分类做出决策,这可能随后会驱动路由分配等其他决策。
3.6.1 监督和无监督学习
监督学习是最常见的机器学习方法。在起始点(输入)和预期的结束点(输出)都定义良好的情况下使用。监督学习可以表示为一个简单的方程式:
Y = f(X)
在此等式中,X表示输入,Y表示输出。机器的工作是学习如何将X变成Y,有效地建立由f定义的函数。
作为该学习过程的一部分,监督者需要确定:
- 使用了学习算法
- 用于训练机器的样本数据集。例如,在IT服务的背景中,样本数据集可以是来自记录系统(如IT和服务管理工具集)中结构化数据行,每行都覆盖了一个“已知的良好“,即之前基于输入范围做出的人为输出的决策。
监督学习系统最初可以使用现有的数据训练系统。当系统产生的结果达到要求的精度水平时,就认为该系统已得到充分训练。然后对系统进行任何必要的手动更正,进行中的训练可以继续提高输出的可靠性,从而减少持续监督的需要。
监督学习非常适合于分类问题(如识别垃圾邮件)和回归问题(如分析变量指标何时能达到特定阈值)。
无监督学习也需要输入数据,但这种方法不使用先前决策中的现有输出数据,并且没有监督者。与之相反,机器仅从输入数据中学习。
无监督学习非常适合于“聚类分析”(在数据中识别固有分组)和“动态基线”,后者根据指标过去的行为预测未来行为。在数字服务的背景下,无监督学习可能检测到先前未知的因果关系,如当发生故障X时发生故障Y的可能性。
3.6.2 机器学习的优点和局限性
在IT服务的背景下,机器学习的一个关键优势是能够从大量的数据(在广度、深度、更新频率或三者的组合方面)中获得有价值的结果,而这些数据是人类难以处理的。机器学习可以提高决策的效率或准确性,并可能实现全新的数据驱动的决策自动化,而这种决策让人类评估是不实际的(如数据点数量过多)。
然而,机器学习系统的性能完全取决于系统的数据、所使用的算法,以及在监督系统中训练的质量。如果输入的数据包含固有偏差,可能会直接使结果失真。这个问题已经引起了一些备受瞩目的媒体报道,如当机器学习系统暴露并传播源数据中的种族偏见时。
选择和实现正确的算法很重要,且需要对数据科学原理和数据集本身的性质(包括数据集的异常值等方面)有很好的了解。训练一个有监督的系统需要监督者清楚地知道哪些结果实际上是正确的。
机器学习系统面临的另一个重大挑战是数据处理可能缺乏透明度。确定性算法系统的行为是由人类定义的,可以进行研究。而与确定性算法系统相反,机器学习系统的行为可能很难解释,特别是在有许多输入参数的情况下更是如此。
深度学习是基于人工神经网络机器学习的一个子集。这种学习可以是有监督的、半监督的或无监督的,依赖于以动物大脑中发现的生物神经网络为模型的计算系统。这些系统通过示例学习,逐步调整每个实例中驱动处理的权重因子。
ITIL 故事: 机器学习
因杜: 机器学习是AI的实际应用。此项目通过将数据映射到以下内容,可以使用机器学习了解哪些循环路线超出了我们电动自行车当前电池容量的范围:
- 电池电量耗尽的位置
- 客户采用的路线。
这样的成果可能鼓励未来的客户选择风景优美且有趣的路线,而这些路线应在我们电动自行车的电池范围之内。
另外,我们可能会找到在超出电池范围的热门路线上,为电池充电的方法;例如,通过与当地地标附近的服务站联系,客户可以为自行车充电。
3.7 持续集成、持续交付和持续部署
持续集成、持续交付和持续部署(CI / CD)是主要与软件工程相关实践的描述性术语,是精益和敏捷软件开发的核心。这些实践的采用量正迅速增长,在实施由软件开发支持的服务时,重要的是要了解CI / CD的定义特征以及不断发展的系统开发实践的背景。
定义
- 持续集成 一种在软件开发环境中集成、构建和测试代码的方法。
- 持续交付 一种软件开发方法,可以随时将软件发布到生产环境中。可能会进行频繁的部署,但是部署决定要视具体情况而定,这通常是因为组织喜欢较慢的部署速度。
- 持续部署 一种软件开发方法,变更通过流水线进行并自动投入生产环境中,每天可以进行多个生产部署。持续部署依赖持续交付。
这些方法得到软件开发和管理、服务验证和测试、部署管理、基础架构和平台管理以及发布管理实践的支持。这些实践涉及特定的技能、流程、过程、自动化工具以及与第三方的协议。
它们支持集成、交付和部署的连续流水线,也将影响其他实践的设计,如服务配置管理、监测和事故管理、事件管理等。
CI / CD实际上是一种以敏捷方式交付软件的实用方法,与敏捷宣言中定义的原则集一致:
- 我们的首要任务是通过尽早以及持续交付有价值的软件来满足客户。
- 即使在开发后期也欢迎不断变化的需求。敏捷流程利用变更为客户带来竞争优势。
- 频繁交付工作软件,从几周到几个月不等,最好选择较短的时间范围。
- 在整个项目中,业务人员和开发人员必须每天一起工作。
- 围绕有积极性的个人构建项目。给他们提供所需的环境和支持,并信任他们能完成工作
- 向开发团队和在开发团队内部传达信息的最有效的方法是面对面对话。
- 工作软件是进度的主要衡量标准。
- 敏捷流程促进可持续发展。发起人、开发人员和用户应能够无限期地保持着恒定步伐。
- 持续关注卓越的技术和良好的设计可提高敏捷性。
- 简洁——将未完成的工作量最大化的艺术——必不可少。
- 最好的架构、需求和设计源于自组织团队。
- 团队会定期思考如何提高效率,然后相应地调整其行为。
CI / CD以及敏捷运动遵循更广泛的原则,通常认为与瀑布式服务开发方法完全相反。瀑布式方法将系统开发/实施过程定义为线性阶段,每个阶段仅在上一步完成后开始。
CI / CD有时会与DevOps合并或混淆,但这是一个过于简单的观点。尽管CI / CD的建立采用DevOps的固有内容,但DevOps拥有更广泛的情景,除了系统交付的特定机制外,DevOps还包括团队组织和文化。
3.7.1 目标和价值衡量
CI/CD的主要目标是支持对系统进行更小、更频繁的变更部署。这样做的目的是降低风险(通过降低每个部署的复杂性),同时增加价值共创的速度(通过有用的变更能更快地交付给消费者)。较小的变更更容易理解、使用、测试、故障排除和(在必要时)回滚。
敏捷运动建立在拒绝大型、复杂的项目的基础上,这些大型、复杂项目很少交付大量有效载荷,被视为无效的主要原因是:
- 大型生产部署的复杂性增加了引入新问题的风险,并增加了故障排除的难度
- 发布间隔时间长,降低了快速交付价值的机会,导致机会成本,并降低组织调整其服务以适应新的紧急情况的能力
- 线性开发框架减少了与消费者定期互动的机会,从而增加了解决方案不能满足消费者需求的机会。
CI/CD团队通常通过向生产系统快速、高效、可靠地交付代码更改的能力定义其成功。在以从事CI/CD工作的软件开发人员的工作为基础设计服务时,务必要意识到这些目标。
CI/CD的基本部分是优化从开发到生产的变更流。CI/CD团队通常非常注重识别和消除降低交付速度的瓶颈。这常常导致人们将重点放在自动化交付上,否则将需要大量的人工工作。
尽管保持高速部署对CI/CD至关重要,但团队还必须确保每个变更都保持在适当的质量水平。验证和测试每个变更依然很重要,但由于需要快速完成,因此这些流程通常是自动化的。
3.7.2 CI/CD 流水线
CI / CD实施的关键组成部分是流水线。该术语定义了工具、集成、实践和防护栏的集合,容纳着从最初的设计和开发到部署再到生产的连续的、基本自动化的变更流。
该流通常分为三个不同的阶段:
- 构建自动化(CI阶段) 此阶段包含编码实践,如版本控制,以及将多个开发人员的变更合并到一个分支中。
- 测试自动化 此阶段的每个变更都作为开发流动链的一部分进行自动测试和验证。
- 部署自动化 此阶段涉及将代码从生产前环境迁移到生产服务的实际流程的自动化。
实施CI/CD的组织或团队的主要重点是减少需要手工的工作量(如果保持不变,这些手工工作量将妨碍CI/CD流水线的流动,不会交付一定比例的特定值。)这种工作有时被称为“苦活(toil)*”。谷歌的站点可靠性工程5将苦活定义为具有某些或全部特定特征的工作:
- 手工 需要人工操作的工作。
- 重复性 一遍又一遍重复相同任务的工作。
- 可自动化 不需要人工判断的自动化工作,因此可以通过机器实现。
- 战术型 工作是由中断驱动的和被动的,而非由策略驱动和主动的。
- 没有持久的价值 对服务没有任何永久改进的工作,在任务完成后处于相同的状态。
- 线性扩展 根据服务大小、流量或用户数量按比例扩展的工作。
在设计和实现依赖于CI/CD实践的有效运营的服务时,重要的是要消除或避免苦力。否则可能会限制服务的可伸缩性,并不必要地增加提供服务的成本,在服务增长的情况下尤其如此。
3.7.3 将CI/CD与ITIL对齐
Agile软件开发以及扩展的CI/CD的核心方面与每条ITIL指导原则紧密相关:
- 聚焦价值 敏捷开发旨在为客户提供尽早和连续的价值。
- 从你所处的地方开始 敏捷建立在持续不断的增量开发概念之上,而不是在经过漫长的开发周期后大量发布。
- 基于反馈迭代推进 敏捷提倡连续反馈循环。
- 协作和提升可视化程度 良好的敏捷产品交付要求对所有交付参与者的工作中可有效地可视化,以及与获得交付服务的消费者的持续交互。
- 通盘思考和工作 敏捷开发侧重于业务的全局和消费者期望实现的目标。
- 保持简单实用 敏捷开发基于精益原理。因此,非生产性、低价值的活动视为浪费并被消除。
- 优化和自动化 持续的反馈回路和减少的工作量是良好敏捷实践的基础。
在与CI/CD流程以及负责这些流程的团队合作时,个人和团队应积极寻求机会增强成功率。
例如,与其假设需要控制通过CI/CD流水线进行的变更,不如考虑是否有更好的方法支持这些变更。
实现此目标的一些示例包括:
- 将工作从开发团队中剥离并集中到变更功能中,从而减少整体工作量(如果开发是在受监管的环境中进行的,那么目前是否有由开发人员承担的检查点任务可集中到变更团队中? )。
- 将更广泛的业务背景引入风险评估中,有助于更好地量化特定变更的风险,并且在理想情况下,找到风险更低、可能通过CI / CD 流水线更顺利执行的变更。
- 放宽对支持“防护栏”的预定义的控制,从而使各个团队更灵活地创新和建立他们自己的变更流程,同时仍然保持对CI/CD流程整体安全性的信心。
3.7.4 CI/CD并不适用于所有情况
CI/CD之类的敏捷方法非常适用于对服务当前和未来的需求存在高度不确定性,并且与错误或故障相关的风险影响相对较小或可以快速管理的情况。在这些情况下,CI/CD的迭代特性使服务的持续开发能够响应和推动对客户需求的不断了解,CI/CD是向客户交付价值的最佳方法。
但是,在某些情况下,基于计划的方法(如瀑布式方法)可能仍然更适合。例如,在服务需求高度确定的地方,或者由于安全要求不太适合使用敏捷方法进行大批量部署的地方。在实践中,尤其是在大型和更复杂的组织中,服务通常取决于使用不同方法交付的多个元素。
ITIL 故事:持续集成,持续交付和持续部署
因杜: 如果这个项目成功,那么持续集成以及为我们的自行车客户部署改进或提供新服务将是扩大或拒绝服务之间的区别。为了适应所需的变更,我们将需要持续不断地交付工作软件,并调整我们的工作模式以更好地适应变更。这意味着每次变更的风险都较小,并且允许我们在其中一个变更不能正常工作时迭代响应予以反馈。
3.8 有效的信息模型的价值
随着数字化转型的发展,组织的业务运营将越来越紧密地与其技术系统和服务保持一致,并相互依赖。在这种情况下,信息日益成为有效交付服务的约束。几个因素可以导致此问题:
- 组织可能会在多个IT系统之间以及系统之外不一致地和零星地分发信息(例如,某些信息可能保存在物理介质中,而其他关键数据和知识可能只存在于人们的头脑中)。
- 信息的质量可能被高估或不清楚。
- 越来越多地在多种基础设施类型上运行的多个系统,对于组织服务的运行可能至关重要,但人们对这些系统的确切重要性可能并不清楚。
- 可能在组织的不同部分使用不一致的术语。
为了应对此类挑战,组织越来越多地使用信息模型,目的是发展对其信息、术语、系统和架构的共享理解。
这种模型的价值是多方面的。它可以成为转换流程和实践、集成技术、准确了解服务框架中优点和缺点以及在组织的多个级别上做出明智决策的关键支持工具。
成功的基于结果的度量需要对预期的成果和结果有清晰的了解,这种了解不仅对单个系统,而且是对整个组织。因此,目标必须与组织的目标保持一致。这些目标必须获得同意、理解和记录;衡量实现目标的方法也必须如此。基于结果的衡量还提供关于服务的效率和效能的信息。
3.8.1 对信息模型的解剖
信息模型没有单一定义,但有效的定义通常由几个核心要素组成,包括:
- 组织内关键事实、术语、活动和实践的定义
- 组织技术和业务服务的关键组件及其关系的结构化表示。
模型中保存的理想细节级别,不仅在组织之间,且在组织内部也会有所不同。例如,与相对静态的领域相比,业务领域正在经历更快速的变化或更重要的投资,因此需要在信息模型中提供更多的细节。
尽管有些组织可能选择从头开始创建信息模型,但其他组织可能决定采用(至少在最初阶段)已建立的、侧重于大型组织的技术和运营的众多模型之一。这方面的两个例子是:
- 通用信息模型(由DMTF管理) 一组开放标准,列出了广泛的IT基础设施(包括现代云和虚拟化技术)中管理信息的通用定义(该定义正在不断增长)。
- Frameworx 一组“最佳实践和标准,一旦采用,就能以面向服务、高度自动化和高效的方式进行业务操作”。 Frameworx由TM Forum管理,特别关注电信行业,是该行业中广泛使用的框架。
ITIL 故事: 有效信息模型的价值
亨利: 我一直致力于对艾克苏的架构、术语、信息和系统达成共识。自行车租赁试点使用的信息模型将反映整个组织的情况。
雷尼: ITIL提供了一种公共语言,服务管理者可以利用该语言促进沟通。从试点开始就采用ITIL实践将提高项目扩展时的可伸缩性。
3.9 服务管理自动化
3.9.1 集成服务管理工具集
自1990年代以来,一些供应商一直在提供用于服务管理的集成工具集。这些工具集将记录和工作流管理自动化,并充当启动和沟通工具,许多工具旨在支持服务管理的整体信息模型。这些工具集中的大多数的设计都致力于使ITIL建议的服务管理实践自动化,并且在不断地发展并采用新的技术。
这些工具集最常用的功能是记录系统和契动系统。它们用于提出、分类、确定优先级、升级和解决业务和技术基础结构的项目和领域(包括人员、IT、部门、服务和职能领域)的问题、请求和更改,包括对交付和实现、批准、升级和消耗期望的实时管理,以及与库存、财务和生命周期管理相关的其他管理功能。
这些工具集的价值在于实时动态能力,可以管理从小和简单到复杂和大的工作量,并提供关于性能、趋势、改进、成本和风险的报告和业务分析。此外,工具集还提供了关于工作交付和“服务”资产和资源管理的责任和审计跟踪。
各种规模和声誉的组织以某种形式使用这些工具集优化日常记录的保存,并展示出某种程度的责任、一致性和控制。然而,大多数组织只利用了工具集中的基本功能(事件管理、SLM、库存管理),而忽略了跨流程多功能集成的机会。因此,工具集提供的端到端价值流集成的机会很少被利用。然而,随着新的挑战和机遇的出现,利用这种功能和集成的需求也越来越大。
3.9.2 服务管理工具集期望
服务管理工具集有望提供:
- 工作流的有效自动化,包括:
- 结合标准化的预定义模型和灵活性,允许定制
- 不同的实践、价值链活动和组织之间工作流的无缝集成,实现端到端的价值流管理
- 覆盖所有阶段的产品和服务生命周期的端到端自动化
- 有效的库存、监测和事故管理,包括对内部和第三方使用的技术解决方案的智能发现、变更和事故检测、容量监测、消耗和事务监测
- 有效的集成:
- 其他组织的工具集
- 组织中使用的其他信息系统
- 用于服务管理的其他信息系统
- 组织及其服务消费者、供应商和合作伙伴使用的社交网络和沟通渠道
- 高级别的服务功效,包括:
- 信息安全
- 可用性
- 性能
- 容量
- 合规性
- 连续性
- 可访问性
- 符合不断发展的架构和技术要求及标准
- 高级分析和报告。
ITIL 故事:服务管理的自动化
索尔马兹: 艾克苏进行了许多不同类型的工作,并且使用了许多的自动化工具,但是首先我们必须确保在服务管理的四个维度中应用了自动化。例如,我们必须找到最佳方式使我们的本地电动自行车故障服务自动化,或使用自动化管理创建电动自行车软件的工具。西雅图团队提供了一些系统,如我们的人力资源和财务系统。但是,我们需要专门投资我们在蒙特勒的电动自行车租赁业务的工具
雷尼:我们必须选择最好的工具帮助我们在需要时实现自动化。如果事情开始出现问题,我们还必须确保有能力进行人工干预。几年前,我们需要花很长时间解决客户的事件,令我们的客户感到沮丧。当我们调查此事时,发现支持人员使用事件分类工具在记录事件时常常会出现分类错误,使得支持工作发送给错误的小组,进而导致事件在团队之间反弹。从那以后,我们更改了记录事件的方式,但是仍在一直寻找改进机会
亨利: 全球所有团队都在使用这些工具(如我们的IT和服务管理工具集),这样可一致性地报告和管理信息,也有助于高级经理团队做出更好的决策。但是,我也认识到有必要让团队以他们认为最佳的方式开展工作,可能需要投资可以帮助解决特定问题的最佳细分工具
索尔马兹: ITIL的指导原则是“ 优化和自动化”。它建议我们在开始自动化工作之前,通常需要通过迭代试验和试错找到最佳方法。这就是我们期望的团队工作方式,并且数据表明,与直接进入自动化而不花时间正确确定需要更改和优化的内容相比,这种方法结果更好。
3.10 总结
在消费者和企业自动化时代,IT投资对于交付有价值的产品和服务至关重要。技术领域正在带动生态领域多元化地、快速地改变。
为了帮助导航这个复杂的生态系统,服务组织正积极投资于以下工具:促进流程在多个功能域中工作;推广协作;协助高级分析和决策;将重复性低技能的工作自动化。另外,这随后将便于组织投资在高级服务管理功能,这些功能可以为各种利益相关者增加价值。
使用多种工具和平台,驱动了整个服务组织对通用信息和数据模型的需求,以及对有效集成的需求。