MyBase的诞生背景
(一)上云的烦恼
目前数据库主要分为三类:线下自建数据库、云上自建数据库与云数据库。
我们通过与云端和线下使用云数据库的用户进行访谈,总结出不同类型的用户在上云时遇到的情况如下:
1.线下自建数据库
- 优点
1)自主可控
相比云数据库,部分用户认为线下自建数据库安全性与可信度更高;
2)资源独占
所有的资源都是用户自己分配的,无需与其他用户共享;
3)数据安全
用户使用自建数据库,一定程度上增加数据安全性;
- 缺点
1)运营复杂
用户需自行购买硬件并上架,建设数据中心,运营成本高且异常繁琐和复杂;
2)运维压力大
如发生机房中心断电、设备故障等情况,运维中心的工作人员压力会非常大;
3)上线周期长
所有设施需从0开始搭建,上线周期十分漫长;
4)扩展性差
存储的扩容与计算的扩展非常差;
5)成本高昂
需要成立专门的团队,人力物力成本非常高昂。
2.云上自建数据库
- 优点
1)上线周期缩短
无需自行购买硬件与构建数据中心,可根据需求在云上直接购买资源,可以快速部署业务;
2)扩展性(中)
云上资源丰富,扩展难度低;
3)云DC基础设施稳定
云厂商花费大量精力构建的数据中心,基础设施相比自建更加稳定;
- 缺点
1)运营复杂
DBA需自行安装部署数据库、搭建HA、备份、监控;
2)运维压力大
数据库的日常运维仍需DBA自行处理;
3)共享资源
与其他用户共享资源池;
4)无SLA保障
3.云数据库
- 优点
1)服务化
全托管、免维护、内核快速演进;
2)扩展性(优)
只需简单的操作即可完成扩展;
3)SLA保障,高可靠
4)丰富的配套工具
- 缺点
1)担心数据安全
看不见、摸不着,心里发虚。无主机权限,只有实例权限。主机审计无从下手,最多只能审计DB实例;
2)成本可能增加
云上自建只需付 ECS等基础资源费用,云数据库服务可能有10%以上的价格上涨;
3)共享资源
(二)均衡各岗位的关注点
如上图所示,不同岗位对数据库的关注点也不一样。
在通常情况下,CFO只关心成本问题,CEO会在考虑数据安全、自主可控与快速GTM问题,注重产品安全、快速上线等。
DBA则更关注自主可控,如果所有业务都使用云服务,DBA是否面临被替代的风险。另一方面是资源独占,如果能够独占资源,则可以保证整个系统的稳定性最优,无需与其他用户争夺资源。
开发运维人员则注重便捷性,能够提供服务化、全托管的产品更受到他们的青睐。
MyBase的产品形态和定义
(一)MyBase的产品形态
针对以上问题,阿里云云数据库产品经理、开发人员、架构师等经过冥思苦想,提出了新的设计理念:将IDC搬到云上,在云上构建自主可控的IDC。全面上云之后,依然可以自主可控,同时还可降本增效。
1.专属资源
用户购买自己专属物理机,无需与其他用户进行资源争夺。
2.开放OS权限
开放整个后端OS权限给用户,用户可以看见所有的系统日志与相关目录,也可在上面装自己的软件。
3.可调节的资源调度
如果用户有多种数据库,有些是内存消耗型(如Redis),有些是计算消耗型,这些各种类型的数据库均可混布到一个物理机上。目前资源调度提供自定义的调度模式,用户可根据自己的业务自行配置。
4.阿里云内核
MyBase将阿里云整个云服务内核开放给用户,用户只需购买物理机即可获得全套阿里云数据库内核。在自主可控的前提下,能够享受到全托管云服务,目前MyBase支持MySQL/SQLServer/PostgreSQL/Redis/MongoDB等多种数据库。
(二)MyBase产品定义
1.产品定义
以主机形式购买云数据库服务,目前包括RDS MySQL、PostgreSQL、SQL Server和Redis服务,在赋予PaaS数据库同样能力之外,额外具备资源超配、混合部署、资源调度、弹性策略、更开放的权限、自主运维等能力,以满足大中型企业客户对云上数据库自主管理的核心需求。
2.售卖方式
1)按月购买,两台起配;
2)主机付费,实例免费;
3)支持本地SSD盘和ESSD云盘(另付费);
4)支持神龙服务器。
3.产品原理
产品原理主要包含以下五个部分:
1)自定义资源超配
用户在虚拟化的时候,可根据实际需求超配资源,如200%的资源或300%的资源。
2)自定义混合部署
可将多个类型的数据库混合部署到一起。
3)自助选择资源调度
4)可集成DBaaS
5)权限开放
(三)云数据库服务形态变化
原先许多云数据库用户都是与其他用户共享云上资源池,有了MyBase这个产品形态之后,通过最纯粹的物理隔离,使得用户可以独占资源池,自主可控操作自己的资源,更加方便与安全。
(四)OS权限
MyBase开放OS权限,实现对用户最纯粹的权限交底,打消用户上云的疑虑。保留原来所有的运维工作模式,可充分发挥DBA的价值,可及时解决数据库问题,同时用户还可部署原有自研管理系统(如监控等),更多优点如下所示:
MyBase的特点
(一)MyBase开放OS登陆
如上图所示,开放OS后,用户可以实现以下操作:
1)登陆到购买的专享主机上,拥有普通用户的权限;
2)挂载独立云盘,提供给用户可写(免费送100G云盘);
3)实例日志等信息提供给用户可读;
4)部署和运行自己的进程、工具。
(二)MyBase丰富的权限开放
如上图所示,目前MyBase开放了丰富的权限,操作系统目录权限包含:
1)数据库实例空间目录(r-x):
错误日志、慢日志、审计日志等常用日志查看。
2)操作系统目录(r-x):
主机日志、内核配置等常用目录和文件查看。
同时,我们已经将DBA常用的OS工具内置到MyBase中,包含:
1)yum
2)make;cmake
3)pt工具命令
4)tcpdump(抓包)
5)lrzsz(上传下载)
6)gzip(压缩)
7)wget
8)mysql;psql(客户端)
9)kill
10)其他DBA常用命令
目前MyBase已有相当完善的OS工具,后续我们也会根据用户反馈与需求持续完善,方便用户使用。
(三)MyBase系统预装软件
如上图所示,目前MyBase预装了许多用户常用的软件,包含登录、编译、压缩、解压缩等功能软件,为用户打造一站式服务。
(四)MyBase联动堡垒机,做最安全的数据库
我们开放OS权限后,为了防止少数用户随意操作,设置了堡垒机机制,用户登录后无法直接登录到后台。同时,我们设置了三个安全措施:操作审计、职权管控和安全认证。
1.操作审计
多面记录运维人员的操作行为,作为追溯的保障和事故分析的依据,包含以下几个方面:
1)运维操作记录
操作失误、恶意操作、越权操作详细记录;
2)Linux命令审计
可提取命令字符审计、命令定点回放;
3)Windows操作录像
全程录像远程桌面的操作,包括键盘操作、鼠标操作、窗口打开等;
4)文件传输审计
支持远程桌面文件传输、SFTP的原文件审计。
2.职权管控
进行账号管控和权限组管理,分职权进行人员和资产管理,包含以下几个方面:
1)账号管控
运维账号唯一性,解决共享账号、临时账号、滥用权限等问题;
2)权组管理
按照人员、服务器、服务器组,建立人员职责与资源分配的授权管理
3.安全认证
引入双因子认证机制,防止运维人员身份冒用和复用。
支持多种双因子认证机制,通过短信认证、RAM子账号MFA等技术,控制账号密码泄露风险。
总结
MyBase的设计初衷在于解决用户们在上云中遇到的各种痛点,同时满足了公司各个角色对数据库的不同需求,主要从四个方面进行实现:
1.云服务
MyBase为用户提供阿里云云服务技术,用户只需购买物理机即可免费使用所有实例,且支持现有RDS的功能,具备强大的扩展能力。
2.安全隔离
用户可独享主机,集成堡垒机管理保证用户在享受OS权限的同时,无需担心安全问题。
3.自主可控
开放OS权限,保留用户在原先操作系统的运维习惯,可在MyBase部署自己的常用工具,DBA可充分发挥自身优势,不必担心丧失运维权限。
4.高性价比
让用户降本增效,提供自定义超配功能,用户可根据业务实际需求超配资源,有效降低成本。