Contents

环境定义

本文档用于说明企业常见的各类系统环境,包括 Dev、SIT、UAT、Beta、Pre-Prod、Prod,方便研发、测试、运维等团队统一理解和使用。


1. 环境对比总览

环境 全称 面向对象 数据库策略 风险等级 部署频率 主要用途
Dev Development/开发环境 开发人员 开发库,数据可随时清空 高频(随时) 功能研发、自测
SIT System Integration Test/系统集成测试环境 /开发人员测试人员 独立测试库,常用伪造数据 ★★ 高频 接口联调、系统集成测试
UAT User Acceptance Test/用户验收测试环境 业务方/测试人员 独立数据库,接近生产结构 ★★★ 中等 用户验收测试
Beta Beta Test/公测环境 内测/小部分用户 可能访问脱敏的生产数据 ★★★★ 中等 内测、公测、用户灰度
Pre/Staging Pre-Production/Staging/预发布 内部核心用户 镜像生产,数据通常脱敏 ★★★★★ 较低 回归测试、演练、上线前验证
Prod Production/生产环境 所有真实用户 真实生产数据库 ★★★★★★ 严格管控 对外正式服务

2. 各环境详解

2.1 Dev 环境(开发环境)

  • 定位:供开发人员本地或共享环境进行日常开发。
  • 数据库:独立的开发库,数据无敏感性,可频繁清空或重置。
  • 风险:最低,允许频繁改动和试验。
  • 权限:开发全权限,无需严格控制。

2.2 SIT 环境(系统集成测试环境)

  • 定位:主要用于多模块联调和系统集成测试。
  • 数据库:独立测试数据库,通常含有伪造或部分真实脱敏数据。
  • 风险:低,但需保证数据结构与生产一致。
  • 权限:开发可维护,测试可读写。

2.3 UAT 环境(用户验收测试环境)

  • 定位:由业务方或测试人员进行验收。
  • 数据库:独立数据库,数据结构接近生产,可使用部分脱敏真实数据。
  • 风险:中等,需保证与生产版本一致。
  • 权限:测试和业务方只读/有限写权限,运维负责管理。

2.4 Beta 环境(灰度 / 公测环境)

  • 定位:对部分用户开放,验证真实用户行为。
  • 数据库
    • 一般使用独立库 + 脱敏生产数据
    • 或者直连生产库(风险大,需严格控制)
  • 风险:较高,用户数据可能涉及隐私。
  • 权限:运维严格管控,开发只读。

2.5 Pre-Prod/Staging 环境(预发布环境)

  • 定位:生产前的最终验证环境。
  • 数据库:与生产完全一致的结构,但一般使用脱敏数据,部分企业采用生产影子库。
  • 风险:接近生产,需严格保护。
  • 权限:只允许少数人有写权限,尽量模拟真实场景。

2.6 Prod 环境(生产环境)

  • 定位:对外提供服务的正式环境。
  • 数据库真实生产数据库
  • 风险:最高,影响直接面向真实用户。
  • 权限:运维极少数人可写,开发通常无写权限。

3. 环境风险等级

Dev (★) < SIT (★★) < UAT (★★★) < Beta (★★★★) < Pre-Prod (★★★★★) < Prod (★★★★★★)


4. 推荐策略

  1. 数据库数据隔离:非 Prod 环境禁止直连生产数据库。
  2. 权限管控:开发环境可放宽,SIT 以上需严格区分角色权限。
  3. 数据脱敏:UAT、Beta、Pre-Prod 建议使用生产脱敏数据,避免隐私泄露。
  4. 部署流程:代码必须经过 Dev → SIT → UAT → Beta/Pre-Prod → Prod 流程,禁止跳级。
  5. 监控与回滚:Beta、Pre-Prod 必须具备完善监控和快速回滚机制。