公司 PingCAP 地点 中国北京和美国加利福尼亚州圣马特奥 行业 软件

挑战

PingCAP 是流行的开源 NewSQL 数据库 TiDB 的主要开发公司。TiDB 兼容 MySQL,能够处理混合事务/分析处理 (HTAP) 工作负载,并且具有云原生架构设计。全球战略与运营总经理 Kevin Xu 表示:“拥有混合多云产品是我们全球市场战略的重要组成部分。” 为了实现这一目标,团队必须解决两个挑战:“如何在容器化的世界中部署、运行和管理分布式有状态应用,例如像 TiDB 这样的分布式数据库,” Xu 说,以及“如何在云上,无论是单个云提供商还是不同云环境的组合,为我们的客户在使用 TiDB 时提供易用、一致且可靠的体验。” 深知分布式系统并不易用,他们开始寻找合适的编排层,以帮助减少终端用户的部分复杂性。

解决方案

团队很早就开始考虑使用 Kubernetes 进行编排。Xu 说:“我们知道 Kubernetes 有潜力帮助我们解决问题。” “我们只是在等待它成熟。” 2018 年初,PingCAP 开始将 Kubernetes 集成到其内部开发以及 TiDB 产品中。当时,团队已经有使用其他云原生技术的经验,早期已将 PrometheusgRPC 集成到 TiDB 平台中。

成效

Xu 表示,到目前为止,PingCAP 客户对将 Kubernetes 作为部署和管理 TiDB 的工具反应“非常积极”。默认情况下,客户在部署 TiDB 时会安装 Prometheus(使用 Grafana 作为仪表盘),以便他们在生产环境中部署 TiDB 之前和过程中监控性能并进行必要的调整以达到目标。Xu 说,这个监控层“使评估过程和沟通更加顺畅”。

通过该公司开源的基于 Kubernetes 的 Operator 实现,客户现在能够在云中部署、运行、管理、升级和维护他们的 TiDB 集群,实现零停机时间,并减少工作量、负担和开销。Xu 表示,在内部,“我们已完全转向使用 Kubernetes 进行我们自己的开发和测试,包括我们的数据中心基础设施和 TiDB 自动化测试平台 Schrodinger。使用 Kubernetes 后,我们的资源利用率得到了大幅提升。我们的开发者可以自行分配和部署集群,部署过程从数小时缩短到数分钟,因此我们可以投入更少的人力管理 IDC 资源。生产力提升约 15%,随着我们在调试和诊断方面积累更多 Kubernetes 知识,生产力有望提升到 20% 以上。”

自 2015 年推出以来,开源 NewSQL 数据库 TiDB 因其对 MySQL 的兼容性、处理混合事务/分析处理 (HTAP) 工作负载的能力以及其云原生架构设计而受到关注。

PingCAP 是 TiDB 背后的公司,全球战略与运营总经理 Kevin Xu 表示,该公司从一开始就考虑到云来设计该平台,“拥有混合多云产品是我们全球市场战略的重要组成部分。”

为了实现这一目标,团队必须解决两个挑战:Xu 说:“如何在容器化的世界中部署、运行和管理分布式有状态应用,例如像 TiDB 这样的分布式数据库,” 以及“如何在云上,无论是单个云提供商还是不同云环境的组合,为我们的客户在使用 TiDB 时提供易用、一致且可靠的体验。”

深知分布式系统并不易用,PingCAP 团队开始寻找合适的编排层,以帮助减少终端用户的部分复杂性。Kubernetes 在他们的考虑范围之内已有一段时间了。Xu 说:“我们知道 Kubernetes 有潜力帮助我们解决问题。”“我们只是在等待它成熟。”

2018 年初,这一时机到来了,PingCAP 开始将 Kubernetes 集成到其内部开发以及 TiDB 产品中。Xu 表示:“让 Kubernetes 成为 CNCF 的一部分,而不是仅由一家公司支持,这对于我们对这项技术的长期生命力抱有信心至关重要。” 此外,“由于治理流程非常开放,不难了解技术和社区的最新进展,或在遇到问题时找到可以联系的人。”

TiDB 的云原生架构由一个无状态的 SQL 层(也称为 TiDB)和一个支持分布式事务的持久化键值存储层(TiKV,现已进入 CNCF Sandbox)组成,它们之间是松耦合的。Xu 说:“您可以根据计算和存储需求进行横向扩展或收缩,这两个扩展过程可以相互独立地进行。” PingCAP 团队还基于 Kubernetes 构建了 TiDB Operator,它可以帮助在任何云环境中启动 TiDB 集群,并简化和自动化部署、扩展、调度、升级和维护。该公司最近还预告了其全托管服务 TiDB Cloud 产品。

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

到目前为止,客户对启用 Kubernetes 的平台的反应“非常积极”。默认情况下,客户在部署 TiDB 时会安装 Prometheus(使用 Grafana 作为仪表盘),以便他们在生产环境中部署 TiDB 之前监控并进行必要的调整以达到性能要求。Xu 说,这个监控层“使评估过程和沟通更加顺畅”。通过该公司基于 Kubernetes 的 Operator 实现,客户现在能够在云中部署、运行、管理、升级和维护他们的 TiDB 集群,实现不停机,并减少工作量、负担和开销。

这些技术对内部也产生了影响。Xu 说:“我们已完全转向使用 Kubernetes 进行我们自己的开发和测试,包括我们的数据中心基础设施和 TiDB 自动化测试平台 Schrodinger。” “使用 Kubernetes 后,我们的资源利用率得到了大幅提升。我们的开发者可以自行分配和部署集群,部署过程所需时间更少,因此我们可以投入更少的人力管理 IDC 资源。

生产力提升约 15%,随着我们在调试和诊断方面积累更多 Kubernetes 知识,生产力有望提升到 20% 以上。”

Kubernetes 现在是 PingCAP 产品路线图中的关键部分。对于任何考虑转向云原生的人,Xu 给出了这样的建议:“现在是开始的最佳时机,” 他说。“整个云原生社区,无论是 Kubernetes、CNCF 还是像我们这样的云原生厂商,都积累了足够的经验——并且有实战经验为证——准备好帮助您成功。”

事实上,PingCAP 团队看到越来越多的客户正在转向云原生方法,这是有充分理由的。Xu 说:“IT 基础设施正在从成本中心和事后考虑的角色快速演进,成为任何公司的核心竞争力和竞争力所在。” “云原生基础设施不仅能为您省钱,让您更好地控制消耗的基础设施资源,还能赋能新的产品创新、新的用户体验和新的商业可能性。它既能降低成本,又能创造价值。”