作者:周白
打开新闻,饮料自动贩卖机企业号称人工智能,音视频处理企业宣传自己做云管理,在这嘈杂的时代,你看得清这些层层包装下的本质吗?就如人工智能/新零售等概念一样,云管理出现在越来越多企业的宣传材料中,可什么是真正的云管理,云管理实现哪些功能?你真的了解吗?
骞云科技深耕云管理领域,通过多个行业成功的客户服务案例积累,总结了一些微小的心得,在此与大家分享。揭开层层面纱,骞云将通过“干货”系列文章,多角度展现云管理技术本质,与大家共同探索云管理未来。本次由骞云数据库及服务专家周白,带来数据库DBaaS解决方案分享。接下来就如下问题,骞云将会给你答案:
1.云管如何为使用者提供统一多数据库服务?
2.如何实现一套数据库部署在任意云平台上?
3.什么是数据库自服务?
4.怎样预防并尽早发现数据库异常?
让我们一起进入正文:
数据是信息化最重要的核心,因此数据库一直拥有远超其他基础应用的高性能和高标准要求,在信息化几十年的发展过程中几乎是以完全异于其他应用的方向独立发展。但是这种独立发展的趋势,在近些年云计算和大数据的冲击下产生了巨大的变革。
但是,在云计算大环境的冲击下,数据库的传统使用模式一直在受到冲击和挑战。用户希望获得更敏捷、更丰富的数据库服务。如何在满足数据库复杂性、专业性要求的基础上,保持数据库的高标准交付要求?本文既是以SmartCMP,一个云计算管理者的角度去解析数据库如何和云相结合,以云服务的理念提供数据服务和治理。
一、所见即所得的任意数据库
在云的理念下,数据库作为应用的基础承载环境,也应当能够以服务(DBaaS)的形式按需提供给用户。但是,经过多年的版本迭代,不同数据库之间的架构和细节差异非常巨大,通过一套自动化规范和服务流程去约束所有数据库很明显是不适合的。那么,如何才能为使用者提供统一的多数据库服务呢?
现在云上主流的解决方案是,给DBA提供一个通用的,可以快速描述企业数据库架构的蓝图工具。这样,DBA可以将目前信息化部门需要使用的数据库,在蓝图上完整定义出来。下图既是借助SmartCMP的蓝图模块绘制出来的Oracle RAC数据库模型。
可以发现,这张蓝图包含了Oracle RAC运行所必需的所有组件,并且是一个在通用的部署模型,自动化系统可以通过这张蓝图创建一个完整的数据库,无需人工干预。同时,蓝图中所有的组件均是DBA定义的,并没有绑定任何一个数据库,DBA可以根据需求,自定义所需的任意种类数据库!当用户在申请和使用数据库时,只需要看一眼蓝图,就可以知道数据库的组成架构以及和底层资源的关系,实现所见即所得的效果。
SmartCMP目前内置了众多开箱即用的数据库软件组件,从传统的关系型Oracle、MySQL数据库到新型的Redis内存数据库,大数据组件均有涉及,可以帮助DBA快速学习和上手整个过程。
二、一套模型、一个标准、任意云
目前,云计算资源的形态非常丰富,如果针对每一朵云进行适配无疑是非常耗时耗力的。云上的应用应当是非常灵活的,数据库也不例外。只有基础环境和数据库实现解耦,才能真正提高数据库敏捷性和弹性,实现一套数据库模型部署在任意云平台上。
为了实现这个目标,SmartCMP允许管理员按照金、银、铜等多种级别定义不同的资源池,资源池会封装好对应的基础环境,用户只需要选择数据库所属的项目和级别,自动化系统就会根据蓝图和资源池自动放置数据库实例,达到同一个模型合规化部署在不同云资源上的效果。
这个效果是突破性的,回顾IT的发展历史,数据库DBA往往是不同于基础环境和其他应用的独立环节。现在,我们可以通过自动化的方式,在云上申请从承载资源、操作系统到数据库的整体服务,而不需要任何人工介入。并且,所有数据库都具有相同合规的交付标准!
三、数据库自服务
云计算最重要的理念是用户可以按需所取,按需使用,最终合理回收资源。数据库作为应用服务也遵循相同的理念,这就需要在云平台上,能够为用户提供数据库的完整生命周期管理能力。用户可以无障碍的在平台上菜单点菜式申请服务,运维已有的服务,最终回收他们。大致可以总结为如下几个操作类型:
自助申请
用户在云平台上可以看到多个数据库服务,当然,这些服务都是经过DBA通过蓝图模型封装好的服务目录。此时,仅需要选择符合自己需要的服务目录进行申请即可。
服务卡片申请就和传统的工单式申请一样,可以给用户提供一个扁平化的操作体验。在这个页面下,仅需要填写常规的业务信息和必要的数据库参数即可,没有过多的繁杂技术细节。SmartCMP云管平台会自动根据审批流程生成审批单,通知审批操作者,直至完成自动化服务交付。
上述举例是一个简单的单实例数据库,那么对于复杂的应用场景,诸如多实例、多库甚至是集群型数据库需求下,SmartCMP又是如何实现对应的需求的呢?下图是基于DB2数据库的一个多实例模拟场景。
图中包含一个展现当前数据库自定义架构的树形拓扑。用户可以在树上的任意节点上添加新的子节点,数据库的每一层都可以按需添加下一层的结构,系统会自动生成每一个节点的数据参数。这无疑会大大提高数据库组成的灵活性,用户可以根据应用的需要完整自定义数据库的组成,而这些都不需要DBA的介入,真正实现数据库的自助化申请!
自助运维
作为长期稳定运行应用的代表,在运维过程中,数据库的健康检查是不容忽视的。下面简单列举了在SmartCMP上,我们可以对数据库进行怎样的运维(列举项仅为部分举例):
数据库的容量管理(scale-up)和架构管理(scale-out):能够调整数据库实例的基础环境资源容量以及数据库实例容量大小,包括对现有高可用数据库进行节点扩/缩容。
数据库的变更:DBA配置允许用户使用的维护和变更功能,诸如表空间的变更,健康检查等等;
备份与恢复:在对数据结构或数据条目进行大型变更前,可以对数据库进行全量/增量的备份,以及相应的恢复功能等。
四、完善的数据库监控和告警
如果要用好数据库,运维过程中对数据库性能的敏感是非常重要的。及时发现数据库的异常并提前预防可能存在的问题,将大大降低IT系统风险,这些都需要监控和告警系统的集成。
数据库运行的基本是建立在硬件和操作系统之上的,和任意其他应用一样,数据库的监控也需要关注基础承载环境的运行状态。为了全方位的展示数据库的整体运行状态,SmartCMP采用Prometheus监控将主机操作系统监控和数据库监控整合在同一个页面下,用户和DBA都可以快速浏览过往运行情况,排除风险。以下为MySQL数据库的一个监控举例:
在拥有了即时的监控数据后,SmartCMP可以按照DBA配置自动化的告警策略,提供高效的持续阈值检测。任何时间达到告警阈值时,告警系统都会立刻将报告反馈至DBA或用户处,快速发现,尽早排除问题。
值得一提的是,SmartCMP自动化告警支持基于AI的智能分析,允许通过以往的监控数据快速分析数据库关键指标的未来趋势,帮助用户和DBA尽早发现数据库性能问题和可优化项。
五、总结
SmartCMP云管平台的DBaaS解决方案核心是整合了基础环境到数据库的一体化解决方案。下层打通多云管理到应用的资源通道,上层规范化数据库应用标准,同时提供整体部署的全生命周期管理能力。这样的好处是毋庸置疑的,在配置阶段管理员即可定义好资源的使用策略,在使用阶段,用户可以一键式获取到所需的合规服务,自主完成运维、检测、健康检查和回收,真正实现了数据库和云的结合。
这种基于服务理念的模式,让DBA可以摆脱繁琐重复的人力重复劳动,专注于提高服务质量及效率。用户也能以最快的速度获取到所需的标准数据库服务,大幅降低时间、沟通成本和风险。
预告:在下一篇文章,我们会详细介绍如何通过SmartCMP平台自动化一键部署Oracle RAC的过程。