本文是PingCAP上架到计算巢的方案介绍,原文请查看:https://mp.weixin.qq.com/s/haE7GwFv3R2NQscnVIlClg
把复杂留给自己,把简单留给用户一直是阿里云坚持的产品理念。企业级开源分布式数据库厂商 PingCAP 创始人兼 CEO 刘奇也曾说:“PingCAP 未来仍将坚持做好一件简单的事情,那就是让数据库回归本来的样子,将复杂交给 TiDB,把简单留给用户。”
工程师都希望以最简单而优雅的方式为用户解决问题。近日,阿里云计算巢与 PingCAP 的合作,融合双方技术优势的云数据库 TiDB 正式上线阿里云,这正是双方为用户“删繁就简”愿景中的坚实一步。本文将深入剖析 PingCAP 和阿里云计算巢的联合解决方案,探索软件在云端私有化部署的新形态。
TiDB 集群在阿里云上的部署架构图
PingCAP经历了短短七年时间,便实现了“从无到有,从小到大”的成长,其分布式数据库 TiDB,也成为了由中国人主导的顶级开源分布式数据库项目。今年,PingCAP 入选了 2022 Gartner 云数据库“客户之声”,获评“卓越表现者”最高分,是国内唯一入选的分布式云数据库服务商。墨天轮中国数据库排行榜中,TiDB 连续 28 个月(2020 年 1 月 - 2022 年 4 月)在榜单中排名第一。
用户对于云数据库的期待是要充分利用云原生的能力:开箱即用、极致弹性和运维托管,同时又要兼顾数据安全、高性能和低时延。当前,国内大部分企业用户倾向于选择私有化的部署模式。但随着企业对公共云的接纳度的提升,越来越多的企业用户开始转向云上的私有化部署形态。
但传统大规模私有化部署方式存在诸多挑战,比如:集群服务部署架构复杂,组件多;云服务器规格多,无法找到最优的规格组合;手工操作导致的错误和检查,部署效率低;数据库集群的自动扩容和弹性保障。
让我们再回到最开始提到的“删繁就简”。PingCAP 和阿里云计算巢的联合解决方案,就是为了解决传统模式下数据库软件使用过程中的“繁”:云上一键部署数据库集群;通过云上极致弹性能力,保障数据库集群自动扩缩容;同时,提供安全审计,提升系统的运维透明性;此外,在资源账单上做了优化,帮助用户实现更好的成本管理。
云上一键自动化部署,分钟级完成 TiDB 集群的创建
如何能够简化集群部署的复杂度?阿里云计算巢给出的答案是:通过 ROS (资源编排)实现数据库集群的自动部署。ROS(资源编排)是阿里云的 IaC (Infrastructure as Code)产品,随着 Terraform 的普及,IaC 早已不是新鲜概念,但对于广大的用户而言,如果部署数据库软件还学习如何使用 IaC,绝对谈不上“删繁就简”。
TiDB 高可用版部署模板
计算巢不仅支持 ROS 语法、Terraform 语法的脚本以及容器部署,同时,在 IaC 的基础上进一步实现了服务化,用户看到的是一个完全白屏化的服务创建页面,不需要学习什么是 IaC,更不需要感知 IaC 脚本的存在,大大降低了数据库部署门槛。
在阿里云控制台通过点击快捷创建 TiDB 集群
而通过和 TiUP 集群运维平台集成,在云服务器集群创建完成之后,软件的部署也会自动触发并完成,整个过程只需要几分钟。
接入到阿里云计算巢之后,TiDB 集群的私有化部署过程被大大简化了,用户可在计算巢上实现数据库集群和软件的一键部署。同时为了进一步的优化体验,PingCAP 结合自身的最佳实践和测试结果,针对不同版本的 TiDB 集群推荐了最高性价比的云服务器规格,结合 Alibaba Cloud Linux 针对数据库场景的专门优化,用户将可以获得更高的性能。
PingCAP 为用户提供了云服务器规格的最佳实践
此外,针对跨 3AZ 的高可用版本,计算巢会自动过滤出相关规格有充足库存的可用区,同时在用户选择可用区时实现可用区选项的自动校对,避免人为的误操作,保证 3 个集群跨可用区的严格打散,省去了用户核对库存和可用区挑选的麻烦。
所以,通过计算巢部署,用户只需配置节点数量这种业务相关的参数,最大程度简化了集群的部署环节。正常情况下,TiDB 在用户配置完成后就会进入部署状态,仅需几分钟,即可完成部署。相比传统以天、甚至以周为单位的私有化部署周期,有极大的提升。
自动化交付能够带来效率的数十倍提升
大部分软件厂商都在追求产品的标准化,TiDB 在产品标准化上已经做得非常的完善。计算巢进一步的实现了服务交付的标准化,集群的初始化环节几乎不再需要原厂参与,也最大程度上避免了人为引入的错误。从实际效果看,一个 10 节点的 TiDB 集群,基本上从触发创建到最终可用只需 5~10 分钟。
1 个 10 节点的 TiDB 集群创建耗时 7 分 42 秒
由于 TiDB 数据库软件和 Grafana 监控软件的安装是完整集成的计算巢服务里的,在创建完成之后可以直接点击输出的 IP 地址即可访问 TiDB 数据库的管理后台和 Grafana 的控制台。对于很多企业用户而言,云的复杂性完全被屏蔽掉了,只需要关注软件部分的使用。
TiDB 和 Grafana 的控制台
极致弹性,支持服务节点的扩缩容
在完成数据库集群部署之后,随着业务需求的增长,往往会存在数据库集群扩容的需求。在面对扩缩容集群场景时,通常无法轻易获取集群全局部署情况,这也给全局扩缩容增加了困难和复杂度。因此,针对服务节点的扩缩容显得尤为必要。
计算巢天然支持服务节点的扩缩容,充分利用云上的弹性能力保障数据库集群伸缩能力。在此次发布的联合方案中,天然集成了两个伸缩组:一个针对 TiDB 集群,另一个针对 TiKV 集群。用户在面对数据量的爆发性增长时,可选择特定伸缩组调整实例的数量。如下图展示,用户扩容调整后,TiDB Dashboard 中即实现成功扩容。
安全审计,提供“行车记录仪”的体验
企业用户之所以选择私有化部署,很大一部分原因是出于数据安全性的考虑。所以,针对服务商所有的代运维操作,无论是对于资源集群的操作,还是在 Guest OS 内部的操作,计算巢会提供全面的操作日志和录屏记录,便于用户进行安全审计,从而提升了系统的运维透明性。我们将这个功能称之为“行车记录仪”,让服务商操作的全流程可以完整的呈现给用户。
同时,计算巢和 PingCAP 会一并确保软件组件和部署架构的上架和更新会经过严格安全审核,同时严格控制开放的内外网端口,为用户的安全使用提供保障。
服务商对云服务器的操作记录
Guest OS运维记录审计Demo演示
全面账单,资源消耗清晰透明
在费用的透明化上,计算巢也做了专门的体验优化。在集群创建之前,用户可以看到完整的费用预估,同时可以在集群创建之后,通过账单分析功能直接看到集群资源的费用信息,会过滤出跟当前服务相关的账单,使得不同业务之间的资源消耗清晰透明,帮助用户进行成本管理,精简财务流程。
创建前的费用预估
计算巢账单查询界面
结语
计算巢作为一个面向 ISV、SI 和 MSP (统称为服务商)的云集成 PaaS 平台,方便服务商更好地将产品、服务和阿里云集成,借助云原生的能力提升软件服务在交付、部署及后续管理等环节的效率和用户体验。最终用户可以通过计算巢管理其在阿里云上订阅的各类软件服务。计算巢为服务商和最终用户提供了一个云原生的服务交付平台和连接器,提供更高效、便捷、安全的软件服务和使用体验。
此次和 PingCAP 的联合解决方案,是阿里云开放自身云平台能力和数据库软件厂商深度集成的结果。通过计算巢,阿里云将飞天操作系统的底层能力最大限度的开放给软件厂商,解决软件厂商业务场景中碰到的各类痛点,让软件更好的和云集成。同时提供阿里云生态和市场渠道的快速接入能力,加速软件厂商的业务增长。