Company PingCAP Location Sunnyvale, California, US Industry Software

挑战

PingCAP 是一家主导开发热门开源 NewSQL 数据库 TiDB 的公司; TiDB 兼容 MySQL,支持混合事务/分析处理(HTAP)负载,并采用了云原生架构设计。 PingCAP 全球战略与运营总经理 Kevin Xu 表示:“拥有混合多云产品是我们全球市场拓展战略的重要一环。” 为实现这一目标,团队必须应对两大挑战:Xu 说道,一是“如何在容器化环境中部署、运行和管理分布式有状态应用(例如 TiDB 这样的分布式数据库)”; 二是“如何确保客户在云端使用 TiDB 时 —— 无论是在单一云服务商平台还是跨不同云环境组合使用 —— 都能获得简单易用、体验一致且可靠的服务”。深知分布式系统使用难度较高,他们开始寻找合适的编排层,以帮助终端用户降低部分复杂性。

解决方案

该团队很早就开始关注用于容器编排的 Kubernetes。“我们知道 Kubernetes 有潜力帮助我们解决面临的问题,” Xu 说道,“当时我们只是在等待它变得成熟。” 2018 年初,PingCAP 开始将 Kubernetes 整合到其内部开发流程及 TiDB 产品中。 在此之前,该团队已积累了使用其他云原生技术的经验,此前已将 PrometheusgRPC 整合到了 TiDB 平台中。

影响

Xu 表示,对于采用 Kubernetes 来部署和管理 TiDB 这一方案,PingCAP 客户迄今为止的反馈“非常积极”。 在客户部署 TiDB 时,系统会默认安装 Prometheus(并搭配 Grafana 作为仪表盘),以便客户能够监控性能, 并在生产环境部署前后进行必要的调整,从而达到预期目标。Xu 指出,这一监控层“使评估过程和沟通变得更加顺畅”。

借助公司开源的 Kubernetes Operator 实现, 客户现在能够在云端部署、运行、管理、升级和维护 TiDB 集群,且无需停机,同时还能降低工作量、减轻负担并减少运营开销。 在内部,据 Xu 先生介绍:“我们的开发和测试工作已全面转向 Kubernetes,这涵盖了数据中心基础设施以及 TiDB 自动化测试平台 Schrodinger。 Kubernetes 显著提升了我们的资源利用率。开发人员能够自行分配和部署集群,部署耗时也从数小时缩短至数分钟, 从而减少了管理 IDC 资源所需的人力投入。目前的生产力提升幅度约为 15%;随着我们在调试与诊断方面积累更多 Kubernetes 实践经验, 这一提升幅度有望超过 20%。”

自 2015 年推出以来,开源 NewSQL 数据库 TiDB 凭借其对 MySQL 的兼容性、处理混合事务/分析处理(HTAP)工作负载的能力以及云原生架构设计,赢得了广泛青睐。

TiDB 背后的公司 PingCAP 从创立之初就以云为核心设计了该平台,其全球战略与运营总经理 Kevin Xu 表示:“拥有混合多云产品是我们全球市场进入战略的重要组成部分。”

为了实现这一目标,团队必须应对两大挑战:Xu 表示, 一是“如何在容器化环境中部署、运行和管理分布式有状态应用(例如像 TiDB 这样的分布式数据库)”; 二是“如何确保客户在云端使用 TiDB 时——无论是在单一云服务商还是多种云环境组合下——都能获得简单易用、一致且可靠的体验”。

PingCAP 团队深知使用分布式系统绝非易事,因此开始寻找合适的编排层,以帮助终端用户降低部分复杂性。 Kubernetes 早已进入他们的视野。“我们知道 Kubernetes 有潜力帮助我们解决难题,” Xu 说道,“我们当时只是在等待它走向成熟。”

这一时刻出现在 2018 年初,当时 PingCAP 开始将 Kubernetes 整合到其内部开发流程及 TiDB 产品中。Xu 表示:“Kubernetes 隶属于 CNCF,而非仅由单一公司支持,这让我们对该技术的长远发展充满信心。” 此外,“其治理流程非常透明,我们不仅能轻松掌握技术与社区的最新动态,一旦遇到问题,也能明确知道该联系谁来寻求帮助。”

TiDB 的云原生架构由两部分松耦合的组件构成: 无状态的 SQL 层(即 TiDB)和支持分布式事务的持久化键值(Key-Value)存储层(即 TiKV,目前已进入 CNCF Sandbox)。许(Xu)表示:“你可以根据计算和存储需求分别进行横向扩展或缩容,且这两个扩展过程互不干扰。” PingCAP 团队还基于 Kubernetes 构建了 TiDB Operator,它不仅能协助在任意云环境中快速搭建 TiDB 集群, 还能简化并自动化部署、扩缩容、调度、升级及维护等操作。此外,该公司近期还预览了其全托管服务 TiDB Cloud。

整个 TiDB 平台利用 Kubernetes 及其他云原生技术,包括用于监控的 Prometheus 和用于服务间通信的 gRPC

迄今为止,客户对这款支持 Kubernetes 的平台的反响“非常积极”。 当客户部署 TiDB 时,系统会默认安装 Prometheus(并搭配 Grafana 作为仪表盘), 以便客户在将 TiDB 投入生产环境之前,能够进行监控并根据需要进行调整,从而满足性能要求。 Xu 表示,这一监控层“使评估过程和沟通变得更加顺畅”。借助该公司基于 Kubernetes 的 Operator 实现方案, 客户现在能够在云端部署、运行、管理、升级和维护 TiDB 集群,且无需停机,同时降低了工作量、负担及运营开销。

这些技术在内部也产生了影响。“我们在自身的开发和测试工作中已全面转向使用 Kubernetes, 这涵盖了我们的数据中心基础设施以及 TiDB 自动化测试平台 Schrodinger,” 徐先生说道,“借助 Kubernetes,我们的资源利用率得到了显著提升。开发人员能够自行分配和部署集群, 且部署耗时缩短,因此我们无需投入过多人员来管理 IDC 资源。”

生产力提升幅度约为 15%;随着我们在 Kubernetes 调试与诊断方面积累更多知识,生产力有望提升至 20% 以上。

如今,Kubernetes 已成为 PingCAP 产品路线图中至关重要的一环。对于其他考虑转向云原生的企业或个人,Xu 的建议是:“现在正是起步的最佳时机。”他说:“整个云原生社区——无论是 Kubernetes、CNCF 整体生态, 还是像我们这样的云原生厂商——都已积累了丰富的经验(这些经验往往伴随着实战磨砺的印记),并已准备好助力你取得成功。”

事实上,PingCAP 团队观察到越来越多的客户正转向云原生模式,这绝非偶然。Xu 表示:“IT 基础设施正在迅速演变 —— 它不再仅仅是成本中心或事后才考虑的环节,而已成为企业核心能力与竞争力的关键所在。 云原生基础设施不仅能帮助企业节约成本、更有效地掌控所使用的基础设施资源, 还能赋能新产品创新、提升用户体验并开拓新的业务机遇。它既能降本,又能增收。”