返回首页

遗留系统中的 DevOps:monolith 和部署

文章描述了 DevOps 工程师在具有单体核心和 microservices 的团队中的第一天。重点关注部署问题、安全关卡和 observability 的需求。关键实践:站会、runbook、RBAC 自动化。

驯服 monolith:真实团队中的 DevOps
Advertisement 728x90

驯服巨石:遗留系统中 DevOps 初战记

一位新的 DevOps 工程师加入团队,这里有一个单体应用——架构的核心,正与微服务格格不入地共存。组件间的共享状态制造了部署瓶颈。管道负责构建、测试、预发环境和手动审批,然后才上生产。问题总在访问权限时冒头:权限不足,发布仪式就卡壳。

团队每天站会:开发们分享进度、障碍和计划。DBA 提醒迁移风险,团队 leader 强调那些不成文的规矩。没有自动化,权限审批变成多步折磨:申请、培训、双重审批。

管道结构与常见故障

部署从绿灯管道启动:

Google AdInline article slot
  • 构建产物。
  • 单元和集成测试。
  • 预发部署。
  • 手动审批(瓶颈)。
  • 生产部署。

安全守门人在手动阶段介入:没签字就拒单。回滚是家常便饭。运行手册还停在草稿,遗留巫师(架构师)警告别戳醒沉睡的巨石。

巨石掌控共享状态,微服务依赖它,导致资源冲突。可观测性——指标、告警、日志——只在发布时针对生产环境设置。

团队结构与仪式

稳定小队包括:

Google AdInline article slot
  • 产品经理(统筹发布)。
  • 团队 leader(管理风险)。
  • DBA(数据库守护者,反对即兴建索引)。
  • 开发人员(修代码里的 FIXME)。
  • 安全审问官(签字和权限)。

站会残酷诚实:昨天成就、今天计划、障碍。敏捷藏起截止期限,但现实(权限不足)总胜出。寻呼机及时嗡嗡作响。

遗留架构的挑战

系统图像迷宫:巨石居中,微服务外围。共享状态引发:

  • 资源地盘战。
  • 部署依赖。
  • 手动干预。

IaC(基础设施即代码)推行遇人力和流程障碍。权限存在却混乱——正适合角色和策略重构。

Google AdInline article slot

关键经验:

  • 巨石与微服务混居,需要统一运行手册管部署。
  • 手动审批是反模式;自动化 RBAC。
  • 站会早发现障碍,但安全关卡不动摇。
  • 共享状态酿事故;规划迁移。
  • 可观测性(指标、告警、日志)是生产发布必备。

优化路线图

从第一天起:标准化管道,砍手动步骤,建可观测性。别乱动遗留——先测试,后发布。团队蓄势待发,用看板引导混乱。

— Editorial Team

Advertisement 728x90

继续阅读