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

挑战

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

解决方案

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

影响

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

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

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

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

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

PingCAP 团队深知使用分布式系统并非易事,因此开始寻找合适的编排层来帮助减少最终用户的复杂性。Kubernetes 在他们的关注列表中已经有一段时间了。Kevin Xu 说:“我们知道 Kubernetes 有望帮助我们解决问题。” “我们只是在等待它成熟。”

2018 年初,时机成熟,PingCAP 开始将 Kubernetes 集成到其内部开发以及 TiDB 产品中。Kevin Xu 表示:“Kubernetes 成为 CNCF 的一部分,而不是仅得到一家公司的支持,这对于我们对这项技术的长久性充满信心非常有价值。” 此外,“治理过程如此开放,不难发现技术和社区的最新发展,或者在我们遇到问题时知道该联系谁。”

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

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

迄今为止,客户对支持 Kubernetes 的平台反应“非常积极”。当客户部署 TiDB 时,默认安装 Prometheus,并以 Grafana 作为仪表板,以便他们可以在生产中部署 TiDB 之前监控并进行任何必要的调整以满足其性能要求。Kevin Xu 表示,这个监控层“使评估过程和沟通更加顺畅”。通过公司基于 Kubernetes 的 Operator 实现,客户现在能够以零停机时间、减少工作量、负担和开销的方式在云中部署、运行、管理、升级和维护其 TiDB 集群。

这些技术也在内部产生了影响。Kevin Xu 说:“我们已完全转向 Kubernetes 进行我们自己的开发和测试,包括我们的数据中心基础设施和 Schrodinger,这是一个用于 TiDB 的自动化测试平台。” “通过 Kubernetes,我们的资源利用率大大提高。我们的开发人员可以自行分配和部署集群,部署过程耗时更短,因此我们可以投入更少的人员来管理 IDC 资源。

生产力提高了约 15%,随着我们在调试和诊断方面获得更多 Kubernetes 知识,生产力应提高到 20% 以上。”

Kubernetes 现在是 PingCAP 产品路线图的关键部分。对于任何考虑转向云原生的人,Kevin Xu 提出了以下建议:“现在是开始的最佳时机,”他说。“整个云原生社区,无论是 Kubernetes、CNCF 整体,还是像我们这样的云原生供应商,都积累了足够的经验——并拥有证明这一点的战斗伤疤——随时准备帮助你成功。”

事实上,PingCAP 团队看到越来越多的客户转向云原生方法,原因充分。Kevin Xu 表示:“IT 基础设施正在迅速从成本中心和事后考虑转变为任何公司的核心能力和竞争力。” “云原生基础设施不仅能节省你的资金,让你更好地控制所消耗的基础设施资源,还能赋能新的产品创新、为用户带来新的体验以及新的商业可能性。它既能降低成本,又能创造收入。”