跳转至

开篇词 AI+云原生:孔明与刘备的互相成就

你好,我是邢云阳。一名在技术一线奋战10年,目前在云公司 PaaS 层做 AI + 云原生方向的研发老兵。

记得 10 年前,我刚参加工作时,是一个线下购物为主的年代。那时候,支付宝刚刚开始推广在线支付,人们在吃饭购物时还是习惯用现金支付。外卖平台也刚开始出现,点个外卖等2小时才送达是常有的事。

因此在技术上,也是一个各种新老架构大量并存的年代。业务复杂的大公司已经切换到了微服务架构或者分布式架构。而中小型公司可能还在用单体架构,或者是简单将业务拆分的垂直架构。

到了 16 年以后,近8年时间,互联网技术和产品蓬勃发展,用户激增导致的流量变大,微服务架构已经是“家常便饭”了。但是因为传统虚拟机部署所带来的资源分配粒度粗,弹性伸缩不便,部署、运维困难等等痛点,技术架构又开始转向云原生架构,服务容器化部署,实现集群化的管理。Kubernetes 成为了云原生时代的基础设施和事实标准。

我在云公司的这些年,一直在做中间件和容器技术的应用研究。最基础的业务就是为用户提供容器态的中间件平台,利用 Kubernetes 的弹性伸缩、自愈能力以及 CSI 存储等等特性,实现中间件的秒级拉起释放,快速扩缩容,存算分离,自动运维等等。这便是 AI 崛起前的上一个热门技术,大数据 + 云原生。

随着近两年 ChatGPT 的火出圈,标志着 AI 这个已经发展了很多年的技术在大型语言模型领域取得了重大突破,开始正式的走入我们每一个人的视野,“我得 AI,如鱼得水”也成为了很多人的感受。

历史上,比较著名的“鱼得水”的案例,就是三国时期,刘备与孔明这对君臣了。刘备作为主公,在有了孔明后,以前自己搞不定的内政外交军事等等,统统交给孔明处理,自己只负责Review 和决策。而孔明有了刘备这个明主后,也充分施展了自己的才能,摆脱了只能在隆中推演的“小作坊”局面。

以史为鉴,今天的 AI 就如同当年的孔明,是我们的智囊,第二大脑;云原生所提供的平台能力,正如同于刘备。因此我们结合大数据 + 云原生时代的经验,我们是否能实现 AI + 云原生在应用领域的相互赋能、相互成就呢?这,也是我做这个专栏的初衷,我希望能够将我在这个行业所做的一些思考以及落地经验分享出来,与大家一起讨论,共同推进行业的不断进步。

接下来,我来抛砖引玉的分享一下,AI + 云原生能在哪些方面结合?价值是什么?

云原生 AI 套件

云原生 AI 套件这个词源自于云计算行业,现在基本各家云公司都在做相关产品。云原生 AI 套件指的是在 Kubernetes 上定制化构建 AI 生产系统,底层封装对各类异构资源的统一管理,上层运行核心组件,实现资源运维管理,AI 任务调度和弹性伸缩,数据访问加速,工作流编排,可观测等等能力。

用白话来说,就是玩转 AI 的基础有两个,一是 GPU 算力,二是复杂的环境搭建。由于 GPU 卡价格昂贵,资源稀缺,所以不论是企业还是个人,在 GPU资源的管理和调度上,都要尽量做到极致,以达到降本增效的目的。第二是复杂的环境搭建,一套机器学习环境从PyTorch、TensorFlow等框架到 Pipeline 等工具的部署,非常繁琐。因此用 Kubernetes 来解决这两个痛点,是再适合不过了。Kubernetes 上有着 GPU-Operator 等等优秀的算力调度工具,而容器编排能力对于解决复杂环境部署也是小菜一碟。

在开源社区,有着一款被称为机器学习的“瑞士军刀”的产品,叫做 Kubeflow。Kubeflow 是由 Google 发起的开源 AI 开发平台,构建在 Kubernetes 之上,专门用来简化和自动化机器学习模型的开发、训练、部署和管理。如下图所示,Kubeflow 向下可以部署在任意 Kubernetes,其包含了 Kubeflow Notebooks 等多款组件,向上提供了 PyTorch 等训练框架以及 Hugging Face等模型仓库。

图片

总的来说,Kubeflow 就像一个由各种技术栈和组件拼装成的“乐高”一样,开发中可以按需部署相应组件。

因此这种方式的 AI + 云原生,主要是通过发挥云原生的优势,优化 AI 资源调用,为 AI 训练提供可靠平台,提升 AI 训练效率。

用自然语言操控运维 K8s

我们先来回顾一下,人类与软件交互的发展。

执行器发展的初期是 CLI(命令行界面,Command Line Interface),用户需要在黑终端键入各种命令,来与软件交互,例如 K8s 的 kubectl ,是运维同学每天的必用工具。

后来随着图形化界面的发展,交互体系变成了 GUI(图形用户界面,Graphical User Interface),例如 K8s 的 Dashboard,操作变得更直观、更友好,无需记忆命令了。

在 AI 时代,开始出现了 LUI(语言用户界面,Language User Interface)的概念,即用户可以通过自然语言与软件交互,无需在繁琐的 UI 中查找某个功能的按钮藏在哪了。自然语言交互除了文字方式以外,还包括声音等方式,未来,运维全靠“喊”的年代或许不会久远。

那么,要实现用自然语言操控和运维 K8s,需要用到什么技术呢?第一是大模型需要具备足够的思考和推理能力,也就是传说中的 Agent,第二是需要 API 调用能力。这在我们后面的课程中,都会详细讲解。

所以总体来说,这种方式的 AI + 云原生,是一种“智赖孔明”的方式,AI 帮助我们在操控和运维 K8s 集群上节省了人力。

AI 微服务———云原生 AI 网关

做云原生特别是微服务的同学,一定绕不开的一个组件就是网关。举一个不完全恰当的例子,网关就像是银行门口的保安大爷,具备三大基础能力:

  1. 保护:能保护银行办公人员的安全。
  2. 路由控制:为顾客提供路由服务,告诉你办什么业务要取什么号,最终路由到具体的窗口服务人员。
  3. 流量控制:会根据银行内部业务处理的实际情况,决定是否把卷帘门拉下来,来控制人流量。

在这个场景中,每一个银行窗口的服务人员,就是微服务架构中的一个服务,取的号码便是 API ,我们通过 API 可以找到服务人员。而网关则在最开始对 API 做了管控。因此在微服务架构中,网关是一个 API 网关,可以将客户端接口与后端实现分离。在云原生时代,Kubernetes 是基础设施,服务全都部署在 Kubernetes 之上,因此 API 网关 作为 Kubenetes 上各服务的入口代理,变成了云原生 API 网关。

进入 AI 时代,随着 Agent 等技术的快速落地,网关也需要与时俱进,其不仅承担传统网关的功能,更是一个具备智能调度、自动化管理和自然语言交互能力的核心组件。它的引入,使得前端与后端的沟通不再局限于固定的 API 调用,而是通过自然语言与 AI Agent 进行互动,实现了人机对话的高度流畅和智能化。

AI 网关的核心优势在于其智能化的 API 管理能力。在传统的微服务架构中,API 网关的作用多是请求的转发与路由,而在 AI 微服务架构下,AI 网关的功能得以扩展,开始承担起根据自然语言指令智能调度后端 AI 服务的责任。这意味着,开发者、运维人员甚至非技术人员都可以通过简洁的语言与系统进行交互,从而减少了技术壁垒,提高了效率。

总的来说,AI 网关的引入,标志着云原生架构在 AI 微服务时代的全面升级,它通过自然语言接口、智能调度、动态优化等技术,简化了复杂系统的管理与调度过程,同时也为 AI 微服务的高效协同提供了全新的解决方案。随着智能化程度的不断提高,AI 网关必将成为未来 AI 应用架构的关键组成部分,推动着人工智能与云原生技术的深度融合,开辟出全新的技术发展路径。

课程设计

通过以上的思考,我希望结合自己实际的落地应用的经验,让云原生开发者快速掌握 AI + 云原生的应用开发能力,助力开发者提升职场竞争力。

由于绝大多数程序员所做的工作都是应用开发,而不是模型训练等等工作。因此“云原生 AI 套件”这种基础设施架构层面的方向,我就不在课程中讲解了。我主要会针对“用自然语言操控K8s”以及“云原生 AI 网关”这两个偏应用的方向做重点讲解。

为此我把课程划分成了 5 个章节,从AI Agent 原理和简单实操开始讲起,逐步将这项技术,在 K8s 操作运维以及云原生网关两个方向落地。

  1. AI Agent 原理篇:我会直接从最热门的 Agent技术讲起,你会学习到主流的 Agent 推理方案,并且会带你实操。我会带你快速掌握 0 框架手撸 Agent 应用的能力,为后面的开发打好基础。
  2. Agent + K8s 运维级开发初级篇:本章我们将开始进行 AI + 云原生的第一个实操案例——用自然语言操控 K8s。我会先从设计开始,为你梳理做这样一个应用需要使用到哪些技术点。之后,我会详细为你讲述 Client-Go 的进阶使用、API 封装、多集群管理等知识,以便更好的封装 Agent 工具。在有了这些基础后,我们结合 AI 相关技术完成项目的实战。
  3. Agent + K8s 运维级开发高级篇:本章将会沿着上一章的脚步做进阶开发。上一章讲了操控 K8s,这一章我们将学习运维。我会带你做简单问题排查和日志事件分析两个项目,通过这两个项目,你可以感受到用自然语言运维 K8s 的神奇之处。
  4. 可定制 API Agent 原理与实战:既然 API 是 AI 时代的一等公民,我们就有必要了解 OpenAI 的 GPT Store 以及国产优秀开源平台 Dify 这些主流的 API Agent 的原理是什么,最后我们用 Go 语言手撸一个Dify 同款功能的 Agent。
  5. AI 微服务——云原生 API 网关与 Wasm 实战:这一章,我们会进行 AI + 云原生的第二个应用实战,即 AI 微服务。在这一章,我会介绍云原生 API 网关以及 Wasm 技术,通过Wasm 技术,我们可以将 AI Agent 等应用做成插件,嵌入到网关上,使得传统网关具备 AI 能力。这样就会形成自然语言前端到 AI 网关,AI 网关管理后端 API 工具的架构,我称之为 AI 微服务。

你会注意到,整个课程是一个重视实操的课程,课程中会有大量需要动手编码的章节。我希望通过这样的课程设计,能让不论是处于传统行业还是在做云原生开发的你,都能够迅速切换到 AI + 云原生赛道,赶上这趟高速奔驰的列车。

欢迎你和我一起学习讨论,让我们开始行动起来吧!

精选留言(3)
  • 花花大脸猫 👍(1) 💬(1)

    mark下,目前我们也是使用k8s,期待学习完有好的收获!最好能够应用

    2024-12-22

  • linxs 👍(0) 💬(1)

    现在正基于k8s和AI的能力构建测试平台,也需要自己写一些custom resource,主要方式是用类似Cursor之类的工具来辅助编程,希望跟完课程能有所收获~

    2024-12-18

  • 丹枫染秋色 👍(0) 💬(1)

    看起来很有意思,期待后面的课程

    2024-12-16