企业 AI 项目 Wiki · 环境、版本与上线
生产环境
也常写作Production · 正式环境 · 线上环境 · Live environment
生产环境是正式承载真实用户、业务数据和业务操作的一整套运行条件。它不只是服务器,也不只是已经部署的代码;它包括访问入口、计算与运行时、网络、数据存储、身份权限、配置与密钥、外部依赖、监控告警、备份恢复,以及负责持续运行这套系统的人和流程。
先把生产环境的边界说清楚
生产环境的判断标准,不是机器放在哪里,也不是地址能不能从公网打开,而是这套环境是否被组织正式指定用于承载真实业务。内部员工使用的后台、只允许专网访问的系统、部署在企业机房的软件,同样可以是生产环境。
生产环境是一种完整的运行状态。代码相同,如果连接了不同数据库、使用了不同密钥、域名、权限或外部接口,实际就是不同环境;反过来,把测试服务器改名为“production”,也不会自动具备生产运行能力。
对一个正式系统来说,生产环境需要同时回答三件事:现在运行的是什么,系统是否正常,出现问题由谁按照什么方法处理。任何一项说不清,都说明生产环境还不完整。
生产环境由什么组成
下面这些部分不一定由同一家供应商提供,但都属于生产环境需要明确的范围。
访问入口与流量路径
用户或其他系统从哪里进入,流量经过哪些组件,怎样加密、转发、限流和阻断异常请求。
- 域名与 DNS
- TLS 证书
- 负载均衡、网关或反向代理
- 防火墙、WAF、CDN、专网或 VPN
计算资源与运行时
应用实际运行在哪些主机、容器、集群、函数或托管平台上,以及依赖的操作系统、运行时和基础软件版本。
- CPU、内存和存储配额
- 容器镜像或可执行产物
- 运行时版本
- 扩缩容和进程管理方式
网络与环境隔离
生产资源与开发、测试环境怎样隔离,哪些入口可以访问,哪些服务可以互相连接,出口访问是否受控。
- 网络分区与安全组
- 入口和出口规则
- 内部服务发现
- 生产与非生产账号或项目隔离
数据与存储
正式业务数据保存在哪里,数据怎样分类、加密、保留、归档和删除,数据库或对象存储由谁管理。
- 数据库、缓存、消息队列
- 文件与对象存储
- 静态和传输加密
- 数据保留与删除规则
身份、权限与密钥
用户、管理员、服务账号分别拥有什么权限,敏感操作怎样审批和审计,密码、令牌、证书和加密密钥怎样保管及轮换。
- 最小权限
- 多因素认证
- 服务账号
- 密钥管理与访问审计
配置与外部依赖
哪些参数随环境变化,系统依赖哪些模型、支付、短信、邮件、地图、身份认证或企业内部接口,以及依赖失败时怎样处理。
- 环境配置
- 功能开关
- 第三方接口和配额
- 超时、重试、熔断与降级
可观测性与告警
怎样从用户体验、业务结果和技术组件三个层面判断系统是否健康,并把需要行动的问题通知给正确负责人。
- 指标、日志和调用链
- 健康检查
- 错误率、延迟、容量和业务异常
- 告警级别、接收人和升级路径
备份、恢复与运行资料
发生误删、故障、错误发布或灾难时,怎样恢复数据和服务;日常操作、故障处置和联系人记录在哪里。
- 备份范围与频率
- RPO 与 RTO
- 恢复演练
- 运行手册、故障手册和联系人
一个生产环境应满足哪些运行要求
与非生产环境隔离
生产账号、数据、密钥和高权限操作不应与开发测试环境随意共用。隔离既降低误操作风险,也限制单个账号或系统被攻破后的影响范围。
状态可以识别和重建
应能确认正在运行的应用版本、配置版本、基础设施状态和数据库变更,并通过版本控制、自动化脚本或受控文档重建关键部分。
变更受控且可以撤回
代码、配置、数据库结构、模型、提示词和依赖升级都属于生产变更。变更需要评审、测试、记录、发布策略和失败后的停止或回退方案。
权限最小且操作可追溯
人员和程序只获得完成任务所需的权限;高风险操作需要额外控制;谁在什么时间做了什么,应留下可以查询的审计记录。
系统健康可以被观察
不能只确认进程还在运行。还要观察关键业务流程是否成功、依赖是否可用、延迟和错误是否异常、容量是否接近上限。
故障可以被处理和恢复
告警必须对应负责人和操作方法。备份需要实际验证能否恢复,关键故障场景需要有经过演练的处置、回滚、切换或降级方案。
容量、性能与费用可管理
生产环境需要明确预期负载、峰值、服务配额和扩容方法,同时监控资源消耗与持续费用,避免容量不足或成本失控。
运行责任持续有效
需要明确系统所有者、技术负责人、业务联系人、外部供应商边界、值守方式和升级路径,并在人员或供应商变化时更新。
一次变更怎样进入生产环境
不同团队可以使用不同工具,但一个可控的生产变更通常要经过下面的状态。
形成可识别产物
代码、配置、依赖和数据库变更形成带版本的构建产物,能够说明来源。
在非生产环境验证
完成功能、集成、安全、性能和必要的恢复测试,记录未解决风险。
批准变更
确认变更内容、影响范围、发布时间、负责人、观察指标和失败处理办法。
部署
把指定产物和配置放入生产环境,可采用滚动、蓝绿、金丝雀等策略降低影响。
发布与观察
让目标用户开始使用,检查健康指标、业务结果、日志和告警是否符合预期。
确认或回退
达到观察标准后确认完成;出现停止条件时暂停、回滚、降级或切换,并保留事件记录。
生产就绪检查:要看到什么证据
“已经部署”不是生产就绪的充分证据。至少应能回答下面的问题,并指出对应记录。
- 正式边界是否唯一明确?
能够区分正式域名、账号、云项目、集群、数据库和第三方生产账号,不与测试环境混用。
可核对:环境清单、资源标识、网络图、正式访问地址。
- 当前运行状态是否可识别?
能够查询应用、配置、数据库结构、模型或知识库当前版本,并追溯到发布记录。
可核对:版本页、构建编号、部署记录、变更单。
- 访问权限是否经过批准?
普通用户、管理员、运维人员和服务账号权限分开,高权限访问有审批、回收和审计办法。
可核对:角色权限表、账号清单、审计日志、密钥管理记录。
- 数据处理边界是否明确?
清楚正式数据的来源、用途、存储位置、保留期限、加密方式、备份范围和删除方法。
可核对:数据流图、数据清单、保留政策、备份配置。
- 依赖与失败行为是否清楚?
已登记关键内部和第三方依赖、配额、超时、重试及降级办法,不把依赖失败变成无限等待或静默错误。
可核对:依赖清单、配额配置、超时与降级测试结果。
- 监控是否覆盖真实业务?
不仅监控机器资源,还能发现登录、查询、提交、支付、生成或其他关键业务流程失败。
可核对:监控面板、指标定义、合成检查、告警规则。
- 每个告警是否有人处理?
告警具有级别、接收人、响应动作和升级路径,通知渠道本身也经过测试。
可核对:告警测试记录、值守表、故障手册、升级通讯录。
- 错误发布能否停止或撤回?
发布前已定义观察期、停止条件、回滚或降级方法,数据库等不可逆变更有单独方案。
可核对:发布计划、回滚步骤、演练记录、最近一次回滚结果。
- 备份是否真的能够恢复?
备份成功提示不能代替恢复验证;应按业务要求验证数据完整性、RPO、RTO 和完整应用恢复。
可核对:恢复演练记录、恢复时间、数据校验结果、未达标问题。
- 容量和持续费用是否可接受?
已经用代表性负载检查性能和配额,并确认云资源、模型调用、存储、流量和第三方服务的持续费用。
可核对:负载测试、容量计划、配额清单、费用预算与告警。
- 责任和资料是否能够交接?
系统所有者、技术负责人、业务联系人和供应商边界明确,新负责人可以依据现有资料完成常见操作和故障升级。
可核对:责任表、运行手册、部署说明、联系人和交接记录。
企业 AI 系统还要额外确认什么
AI 系统除了普通应用的生产要求,还包含会独立变化的模型、提示词、知识来源和生成行为。
模型与调用路径
记录实际使用的模型、版本或别名、服务区域、调用账号、限额、超时、重试和备用方案。供应商更新模型别名时,也应被视为可能影响结果的生产变更。
提示词、规则与工具权限
系统提示词、输出规则、工具调用范围和可执行操作需要版本化。能查询资料与能修改订单、发送消息或审批付款,风险完全不同。
知识与检索状态
明确生产知识来源、授权范围、更新时间、切分与索引版本、引用方式,以及资料删除后怎样同步移除检索结果。
数据发送与留存
确认哪些用户输入、文件、业务数据和日志会发送给模型或外部服务,对方是否留存、用于训练或跨区域处理,并按实际政策配置。
输出质量与安全边界
使用代表性样本持续检查正确性、引用、拒答、资料不足、敏感内容和越权操作。不能把单一平均准确率当作所有场景的生产标准。
人工接手与停止条件
对金额、责任、库存、排期、合规、高风险操作或资料不足场景,明确何时停止自动处理、怎样保留上下文并交给指定人员。
变化监测与重新评估
模型、知识、提示词、业务数据分布和外部接口都会变化。关键变更后需要重新运行评估,并监控拒答率、人工接手率、错误类型和业务结果。
生产环境容易与什么混淆
| 相关概念 | 与生产环境的区别 |
|---|---|
| 服务器 | 服务器只是计算资源。生产环境还包含网络、数据、权限、配置、依赖、监控、恢复和运行责任。 |
| 生产版本 | 生产版本是某一时刻在生产环境运行的软件或配置版本;生产环境是承载它的整套运行条件。 |
| 部署 | 部署是把产物和配置放入目标环境的动作。部署成功不代表已经向用户发布,也不代表系统达到生产就绪。 |
| 上线或发布 | 上线通常表示系统开始正式提供服务,发布表示让目标用户使用某个版本;二者都发生在生产环境生命周期中,但不等于环境本身。 |
| 预发布环境 | 预发布用于上线前验证,应尽量接近生产,但通常不承载正式业务。它是否使用生产数据或连接真实依赖,必须单独约定。 |
| 可以公网访问的测试地址 | 公网可达只是网络属性。只要它未被正式指定承载真实业务,就不能据此认定为生产环境。 |
依据与适用边界
本文解释软件系统的通用生产环境,不规定某个企业必须采用公有云、私有云、本地机房、容器或某一家厂商。环境层级、可用性目标、安全控制、备份频率和运维责任,应根据业务影响、数据级别、法规要求和预算单独确定。