化繁为简,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

相关文章

python常见环境管理工具超全解析

《python常见环境管理工具超全解析》在Python开发中,管理多个项目及其依赖项通常是一个挑战,下面:本文主要介绍python常见环境管理工具的相关资料,文中通过代码介绍的非常详细,需要的朋友... 目录1. conda2. pip3. uvuv 工具自动创建和管理环境的特点4. setup.py5.

全面解析HTML5中Checkbox标签

《全面解析HTML5中Checkbox标签》Checkbox是HTML5中非常重要的表单元素之一,通过合理使用其属性和样式自定义方法,可以为用户提供丰富多样的交互体验,这篇文章给大家介绍HTML5中C... 在html5中,Checkbox(复选框)是一种常用的表单元素,允许用户在一组选项中选择多个项目。本

Python并行处理实战之如何使用ProcessPoolExecutor加速计算

《Python并行处理实战之如何使用ProcessPoolExecutor加速计算》Python提供了多种并行处理的方式,其中concurrent.futures模块的ProcessPoolExecu... 目录简介完整代码示例代码解释1. 导入必要的模块2. 定义处理函数3. 主函数4. 生成数字列表5.

Python包管理工具核心指令uvx举例详细解析

《Python包管理工具核心指令uvx举例详细解析》:本文主要介绍Python包管理工具核心指令uvx的相关资料,uvx是uv工具链中用于临时运行Python命令行工具的高效执行器,依托Rust实... 目录一、uvx 的定位与核心功能二、uvx 的典型应用场景三、uvx 与传统工具对比四、uvx 的技术实

SpringBoot排查和解决JSON解析错误(400 Bad Request)的方法

《SpringBoot排查和解决JSON解析错误(400BadRequest)的方法》在开发SpringBootRESTfulAPI时,客户端与服务端的数据交互通常使用JSON格式,然而,JSON... 目录问题背景1. 问题描述2. 错误分析解决方案1. 手动重新输入jsON2. 使用工具清理JSON3.

SpringBoot服务获取Pod当前IP的两种方案

《SpringBoot服务获取Pod当前IP的两种方案》在Kubernetes集群中,SpringBoot服务获取Pod当前IP的方案主要有两种,通过环境变量注入或通过Java代码动态获取网络接口IP... 目录方案一:通过 Kubernetes Downward API 注入环境变量原理步骤方案二:通过

Springboot3+将ID转为JSON字符串的详细配置方案

《Springboot3+将ID转为JSON字符串的详细配置方案》:本文主要介绍纯后端实现Long/BigIntegerID转为JSON字符串的详细配置方案,s基于SpringBoot3+和Spr... 目录1. 添加依赖2. 全局 Jackson 配置3. 精准控制(可选)4. OpenAPI (Spri

关于跨域无效的问题及解决(java后端方案)

《关于跨域无效的问题及解决(java后端方案)》:本文主要介绍关于跨域无效的问题及解决(java后端方案),具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录通用后端跨域方法1、@CrossOrigin 注解2、springboot2.0 实现WebMvcConfig

Redis过期删除机制与内存淘汰策略的解析指南

《Redis过期删除机制与内存淘汰策略的解析指南》在使用Redis构建缓存系统时,很多开发者只设置了EXPIRE但却忽略了背后Redis的过期删除机制与内存淘汰策略,下面小编就来和大家详细介绍一下... 目录1、简述2、Redis http://www.chinasem.cn的过期删除策略(Key Expir

Go学习记录之runtime包深入解析

《Go学习记录之runtime包深入解析》Go语言runtime包管理运行时环境,涵盖goroutine调度、内存分配、垃圾回收、类型信息等核心功能,:本文主要介绍Go学习记录之runtime包的... 目录前言:一、runtime包内容学习1、作用:① Goroutine和并发控制:② 垃圾回收:③ 栈和