一文通晓私有云构建之道

摘要

服务化在云计算中是非常重要的部分,所有组件以服务的方式去提供,而很多企业的数据库都还在构建当中。今天聊的就是私有云数据库构建的过程。如果大家有这方面的打算希望能够提供一些参考。

视频内容

为什么需要DBaaS

公有云和私有云

公有云和私有云就像公交车和企业班车的区别。从汽车的构造核心来说,它们是一样的,但用途是有区别的。公交车面向的是大众用户,企业班车只面向企业职工。我们区分是从成本、安全、控制力以及定制化的角度出发,所以云计算其实不分私有云和公有云,只是一个选择。

问题

资源:利用率低,空闲率高,响应速度慢。

成本:硬件成本,软件成本,人力成本。

管理:重复工作,疲于救火,被动运维。

如何构建DBaaS

Database as a Service

以服务化的方式,以及多租户和动态调整来解决成本和响应问题。从安全角度可以做到备份、容灾、高可用,从平台的角度来说对应用是透明的。

整个数据库的Database as a Service平台支持的比较重要的几个方面有资源池、任务调度、备份恢复、高可用、安全体系、监控体系和交互接口。

资源池-层次化

首先要对机房里的线做层次化,去梳理它的生命周期,要知道每一个设备每一条线的来龙去脉是怎样的,对这些资源的规格做到统一化。

要把数据库进行层次化,分为应用层、数据库层、系统层和硬件层。

硬件层是指服务器和网络;系统层可以理解为数据库运行的地方;数据库层可以通过应用程序看见,比如Instance、Database和Table;应用层可以通过VIP访问、域名访问以及域名所带来的用户。

资源池-生命周期

以上图中一组关系型数据库服务为例,来说说从上线到下线会经历哪些过程。

资源池本身是静态的,一个资源从初始化到运行状态,它需要进行分配部署。在运行过程中可能会经历故障,也可能不经历故障直接走向下线状态,这是非常理想的。

在云平台中,它的维护过程不是人为也不是异常产生的,而是平台本身产生的。也就是说我们平台可能会产生这样的预警或自动调整,采取一系列的维护措施,最终实现一个下线的过程。

资源池-整合密度

数据库中每一组实例的大小都是不一样的。大小分为期望大小和实际大小,运行一段时间后期望大小和实际大小是有区别的。

所以我们就需要分维度去计算当前所面临的这套数据库的实例到底需要哪些资源,从硬件资源、服务资源来计算它到底需要多大的规格。有了这个信息之后,我们就可以把它井然有序地组装到数据库服务池里面。

任务调度

任务调度有三大核心特性必须要做到,就是标准化、自动化和模块化。

备份恢复

真正备份的目的是用于恢复。恢复首先就是从库的问题,要搭建从库,做节点迁移。定点恢复经常会出现两种情况,一种是确实业务上有需求,另一种是真的出现了问题需要去找到某个时间点的数据。误操作恢复比较经典,一般都是开发“背锅”,但其实DBS的误操作更多。80%的企业目前都还没有做恢复测试。脱敏过滤就是将一些敏感信息进行过滤。

只有备份必须满足恢复场景,才能做出有效的备份。

满足恢复场景的一些主要备份工具有lvm、tar、mysqlhotcopy等等。

高可用

所有的高可用都是基于复制,异步复制、半同步复制和主复制都能在上图中展现出来。

监控体系

现在很多监控系统已经非常成熟。监控体系主要是收集运行状态、资源状态、性能状态和任务状态,进行采集、统计、分析,最后形成告警或报表。监控系统需要具备采集模版、监控项和报警规则。

安全体系

安全体系中提到最多的就是隔离,有硬件隔离、软件隔离和用户级别隔离以及服务器资源的隔离。数据安全包括备份、异地的容灾、跨机房或机房内的切换演练,以及很多人都忽略的恢复测试,其实有必要定期去做恢复测试。用户级别有权限控制和白名单功能。审计相关的有SQL审计和SQL拦截功能。

交互接口

刚才提到的资源相关的内容、任务的接口、状态信息以及安全相关的问题,都是走接口化的方式。

如何智能化DBaas

知识提取

在大数据时代,人类是结合过往经验和当前情况形成决策。但要利用计算机来做决策,则需要实体、实体的属性和规则。有了这些就可以根据不同的实体、实体间的联系以及它们的属性去匹配规则。规则要通过数据进行匹配,所以整个平台缺的就是数据和规则。规则有两种产生方式,一种是通过以前的定义得到既定的规则,另一种是通过不断计算和学习得到的相关性规则。

数据采集

在整个平台里首先要采集基础数据,然后进行对比过滤,把这些数据形成有价值的数据。

智能化

从评估开始,我们以百分制的方式给数据库打分。有了评估之后就可以做预警,预警能带来调优和资源整合。还有一个最重要的就是测试。

评估

可以从性能、管理、安全、负载和容量这五个方面来看数据库的状态。

预警

首先要做到主动发现,有了数据之后,可以用规则去主动发现哪些地方有问题。并且可以做全面的分析,对问题分级,进行自动处理或给出优化建议。

调优

调优主要分为配置、设计和SQL。配置就是系统的配置和实例级别的配置。设计是指表单设计以及表结构的设计。SQL可以做改写和索引,分析和表相关的SQL的慢查询有没有增长。

资源整合

最开始计算规格后发现磁盘不够,就需要提升扩容。因为当前服务器容量也不够,要做迁移。然后要把大的核心库做拆分,还会做合并。迁移的情况很多,在这里就不一一细说了。

如何实践DBaaS

资源交付

生命周期里需要用户的参与,最开始管理员会加入资源池的信息,然后用户开始做申请。由页面申请之后,会有服务平台做配置下发、资源分配以及加入平台的托管。

最后用户拿到这些就会配置相关的信息,然后应用程序就能访问整个数据库。

我今天的分享就到这里,谢谢大家!

原文发布于微信公众号 - IT大咖说(itdakashuo)

原文发表时间:2017-10-10

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏CSDN技术头条

120万操作/秒Redis Cloud 集群单一服务器非基准测试程序

【编者按】日前,来自Aerospike公司的Anshu和Rajkumar在High Scalability网站上发表文章宣称其能 以1.68美元/小时的...

25310
来自专栏人人都是极客

物联网通信架构总结

本文从宏观上介绍IoT的通信架构,让大家都日渐频繁的物联网设备工作原理有一个初步的理解,主要分为了直连、网关、云三种模式。

1943
来自专栏黑白安全

苹果公布 macOS Mojave 即将更新的隐私和安全保护特性详情

在WWDC期间,苹果在面向开发者的主题日活动Platforms State of the Union Event中,公布了更多关于将在 macOS Mojave...

1154
来自专栏Java架构

“淘宝京东”构建流式计算卖家日志系统架构的应用实践

2307
来自专栏Rainbond开源「容器云平台」

好雨云资深架构师祁世垚参加Qcon演讲,现场反响热烈

1224
来自专栏EAWorld

Service Mesh解读:新一代微服务技术新秀

作者:William Morgan 译者:月满西楼 原题:What’s a service mesh? And why do I need one? Ser...

3806
来自专栏架构师之路

微服务架构多“微”才合适?

前情提要:互联网架构为什么要做服务化? 一、互联网架构为什么要进行服务化-总结 上一篇和大伙交流了一下,随着数据量、并发量、业务复杂度的增长,互联网架构会出现以...

3816
来自专栏企鹅号快讯

小程序新增多项功能,优化100多个功能点,堪称重磅!

微信在更新了安卓版6.6.0之后,小程序也来了一场大更新,新增多项功能,优化100多个功能点,堪称重磅! 1分享功能:小程序分发形式试探 分享功能功能,即用户可...

2077
来自专栏Linux Python 加油站

Python自动化测试框架有哪些?

来源:马哥教育链接:https://mp.weixin.qq.com/s/PvlaRmPmGc5b1XIMqMMslA令开发者万分高兴的是,开发自己的测试框架的...

1724
来自专栏IT大咖说

每秒处理1000万用户请求…云上架构如何实现高性能和高可用

3521

扫码关注云+社区

领取腾讯云代金券