最近跟团队规划OKR目标的时候,讨论了很多问题。我将从几个例子开始,并列出一些存在的问题。我打算按照推导的方式:1)列出目前存在的问题2)对问题进行分类总结3)梳理已有的经验和已有的解决方案4)结合时间/性价比得出某段时间内的预期目标。整体来说工作量还是挺大的,每个人对问题的理解也不一样,容易讨论太多细节,难以集中注意力。于是想了想,准备按照生命周期的维度来考虑,于是整理了一个版本的设计图,整体分为四个层次,即从申请资源和权限根据业务,到服务上线,服务优化,最后是服务数据的迁移和流转。整体设计之后,我们会发现很多考虑不足和缺角。经过多次细化,我将这张设计图调整为以下模式:下面我来一一说明:1)规格/选型/规划:这个阶段强调整体,如果很多问题直接从基础运维入手,在其实已经晚了,有些服务质量差,送货时间长。本质上是前期基础设施不够扎实,所以这是一个互惠互利的关系,比如开发规范的设计和实现,架构设计(比如分布式架构设计),技术选型(比如MySQL8.0适配)中间件技术研究、ClickHouse技术研究、TiDB技术选型、MyRocks存储引擎测试分析等)、SQL审计(现有审计服务的升级完善等)、高可用(重中之重涉及健康检查脚本、快速切换Consul服务的开发、数据库高可用方案的预研和测试等)、基础服务(如监控、告警、任务调度等相关服务)、基础设置(如放弃低版本如CentOS_6、磁盘配置统一为SATA-SSD等类似方式)2)基础运维:涉及资源交付(包括在线and下线、资源扩容等)、权限下发(申请账号、账号权限变更、账号恢复等)、安装部署(如数据库软件安装、部署、初始化)、基础配置(基础配置、如如ntp、crontab等),备份恢复(根据数据备份和数据恢复的基本维度实现基本备份集,基于时间点的数据恢复)3)运维优化:对象变更(需要演变为自动在线模式),对于大表变更需要集成在线变更工具来实现,另外重点是做一些相关的优化,比如参数优化(比如数据库优化参数,基础配置适配),对象优化(数据表优化、索引优化)、SQL优化(执行计划优化、索引建议等)、配置优化(系统配置、服务配置优化等),涉及数据迁移和数据传输。数据本身在不同类型的环境之间传输。如何保证数据传输稳定准确也是一个重要的目标。4)数据迁移和数据传输,数据迁移主要实现一键式数据迁移,主要包括两个方面:(1)一键式数据库迁移,从一个服务器迁移到另一个服务,一键实现(2)数据库版本升级,比如MySQL从5.5升级到5.7,从5.7升级到8.0等,都可以一键实现。此外,数据流向数据仓库、大数据,如何高效、稳定地支撑,如何实现实时数据流转机制和多环境之间的快速迁移/同步,也是一个关键目标。对于技术库来说,首要的目标是文档,文档可以从以上四个维度分为各种文档,如规格设计文档、预研文档、方案设计文档、操作文档、案例文档等。后续服务的交付应该统一成一个API模型,进化可以从脚本到工具,从工具到API。基地的两个分支是云平台建设和服务建设。云平台建设覆盖面更大,提供面向产品的服务交付。对技术架构和开发效率有很高的要求。这种情况提供了强大的推动力,其中,元数据的建设是核心目标,在这个层面上必须整合元数据,实现流程化管理。右边的服务构建更接近于后端服务,从生命周期的角度对实例、数据库、表、字段、索引进行周期性管理,而提供的辅助服务更接近于后端服务。实际运维,比如慢Log优化、巡检服务、故障自愈等,业务端是半透明的开放形式。本文转载自微信公众号《杨建荣的学习笔记》,可通过以下二维码关注。转载本文请联系杨建荣学习笔记公众号。
