驯服巨石:遗留系统中 DevOps 初战记
一位新的 DevOps 工程师加入团队,这里有一个单体应用——架构的核心,正与微服务格格不入地共存。组件间的共享状态制造了部署瓶颈。管道负责构建、测试、预发环境和手动审批,然后才上生产。问题总在访问权限时冒头:权限不足,发布仪式就卡壳。
团队每天站会:开发们分享进度、障碍和计划。DBA 提醒迁移风险,团队 leader 强调那些不成文的规矩。没有自动化,权限审批变成多步折磨:申请、培训、双重审批。
管道结构与常见故障
部署从绿灯管道启动:
- 构建产物。
- 单元和集成测试。
- 预发部署。
- 手动审批(瓶颈)。
- 生产部署。
安全守门人在手动阶段介入:没签字就拒单。回滚是家常便饭。运行手册还停在草稿,遗留巫师(架构师)警告别戳醒沉睡的巨石。
巨石掌控共享状态,微服务依赖它,导致资源冲突。可观测性——指标、告警、日志——只在发布时针对生产环境设置。
团队结构与仪式
稳定小队包括:
- 产品经理(统筹发布)。
- 团队 leader(管理风险)。
- DBA(数据库守护者,反对即兴建索引)。
- 开发人员(修代码里的 FIXME)。
- 安全审问官(签字和权限)。
站会残酷诚实:昨天成就、今天计划、障碍。敏捷藏起截止期限,但现实(权限不足)总胜出。寻呼机及时嗡嗡作响。
遗留架构的挑战
系统图像迷宫:巨石居中,微服务外围。共享状态引发:
- 资源地盘战。
- 部署依赖。
- 手动干预。
IaC(基础设施即代码)推行遇人力和流程障碍。权限存在却混乱——正适合角色和策略重构。
关键经验:
- 巨石与微服务混居,需要统一运行手册管部署。
- 手动审批是反模式;自动化 RBAC。
- 站会早发现障碍,但安全关卡不动摇。
- 共享状态酿事故;规划迁移。
- 可观测性(指标、告警、日志)是生产发布必备。
优化路线图
从第一天起:标准化管道,砍手动步骤,建可观测性。别乱动遗留——先测试,后发布。团队蓄势待发,用看板引导混乱。
— Editorial Team
暂无评论。