化繁为简,PingCAP 与阿里云计算巢联合方案深度解析

2023-12-26 20:40

本文主要是介绍化繁为简,PingCAP 与阿里云计算巢联合方案深度解析,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

把复杂留给自己,把简单留给用户一直是阿里云坚持的产品理念。企业级开源分布式数据库厂商 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 会一并确保软件组件和部署架构的上架和更新会经过严格安全审核,同时严格控制开放的内外网端口,为用户的安全使用提供保障。

服务商对云服务器的操作记录

全面账单,资源消耗清晰透明

在费用的透明化上,计算巢也做了专门的体验优化。在集群创建之前,用户可以看到完整的费用预估,同时可以在集群创建之后,通过账单分析功能直接看到集群资源的费用信息,会过滤出跟当前服务相关的账单,使得不同业务之间的资源消耗清晰透明,帮助用户进行成本管理,精简财务流程。

创建前的费用预估

计算巢账单查询界面

结语

计算巢作为一个面向 ISV、SI 和 MSP (统称为服务商)的云集成 PaaS 平台,方便服务商更好地将产品、服务和阿里云集成,借助云原生的能力提升软件服务在交付、部署及后续管理等环节的效率和用户体验。最终用户可以通过计算巢管理其在阿里云上订阅的各类软件服务。计算巢为服务商和最终用户提供了一个云原生的服务交付平台和连接器,提供更高效、便捷、安全的软件服务和使用体验。

此次和 PingCAP 的联合解决方案,是阿里云开放自身云平台能力和数据库软件厂商深度集成的结果。通过计算巢,阿里云将飞天操作系统的底层能力最大限度的开放给软件厂商,解决软件厂商业务场景中碰到的各类痛点,让软件更好的和云集成。同时提供阿里云生态和市场渠道的快速接入能力,加速软件厂商的业务增长。

这篇关于化繁为简,PingCAP 与阿里云计算巢联合方案深度解析的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/540713

相关文章

电脑找不到mfc90u.dll文件怎么办? 系统报错mfc90u.dll丢失修复的5种方案

《电脑找不到mfc90u.dll文件怎么办?系统报错mfc90u.dll丢失修复的5种方案》在我们日常使用电脑的过程中,可能会遇到一些软件或系统错误,其中之一就是mfc90u.dll丢失,那么,mf... 在大部分情况下出现我们运行或安装软件,游戏出现提示丢失某些DLL文件或OCX文件的原因可能是原始安装包

电脑显示mfc100u.dll丢失怎么办?系统报错mfc90u.dll丢失5种修复方案

《电脑显示mfc100u.dll丢失怎么办?系统报错mfc90u.dll丢失5种修复方案》最近有不少兄弟反映,电脑突然弹出“mfc100u.dll已加载,但找不到入口点”的错误提示,导致一些程序无法正... 在计算机使用过程中,我们经常会遇到一些错误提示,其中最常见的就是“找不到指定的模块”或“缺少某个DL

Qt实现网络数据解析的方法总结

《Qt实现网络数据解析的方法总结》在Qt中解析网络数据通常涉及接收原始字节流,并将其转换为有意义的应用层数据,这篇文章为大家介绍了详细步骤和示例,感兴趣的小伙伴可以了解下... 目录1. 网络数据接收2. 缓冲区管理(处理粘包/拆包)3. 常见数据格式解析3.1 jsON解析3.2 XML解析3.3 自定义

Golang HashMap实现原理解析

《GolangHashMap实现原理解析》HashMap是一种基于哈希表实现的键值对存储结构,它通过哈希函数将键映射到数组的索引位置,支持高效的插入、查找和删除操作,:本文主要介绍GolangH... 目录HashMap是一种基于哈希表实现的键值对存储结构,它通过哈希函数将键映射到数组的索引位置,支持

Python使用getopt处理命令行参数示例解析(最佳实践)

《Python使用getopt处理命令行参数示例解析(最佳实践)》getopt模块是Python标准库中一个简单但强大的命令行参数处理工具,它特别适合那些需要快速实现基本命令行参数解析的场景,或者需要... 目录为什么需要处理命令行参数?getopt模块基础实际应用示例与其他参数处理方式的比较常见问http

Java Response返回值的最佳处理方案

《JavaResponse返回值的最佳处理方案》在开发Web应用程序时,我们经常需要通过HTTP请求从服务器获取响应数据,这些数据可以是JSON、XML、甚至是文件,本篇文章将详细解析Java中处理... 目录摘要概述核心问题:关键技术点:源码解析示例 1:使用HttpURLConnection获取Resp

Python利用ElementTree实现快速解析XML文件

《Python利用ElementTree实现快速解析XML文件》ElementTree是Python标准库的一部分,而且是Python标准库中用于解析和操作XML数据的模块,下面小编就来和大家详细讲讲... 目录一、XML文件解析到底有多重要二、ElementTree快速入门1. 加载XML的两种方式2.

Java的栈与队列实现代码解析

《Java的栈与队列实现代码解析》栈是常见的线性数据结构,栈的特点是以先进后出的形式,后进先出,先进后出,分为栈底和栈顶,栈应用于内存的分配,表达式求值,存储临时的数据和方法的调用等,本文给大家介绍J... 目录栈的概念(Stack)栈的实现代码队列(Queue)模拟实现队列(双链表实现)循环队列(循环数组

java解析jwt中的payload的用法

《java解析jwt中的payload的用法》:本文主要介绍java解析jwt中的payload的用法,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Java解析jwt中的payload1. 使用 jjwt 库步骤 1:添加依赖步骤 2:解析 JWT2. 使用 N

Java实现优雅日期处理的方案详解

《Java实现优雅日期处理的方案详解》在我们的日常工作中,需要经常处理各种格式,各种类似的的日期或者时间,下面我们就来看看如何使用java处理这样的日期问题吧,感兴趣的小伙伴可以跟随小编一起学习一下... 目录前言一、日期的坑1.1 日期格式化陷阱1.2 时区转换二、优雅方案的进阶之路2.1 线程安全重构2