Medidata Solutions 的 Danylo Mikula 领导了从手动流程到声明式工作流程的转变——将集群配置时间缩短了 97%
对于许多企业工程团队来说,Kubernetes 早已走过创新阶段,并成为日常关键基础设施的一部分。然而,高效维护这些基础设施——尤其是跨多个集群和环境——仍然是一个挑战,它会减缓功能交付速度并增加运营风险。

在 Medidata Solutions——一家支持临床研究的领先 SaaS 和数据分析解决方案提供商,这一挑战尤为突出。管理跨本地和云环境的混合基础设施——包括大约十几个 Kubernetes 集群和数千台虚拟机——配置一个生产就绪的集群是一个漫长的过程,可能需要数周的协调工作,涉及分散在多个团队的手动配置。基础设施应用程序的更新经常被推迟,因为配置历史记录没有集中管理,造成延误,有时还会出现安全漏洞。
当 Danylo Mikula——一位在受监管行业拥有十多年经验的 DevOps 和基础设施架构师,于 2023 年末加入平台工程团队并着手彻底改革基础设施管理方式时,情况发生了变化。正如 Danylo 所描述的,这项任务看似简单。
"目标不是为了现代化而引入新工具。而是让现有基础设施更易于操作、维护和扩展——同时不增加人员或复杂性。"
– Danylo Mikula,DevOps 和基础设施架构师,Medidata Solutions
从手动步骤到声明式工作流程
转型的核心集中在将分散的流程整合到基于 GitOps 的模型中。工程师不再手动将配置应用到每个集群,而是将部署移至版本控制存储库,由 Argo CD 处理同步。
他遇到的瓶颈存在于每个阶段。容器网络需要平台工程和网络团队之间的协调,配置分散在各个工程师的工作站上。基础设施应用程序是手动部署的,值文件保存在本地机器上。密钥管理遵循传统的手动方法,部署流程随着时间的推移有机演变,没有集中协调。通过将每个阶段整合到具有特定环境覆盖的版本控制 Helm 图表中,Danylo 将每个阶段的时间从数天缩短到数分钟。
Danylo 构建的架构遵循"一次定义,随处部署"的理念。中央存储库保存共享服务定义,自动生成特定集群的部署,而每个环境只维护其独特的覆盖。"与其在十几个集群中复制配置文件," Danylo 解释说,"我们创建了一个系统,添加新服务意味着编写一个定义,让自动化处理其余部分。"这种方法涵盖了数十个基础设施组件——从数据存储和消息系统到安全和监控工具——同时大幅降低了配置漂移的风险。
密钥分发遵循相同的原则:不是每个集群手动注入,而是通过 Vault Secrets Operator 进行 Vault 集成自动同步,确保更改通过受控流程流动,并具有适当的审计跟踪。
结果是基础设施管理方式的根本转变。配置时间降至约 30 分钟——效率提高了 97.6%。更新变得一致且可重复,新工程师入职需要更少的部落知识。
"我们有多个团队为相同的环境做出贡献,一致性始终是一个问题。这项工作帮助我们转向可预测的流程,并拥有共享的真实来源。改进不仅仅是技术层面的——它们使协作更加容易。"
– Monik Gandhi,云工程总监
技术变革中的人为因素
同事们指出,转变的成功不仅仅是技术性的。GitOps 一开始并不为每个人所熟悉,部分工作涉及使这种方法对于在命令式工作流程中工作多年的工程师来说易于理解和使用。
"架构很强大,但突出的是如何实现采用。花时间引导工程师了解该模型意味着团队中的任何人现在都可以部署或修改基础设施,而无需多年积累的经验。人们不仅理解了'如何做',还理解了'为什么'。"
– Labhesh Potdar,云工程经理
因此,基础设施更新——以前被视为有风险的——变得常规化。团队获得了运行计划升级的信心,因为部署历史记录是可见和可重现的。
安全性作为副作用
安全性改进同样重要。以前,维护一致的补丁计划具有挑战性,因为部署配置分布在整个组织中而不是集中管理。团队过渡自然使配置连续性更加困难。
现在所有配置都进行版本控制,团队最终可以维护一致的更新计划,并准确跟踪什么在哪里运行。与 HashiCorp Vault 的集成确保了密钥在整个基础设施中得到一致管理,并具有适当的轮换和访问控制——这对于在受监管环境中运营的医疗保健 SaaS 公司至关重要。
工程领导者的关键经验
转型中使用的技术模式本身并不新颖—— Helm、Argo CD 和 Vault 都是众所周知的工具。根据 Danylo 的说法,影响来自它们的结构和引入方式:渐进式的,关注开发者体验和组织习惯。
对于考虑类似转变的其他工程领导者,Danylo 强调了三个经验:
从存储库设计开始。文件夹结构和命名约定影响长期可维护性。早期做对可以节省大量的重构工作。
仅自动化团队能够理解和支持的内容。采用比复杂性更重要。工程师实际使用的简单系统比他们避免使用的优雅系统更有价值。
为渐进过渡留出空间。一次性转移所有内容很少是可持续的。渐进式采用允许团队建立信心并在问题复杂化之前识别它们。
展望未来
这项工作使 Medidata 的平台团队能够扩展基础设施,而无需成比例地增加手动工作。随着集群和应用程序数量的增长,声明式模型变得更有价值——不仅在速度方面,还在可审计性、入职和长期一致性方面。
Danylo 说,现在的重点是将相同的声明式方法扩展到可观测性——构建可衡量的 SLI 和自动化警报,使可靠性成为客观实践而不是凭直觉。
"GitOps 并没有解决所有问题——但它使基础设施的常规部分不那么脆弱且更可预测。在大型工程组织中,仅此一项就可以释放有意义的效率。"
– Danylo Mikula
Danylo Mikula 是 Medidata Solutions 的 DevOps 和基础设施架构师,在受监管行业交付云和平台工程解决方案方面拥有超过十年的经验。他的工作专注于将 DevOps 原则转化为可衡量、可重复的可靠性实践,强调声明式工作流程、基础设施即代码和可观测性驱动的治理。他向国际科学会议贡献了关于 GitOps 采用模式的研究。有关他的项目和技术工作的更多信息可以在他的个人网站上找到,展示了他的实践经验和产品开发方法。



