Worldpay 以红帽 OpenShift 为基础构建了内部开发人员平台——全球 Kubernetes 编排平台(GKOP),由此实现了开发流程的根本性变革。这一战略转型让 Worldpay 得以为其开发团队提供自助服务能力,培养了兼顾协作与高效的文化氛围。
GKOP:不仅仅是 OpenShift
GKOP 于 2020 年推出,是一个基于红帽 OpenShift 构建的企业级平台。该平台符合 PCI DSS 标准,可跨多个地区管理 28 个集群。Worldpay 将 GKOP 视为一种产品,而不仅仅是一个平台。为确保系统平稳可靠运行,GKOP 团队围绕该平台构建了全方位的自动化体系。
“GKOP 是我们的产品,因为它早已超越了 OpenShift 本身的技术范畴。我们围绕它构建了大量自动化功能,因此编排和配置管理成为了 GKOP 的核心支柱。我们不断问自己:‘该怎么做?该怎么实现规模化集群的运行和管理?’”Worldpay 平台工程总监 Bernd Malmqvist 说道。 “我们的集群管理核心在于预生成标准化配置,然后应用至下游集群……在灾难恢复演练中,我们能够在一个半小时内完成整个区域的彻底清除与全流程重建。这得益于我们的预配置机制——当集群重新上线时,配置可立即生效。”
这种集群敏捷性让 Worldpay 能够创建沙盒和开发集群,这些集群将分别按日和按周定期重新置备。而像预发布和生产环境这类高优先级环境,则具有更长的生命周期。通过每周发布的平台更新包,我们将各项变更集成为统一版本,从低层级环境逐步推广至高层级环境。这种发布机制既确保了所有集群配置的同步一致性,又能有效拦截回归性问题进入生产环境。
卓越平台产品的核心支柱
Worldpay 对卓越平台产品的定义聚焦于用户体验与效能提升。它必须满足三大特性:操作便捷性、用户需求导向性、以及具备即时反馈的自助服务能力。在构建 GKOP 平台时,Worldpay 设定了以下战略目标:
- 功能丰富且灵活:该平台的功能独立但具备交互性,可为开发人员提供灵活性与指导。
- 集成式 CI/CD 工具集:该平台内置 CI/CD 工具,可在整个应用生命周期内为开发人员提供指导,省去与多种工具集成的繁琐工作。
- 内置企业级服务集成:GKOP 无缝集成了 Worldpay 的企业级服务,如 NTP、身份验证端点、机密管理、证书管理和日志记录。值得注意的是,它与 AWS STS 的集成可提供短期令牌,通过消除对嵌入式凭据的需求显著提升了安全防护水平。
- 强大的安全防护:该平台具备容器运行时安全防护与漏洞报告机制,可减少开发人员在应对不断扩大的攻击面方面的工作量。
- 易用性与可靠性:提供操作指南、示例服务和分步说明,以适配不同成熟度的团队需求。平台的设计安全可靠,能够从容应对峰值负载,赢得了开发人员的信赖。
- 广泛的 Operator:GKOP 综合运用第三方和内部构建的 Operator 来扩展 Kubernetes API 并提供自助服务能力。例如,用于数据库、缓存、消息传递的 Operator,以及为满足 PCI 合规要求而定制的出口代理 Operator。
API 驱动的自助服务与自动化验证
GKOP 的核心基石在于其 API 驱动的自助服务能力,该能力将所有平台服务整合为统一产品,让开发人员能够自主满足各类需求。Worldpay 始终坚持这一技术范式,确保每个新增平台功能都实现自动化并遵循自助服务原则。
为确保平台稳定性并降低这种灵活性带来的潜在风险,Worldpay 高度重视自动化验证与审查机制。他们借助通过 Kubernetes Webhook 配置的自定义验证器服务,检查 API 请求是否符合最佳实践和配置的规则。具体过程涵盖以下环节:
- 基于角色的访问权限控制(RBAC)检查:验证用户权限。
- 应用可变式 Webhook:添加合理的默认值或改进,例如 Pod 拓扑分布约束。
- 架构合规性校验:Kubernetes API 会自动检查资源是否符合其架构规范。
- 应用验证 Webhook:对偏离最佳实践的配置发出警告,或直接拒绝包含非法值的请求。
- 持久化与协调控制:完成资源存储并启动协调流程。
这套自动化验证机制不仅能提供建议及相关文档链接,还能强制执行关键规则(如 Pod 中断预算规则),以防止 OpenShift 升级过程中出现问题。对于平台资源,GitHub 拉取请求会触发验证器,后者将执行架构验证并提出更改建议,如果系统无法自动做出决定,甚至会升级给工程师进行人工审核。模板化的接入工作流结合了经过预配置并核准的资源与自动合并机制,可显著提升扩展效率并为开发人员提供便捷体验。
打造出色的开发人员体验
Worldpay 将开发人员视为内部客户,致力于提供无缝的使用体验。这包括通过 2 年前推出的开发人员门户提供易于获取的技术文档。该门户采用内源模式,允许所有开发人员参与内容贡献。
Worldpay 还构建了一个 GKOP 免费层版本,这是一个每日重置的沙盒环境,功能有限但允许任何 Worldpay 员工直接登录、创建命名空间并部署工作负载,无需经过正式接入流程。这种“简单的入门方式”有助于新用户了解 GKOP 全面的自助服务功能。
通过技术论坛、产品路演和 OpenShift 聊天群组等多种渠道,Worldpay 积极促进开发人员参与。开发人员既可提出问题与反馈,也能参与平台路线图规划并推动技术倡议实施,例如实现 OpenShift Windows 容器支持、改进基于 GitOps 的持续部署模式。
GKOP 的未来规划
GKOP 平台已稳定运行 5 年,Worldpay 正持续推动其发展。未来计划通过减少阻碍因素与手动流程、扩大平台覆盖率并整合更多 OpenShift 功能,进一步提升开发人员体验。他们还计划引入多项新功能,包括 OpenShift 服务网格、数据库和 Kafka 消息传递支持、持续与合成测试覆盖体系,以及扩展的平台状态信息面板。在这段技术征程中,Worldpay 的精锐团队始终保持着对 OpenShift 与 Kubernetes 技术的热忱,营造了一个愉快的协作式环境。
查看今年早些时候 Worldpay 的 Matt Simons、Bernd Malmqvist 和 Michal Umlawski 在伦敦 OpenShift Commons Gathering 大会上的演讲。
关于作者
Red Hatter since 2018, technology historian and founder of The Museum of Art and Digital Entertainment. Two decades of journalism mixed with technology expertise, storytelling and oodles of computing experience from inception to ewaste recycling. I have taught or had my work used in classes at USF, SFSU, AAU, UC Law Hastings and Harvard Law.
I have worked with the EFF, Stanford, MIT, and Archive.org to brief the US Copyright Office and change US copyright law. We won multiple exemptions to the DMCA, accepted and implemented by the Librarian of Congress. My writings have appeared in Wired, Bloomberg, Make Magazine, SD Times, The Austin American Statesman, The Atlanta Journal Constitution and many other outlets.
I have been written about by the Wall Street Journal, The Washington Post, Wired and The Atlantic. I have been called "The Gertrude Stein of Video Games," an honor I accept, as I live less than a mile from her childhood home in Oakland, CA. I was project lead on the first successful institutional preservation and rebooting of the first massively multiplayer game, Habitat, for the C64, from 1986: https://neohabitat.org . I've consulted and collaborated with the NY MOMA, the Oakland Museum of California, Cisco, Semtech, Twilio, Game Developers Conference, NGNX, the Anti-Defamation League, the Library of Congress and the Oakland Public Library System on projects, contracts, and exhibitions.