挑战
PingCAP 是领导开发流行的开源 NewSQL 数据库 TiDB 的公司,该数据库与 MySQL 兼容,可以处理混合事务和分析处理 (HTAP) 工作负载,并具有云原生架构设计。“拥有混合多云产品是我们全球市场推广战略的重要组成部分,”全球战略与运营总经理徐嘉鹏表示。为了实现这一目标,团队必须应对两大挑战:“如何在容器化的世界中部署、运行和管理分布式有状态应用程序,例如像 TiDB 这样的分布式数据库,”徐嘉鹏说,“以及如何为我们的客户在云中使用 TiDB 时提供易于使用、一致且可靠的体验,无论是在一个云提供商还是不同云环境的组合中。” 由于知道使用分布式系统并不容易,他们开始寻找合适的编排层来帮助最终用户降低一些复杂性。
解决方案
该团队很早就开始关注 Kubernetes 以进行编排。“我们知道 Kubernetes 有望帮助我们解决问题,”徐嘉鹏说。“我们只是在等待它成熟。” 2018 年初,PingCAP 开始将 Kubernetes 集成到其内部开发以及 TiDB 产品中。那时,该团队已经拥有使用其他云原生技术的经验,之前已将 Prometheus 和 gRPC 集成到 TiDB 平台中。
影响
徐嘉鹏表示,到目前为止,PingCAP 客户对 Kubernetes 作为部署和管理 TiDB 的工具的反应“非常积极”。当客户部署 TiDB 时,默认情况下会安装 Prometheus(以 Grafana 作为仪表板),以便他们可以监控性能并在将 TiDB 部署到生产环境之前和期间进行任何必要的调整以达到目标。徐嘉鹏说,该监控层“使评估过程和沟通更加顺畅”。
借助该公司基于 Kubernetes 的 Operator 实现(开源),客户现在能够在云中部署、运行、管理、升级和维护其 TiDB 集群,而不会出现停机时间,并减少了工作量、负担和开销。徐嘉鹏说,在内部,“我们已经完全转向 Kubernetes 进行我们自己的开发和测试,包括我们的数据中心基础设施和 Schrodinger,这是一个用于 TiDB 的自动化测试平台。借助 Kubernetes,我们的资源使用率得到了极大提高。我们的开发人员可以自己分配和部署集群,部署过程从几小时缩短到几分钟,因此我们可以减少管理 IDC 资源的人员。生产力提高了约 15%,随着我们在调试和诊断方面获得更多 Kubernetes 知识,生产力应该会提高到 20% 以上。”
TiDB 背后的公司 PingCAP 从一开始就设计了云平台,全球战略与运营总经理徐嘉鹏说,“拥有混合多云产品是我们全球市场推广战略的重要组成部分。”
为了实现这一目标,团队必须应对两大挑战:“如何在容器化的世界中部署、运行和管理分布式有状态应用程序,例如像 TiDB 这样的分布式数据库,”徐嘉鹏说,“以及如何为我们的客户在云中使用 TiDB 时提供易于使用、一致且可靠的体验,无论是在一个云提供商还是不同云环境的组合中。”
PingCAP 团队知道使用分布式系统并不容易,因此开始寻找合适的编排层来帮助最终用户降低一些复杂性。Kubernetes 已经在他们的视线范围内很长时间了。“我们知道 Kubernetes 有望帮助我们解决问题,”徐嘉鹏说。“我们只是在等待它成熟。”
那一刻出现在 2018 年初,当时 PingCAP 开始将 Kubernetes 集成到其内部开发以及 TiDB 产品中。“让 Kubernetes 成为 CNCF 的一部分,而不是仅仅得到一家公司的支持,对于我们对该技术的寿命充满信心至关重要,”徐嘉鹏说。另外,“由于治理流程如此开放,因此不难找出该技术和社区的最新发展,或者在我们遇到问题或疑问时找出应该联系谁。”
TiDB 的云原生架构由无状态 SQL 层(也称为 TiDB)和支持分布式事务的持久键值存储层(TiKV,现在位于 CNCF 沙箱中)组成,它们是松散耦合的。“您可以根据您的计算和存储需求进行扩展或缩减,并且这两个扩展过程可以彼此独立地进行,”徐嘉鹏说。PingCAP 团队还基于 Kubernetes 构建了 TiDB Operator,这有助于在任何云环境中引导 TiDB 集群,并简化和自动化部署、扩展、调度、升级和维护。该公司最近还预览了其完全托管的 TiDB Cloud 产品。
整个 TiDB 平台利用 Kubernetes 和其他云原生技术,包括用于监控的 Prometheus 和用于服务间通信的 gRPC。
到目前为止,客户对支持 Kubernetes 的平台的反应“非常积极”。当客户部署 TiDB 时,默认情况下会安装 Prometheus(以 Grafana 作为仪表板),以便他们可以监控并在将 TiDB 部署到生产环境之前进行任何必要的调整以达到其性能要求。徐嘉鹏说,该监控层“使评估过程和沟通更加顺畅”。借助该公司基于 Kubernetes 的 Operator 实现,客户现在能够在云中部署、运行、管理、升级和维护其 TiDB 集群,而不会出现停机时间,并减少了工作量、负担和开销。
这些技术在内部也产生了影响。“我们已经完全转向 Kubernetes 进行我们自己的开发和测试,包括我们的数据中心基础设施和 Schrodinger,这是一个用于 TiDB 的自动化测试平台,”徐嘉鹏说。“借助 Kubernetes,我们的资源使用率得到了极大提高。我们的开发人员可以自己分配和部署集群,部署过程所需的时间更短,因此我们可以减少管理 IDC 资源的人员。
生产力提高了约 15%,随着我们在调试和诊断方面获得更多 Kubernetes 知识,生产力应该会提高到 20% 以上。”
Kubernetes 现在是 PingCAP 产品路线图的重要组成部分。对于任何正在考虑采用云原生的人,徐嘉鹏都提出了以下建议:“现在是开始的最佳时机,”他说。“整个云原生社区,无论是 Kubernetes、CNCF 还是像我们这样的云原生供应商,都积累了足够的经验(并且有战斗伤痕可以证明),并且随时准备帮助您取得成功。”
事实上,PingCAP 团队已经看到越来越多的客户转向云原生方法,这是有充分理由的。“IT 基础设施正在迅速从成本中心和事后诸葛亮转变为任何公司的核心竞争力,”徐嘉鹏说。“云原生基础设施不仅可以为您节省资金并让您能够更好地控制所消耗的基础设施资源,还可以赋能新的产品创新、为您的用户带来新的体验以及新的商业可能性。它既可以降低成本,又可以赚钱。”