除了MLOps外,最近业内还出现了各种各样的XOps,比如DataOps、AIOps、ModelOps等。本节简单介绍几个目前比较常见的XOps。
AIOps(Artificial Intelligence for IT Operations)是在IT运维领域利用人工智能技术,基于已有的运维数据,通过机器学习模型进一步提升系统运维能力,提高运维效率,降低运维成本。
典型的AIOps应用场景如下。
● 流量预估:网站系统运维人员在运营活动前都需要做流量预估方案,即预估在活动中可能承受多少流量。AIOps可以基于积累的数据,参考业内相关的案例,通过机器学习模型给出一个比较合理的预测,以便运维部门科学地制定容量准备方案,以支撑业务的同时更好地控制成本。
● 容量管理:业务方需要根据业务压力(比如业务流量和业务系统CPU利用率等)自动进行扩/缩容或者在线/离线混布,这需要对流量和业务压力进行比较准确的预估。AIOps可以通过机器学习进行建模,从过往的大量数据中找出规律,然后自动进行各种运维操作,使CPU利用率等保持在合理的水平,用较低的成本来弹性支撑业务。
AIOps和MLOps有很大的不同,虽然它们都需要使用机器学习模型,都需要读取大量数据,但是AIOps的业务场景集中在IT运维领域,目标是提升IT运维效率和降低成本;而MLOps本身是没有业务属性的,可以应用于各种业务领域,例如金融领域的风控场景、电商领域的推荐场景等,甚至是IT运维领域。
DataOps是一种应用在数据分析领域的工程实践、流程和技术,覆盖从数据准备到数据报告的整个数据分析生命周期。
典型的DataOps应用场景如下。
● 数据分析流水线:定义一个数据分析的DAG(Directed Acyclic Graph,有向无环图),即一系列数据相关的操作,从读取原始数据,到抽取数据的某些元素,再到形成终端用户可见的可视化报表。
● 数据分析任务编排:定义一个数据分析任务,通过分布式计算集群进行计算任务的分发和汇总,最后得到需要的结果。
两者的使用场景和目标不一样,DataOps应用在数据分析领域,最终用户感受到的是数据分析报表;MLOps应用在机器学习领域,最终用户感受到的是依赖模型和数据的预测服务。
ModelOps关注的对象是机器学习后得到的模型,使用场景是模型训练、模型部署和模型监控,目标是保证模型不断迭代的同时线上模型效果达到预期;MLOps关注的对象不仅仅是模型,还包括模型所需要的数据(特征数据)和代码(训练过程和预测服务所需要的代码),使用场景是这些对象的持续集成、持续部署、持续训练和持续监控,目标是保证机器学习全生命周期的正常运转并达到业务目标。严格来说,ModelOps是MLOps的一个子集。
下面介绍一下DevOps的实现原则,这些原则在所有的XOps中同样适用。
● 自动化:DevOps团队的北极星指标是自动化,需要把任务所涉及的活动尽可能地通过软件实现自动执行。
● 协同:任务涉及的各参与方需要很好地沟通、反馈和协作。
● 持续改进:不断对各个阶段的活动进行工具和流程的改进,提升效率。
● 快速反馈:一切以用户需求为核心,快速反馈,实现闭环。