大咖直播-鸿蒙原生开发与智能提效实战!>>> 了解详情
写点什么

Zendesk 通过基础接口平台简化基础设施配置流程

作者:Craig Risi

  • 2025-07-23
    北京
  • 本文字数:1892 字

    阅读完需:约 6 分钟

大小:919.73K时长:05:13
Zendesk通过基础接口平台简化基础设施配置流程

Zendesk 推出了其全新的基础接口,一个旨在将基础设施配置转变为完全自助体验的统一平台。通过该平台,工程师只需在声明式 YAML 文件中定义需求即可申请所需的基础设施组件,例如数据库、对象存储、计算资源和密钥。这些请求随后会通过与 SpinnakerKubernetes 无缝集成的工作流自动进行验证、配置和监控,显著减少了以往在基础设施请求过程中所面临的时间延迟、流程摩擦以及结果的不确定性。


这一转型的核心是一个强大的内部架构,Zendesk 的工程师将其形象地称为“精灵与助手”模型。在这个架构中,Gatekeeper 作为请求的初始验证器,确保请求的语法、资源定义和权限范围正确无误。一旦获得批准,请求将被路由到 Orchestrator,由它将请求进一步拆解为 Kubernetes 的原生自定义资源(CR)。这些 CR 会被分配给特定领域的 Kubernetes Operator 进行处理。Watchdog 组件会持续监控这些自定义资源的状态,确保所有配置任务成功完成,并在安全进行应用程序部署时向 Spinnaker 发出信号。


Kubernetes Operator 是这一流程的核心。Operator 是一种软件扩展,它使用 Kubernetes API 和控制器模式来管理复杂且有状态的应用程序或基础设施服务。


Operator 通常借助 Operator SDKKubebuilderMetacontroller 等控制器框架来实现。这些框架赋予团队强大的能力,让他们能够定义自定义资源定义(CRD),通过这些定义,Kubernetes API 可以支持新的对象类型,例如 Aurora 数据库Redis 实例。每个 CRD 都配有一个控制器循环,这个循环会监控这些资源的变化,并将期望状态与实际集群状态进行协调。

在实际应用中,这意味着当工程师通过基础接口请求数据库时,相应的 Operator 会通过与云服务提供商的 API 接口来配置数据库、应用配置,并监控成功与否,整个过程无需人工干预。


这种模型确保每个基础设施组件,无论是 S3 存储桶、RDS 实例还是高度定制化的服务,都有一个专门的 Operator,这个 Operator 知道如何配置和管理其生命周期。Operator 具有幂等性,这意味着如果条件发生变化,它们可以安全地重新应用期望状态,并可以在无需人工干预的情况下处理边缘情况或进行错误恢复。通过使用 Kubernetes 原生工具,Zendesk 在所有配置的资源中实现了可观测性、可审计性和一致性。


通过将这一架构与 Spinnaker 管道集成,Zendesk 的工程师现在可以在单一、可重复的流程中部署应用程序及其配套的基础设施。基础接口确保了基础设施的安全配置和一致性,具有自动检查和集中跟踪功能。开发人员不再需要提交工单或等待手动审批,他们只需编写一个 YAML 文件并触发部署,后续的一切操作——从资源的验证与创建,到系统的健康检查与状态报告——都将由系统自动完成。


Zendesk 软件工程总监 Darragh Kennedy 在领英上分享说,自助基础设施的旅程早在多年前基础小组成立时就已经开始了。他强调,团队“从零开始构建,并逐年迭代,最终打造出了一个既灵活又强大的入口”,充分展现了平台背后所进行的精心设计。


他的帖子揭示了他们在构建当前系统上的长期投入与内部演变的全过程:

“Zendesk 基础小组成立似乎是很久以前的事了……我们从零开始构建,并逐年迭代,最终打造出了一个既灵活又强大的入口。”


这个评述反映了他们对基础接口背后工程努力的深刻理解,强调它并非一个简单的快速修复方案,而是一个成熟且不断迭代的平台,它会随着 Zendesk 工程需求的变化而持续扩展和优化。

然而,此类功能并非 Zendesk 独有。一个近期的例子是于 2025 年 5 月推出的 Pulumi IDP。它通过标准化的基础设施组件和私有注册表,为用户铺就了一条“黄金路径”。这让开发人员能够借助符合策略且可重用的 YAML 配置,安全且高效地完成基础设施的配置工作。与那些以门户为中心的平台不同,Pulumi IDP 更加关注通过平台工程实践塑造和消费的基础设施交付模式。


整个行业正加速迈向基于 Kubernetes 的 内部开发平台(IDP)。这些平台通过声明式接口和预打包的工作流,将 Kubernetes 的复杂性进行抽象,让团队能够轻松实现环境的自助服务、应用程序的部署以及资源的管理,而无需深入学习 Kubernetes 的内部机制。分析师指出,成功不仅取决于技术,还取决于清晰的文档、开发人员教育以及强大的平台治理。


这些相似之处表明,Zendesk 选择通过 YAML 定义基础设施,通过 Kubernetes 自定义资源进行验证,并通过 Operator 和管道进行协调,这一策略与当前行业日益增长的趋势紧密相关。各行各业的组织正在采用基于 Kubernetes 的自助服务平台,这些平台抽象了复杂性、强制执行策略并提升了开发人员生产力,而这正是 Zendesk 基础接口所致力于实现的目标。


原文链接

https://www.infoq.com/news/2025/07/zendesk-interface-platform/

2025-07-23 14:038628

评论

发布
暂无评论

Gitlab Runner的分布式缓存实战

Java 程序员 后端

intellij idea2019打开项目启动总闪退

Java 程序员 后端

Java 结合实例学会使用 静态代理、JDK动态代理、CGLIB动态代理

Java 程序员 后端

Java 生态圈中的嵌入式数据库,哪家强?

Java 程序员 后端

Git Flow 的正确使用姿势

Java 程序员 后端

IT人不仅要提升挣钱能力,更要拓展挣钱途径

Java 程序员 后端

JAVA 微信小程序 解密 用户信息encryptedData

Java 程序员 后端

Flink的sink实战之一:初探

Java 程序员 后端

HarmonyOS(鸿蒙)——全面入门

Java 程序员 后端

Android开发:往项目工程里面新引入工具包的步骤

三掌柜

11月日更

Java 多线程 —— 生产者消费者问题

Java 程序员 后端

GitHub 上 1

Java 程序员 后端

Java 小记 — RabbitMQ 的实践与思考

Java 程序员 后端

Flutter中的widget

Java 程序员 后端

Hadoop之MapReduce04【客户端源码分析】

Java 程序员 后端

Jaeger的客户端采样配置(Java版)

Java 程序员 后端

JAVA 雪花算法 唯一ID生成工具类

Java 程序员 后端

Flink数据源拆解分析(WikipediaEditsSource)

Java 程序员 后端

GitHub上标星75k+超牛的《Java面试突击版》,分享PDF离线版

Java 程序员 后端

HttpClient工具类

Java 程序员 后端

HttpClient的两种重试机制

Java 程序员 后端

JAVA 线上故障排查完整套路

Java 程序员 后端

Java 线程池原理分析

Java 程序员 后端

JAVA 语法 - 关键字 - volatile

Java 程序员 后端

Go实战(三)-数组array、切片slice语法详解

Java 程序员 后端

gRPC学习之五:gRPC-Gateway实战

Java 程序员 后端

IBM大面积辞退40岁+的员工,如何避免可怕的中年危机?

Java 程序员 后端

模块三作业:外包学生管理系统架构文档

dean

架构实战营

jackson学习之二:jackson-core

Java 程序员 后端

Java 移除List中的元素,这玩意讲究!

Java 程序员 后端

Java-14-发布了,再也不怕-NullPointerException-了!

Java 程序员 后端

Zendesk通过基础接口平台简化基础设施配置流程_架构_InfoQ精选文章