AIDevOps:智能微服务开发、运维原理与实践
上QQ阅读APP看书,第一时间看更新

1.2.1 什么是智能微服务

智能微服务有两方面的含义:智能化的微服务(AI for MicroService)和智能的微服务(AI as MicroService)。

(1)智能化的微服务

将人工智能的模型和算法引入微服务的全生命周期当中,通过智能化的方法,实现微服务系统的开发、部署、运行和维护。其目标就是通过智能化的微服务框架,实现具备自主性和自适应性的智能微服务系统,支持异构服务的智能匹配、服务演化和运行时的智能化质量保障。在服务设计开发阶段,通过人机自然交互式的服务需求智能分析、服务资源的智能发现和推荐、服务组合的智能编排等,实现异构服务的功能匹配和流程按需生成。在服务运行和维护阶段,通过智能化的服务部署、服务演化、服务运行的反馈调控回路,形成及时感知不同软硬件环境和不同工作负载的态势变化,自主实施服务适配适应性调控的能力。

(2)智能的微服务

通过微服务的架构和工具来管理智能模型,实现智能模型的微服务化部署和应用。这里涉及两个新概念:一个是软件2.0(Software 2.0),另一个是MLOps。软件2.0强调以类似机器学习的方式实现软件的自动构造。工程师通过汇聚训练数据,将其输入到机器学习的训练算法,自动综合生成关于数据概率分布的深度模型(程序)。这个扩充可以类比为源代码的编译过程,只是软件制品不再是源代码,而是重点放在数据驱动训练生成模型。MLOps是指数据科学家和机器学习工程师将DevOps原则运用于机器学习系统。MLOps是一种机器学习工程文化和做法,旨在统一机器学习系统开发(Dev)和机器学习系统运营(Ops)。MLOps意味着将在机器学习系统构建流程的所有步骤(包括集成、测试、发布、部署和基础架构管理)中实现自动化和监控。

本书旨在结合上述两个方面,设计智能微服务软件框架:首先,这个框架的核心目标就是实现智能化的微服务适配,以智能算法加强和改进微服务生命周期所涉及的各个环节,形成智能化微服务适配回路。其次,这个框架所包含的智能适配回路需要相关的机器学习模型来进行分析和决策,而这些模型不能通过简单的离线训练部署和应用在不同的微服务系统之中。我们需要一套模型训练、封装和部署的完整框架,以支持不同研发和运维环境下的模型在线调整和动态适应。因此,本书的智能微服务软件框架将综合考虑针对智能微服务适配回路的功能设计,以及与之配套的智能模型的微服务化管理。