引言
手动交付软件存在耗时长、易出错、安全风险高且难以扩展等问题。为了自动化软件从构建到交付的全过程,DevOps应运而生。随着机器学习(ML)的普及,MLOps在DevOps基础上引入了数据和模型作为一等公民。而近两年大语言模型(LLM)的爆发式应用,又催生了LLMOps这一专门领域。理解从DevOps到MLOps再到LLMOps的演进脉络,是构建可靠、可监控的LLM应用的第一步。
DevOps基础
DevOps是一套旨在缩短开发生命周期并确保持续交付高质量软件的方法论。它强调协作、自动化、工作流集成和快速反馈循环。
DevOps生命周期
DevOps涵盖了软件从构思到交付的全流程,八个关键阶段如下:
- 计划:组织和优先级排序任务,确保跟踪完成。
- 编码:团队协作编写、设计和管理代码。
- 构建:将应用及其依赖打包为可执行格式。
- 测试:通过自动化测试确认代码功能正确且符合质量标准。
- 发布:测试通过后将构建标记为新的发布版本。
- 部署:将最新发布部署到最终用户环境。
- 运营:管理运行软件的底层基础设施,包括扩缩容、安全、数据管理、备份与恢复。
- 监控:跟踪性能指标和错误,减少事故的严重程度和频率。
核心概念
DevOps的落地依赖以下实践:
- 部署环境:为充分测试,需要定义多个预生产环境(如开发、预发布),这些环境尽可能模拟生产环境,最后才是直接面向用户的生产环境。