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