对待运维平台,要有「疯狗」一样的执行效率

从去年发起里程碑来做自动化平台的事情到现在,已经几个月过去了。在这段时间里,其实我的心态是很焦灼的。

其实从很多维度来说,做运维平台的事情,从不明朗的需求和定位开始,很难有说服力。

如果用业务价值的一把标尺来衡量,那基本没戏;如果从做这件事情的难易程度来说,很多人算是从入门到放弃;当然还可以有很多维度。

最直接的一个痛点就是纯运维的开发技能不够好,纯开发的运维背景不够,所以两者能够结合起来,算是一种互补,当然做这个事情要投入的精力,还有毅力,你们自己尝试去推动体验一下,还是有收获的。

如果说这个事情的转变,我觉得虽然慢了很多拍,好歹这个事情算是提上日程了,但是落地的情况虽然差强人意,相比于去年底的时候,已经有了很大转变。这里面要做一些工作,从上到下,从下到上。从上到下,就是从一个更高的角度来和领导谈这个事情,从意念上达成一个共识,在这个地方我觉得我犯了一个错误,那就是如果已经有很多显而易见的事实,我觉得就不需要去说服别人,说服领导了,但是恰恰在这个点上,我们还是要做一些推动力的,这个时候很可能就是信息不对称,我们认为重要,领导认为一般,结果导致了结果有了较大的偏差。

另外从下到上,其实就是事情怎么去做,算是一些具体的分工和安排了,最纠结的莫过于没人,没技术了。其实这个还不算最糟糕的,最糟糕的是大家认为这个事情还不够重要,先保持现状吧。这种时候我很焦躁,我们的价值在哪里。

原来是感觉有很多事情可以做,但是必要性不大,结果有了一些阶段性的讨论之后,基于各种因素吧,发现事情一旦有了转机,你就会发现有很多的事情可以做,值得做了。

所以车轮子转了起来,我觉得好歹就是进步了。

以上的可以理解是牢骚,也可以理解是一个苦逼的心路历程。对我来说,抱怨不够,要做解法,所以前期我的投入会很多,以至于我感觉我现在就是做运维开发的了。

运维开发以后怎么走,我觉得我们可以看看Google的路,运维开发一个很不错的方向:SRE

SRE的特质有两条:

1.对重复性,手工性的操作有天然的排斥感

2.有足够的技术能力快速开发出软件系统以替代手工操作

SRE的经验法则

“SRE团队必须将50%的精力花在真实的开发工作上”。

所以开发了几个月,平台搭建起来了,有了初步的系统功能,有了元数据的基本功能,做了一些基本功能的调试和使用,我发现事情开始有了变化。

我画个图来表达一下。

这可能是我眼中的运维平台,无论是数据库运维平台还是系统运维平台,大概念就是运维平台,我希望有树干(好的架构),绿叶(支持丰富的功能),果实(有产品的亮点)

结果做着做着发现好像和自己预期的不一样了。

发现是这样的情况,其实事实上比这个还要糟糕。

这是什么,有时候自己都犯嘀咕。对我来说,把以前的工作全盘否定也不太公平,所以,我决定做需求和功能的收敛。期望达到的这样的一个效果。

这是不是树,首先可以肯定说是,抓住几个亮点,有了好的设计,那么后续的工作要衔接起来就是一个迭代的过程。

所以我希望的结果是这样的,那些果子可能是一些目前要解决的痛点。

所以在我的脑海里闪出了一句话,可能听起来不大好,我决定叫它是“疯狗一般的执行速度”。

有了前面的思考之后,我发现其实我虽然实现了一些基本功能,但是面对复杂的运维场景的时候还是有些乏力。

我又画了一个图,这次是个技术图。通过这个图我可以做很多的总结和思考。

假设通过左侧的运维机器要访问数据库,有很多中路径可做。

中间的是中控机器,也可以理解是代理服务器,右上角的是DB服务器,右下角的是DB服务器中的数据库。

比如通过运维机器来访问数据库,我们有很多的路径可选。

如果面对的场景不确定如何能够做到一种灵活的插件方式呢。

我计划分成几个维度,运维机器-Ops,中控-CM,DB服务器-host,DB实例-DB

那样下来就可以拆分,比如ops_to_cm

cm_to_host,host_to_db,ops_to_db,ops_to_host等等

对于每一个路径或者分支我们可以使用多种技术来实现,到时候串联起来即可,比如Ops_to_db如果使用程序脚本逻辑的方式,那么sql的方式就满足不了了,我们可以使用ops_to_host,host_to_db,或者加一层中控,ops_to_cm,cm_db来实现,

当然方法有很多种,我们来适配即可。

所以这个地方如果抽象出来,然后单独实现,我觉得能够解决一些通用的问题,所以在这里我把它做概念提取,这就是一个工具管理的功能。

上面的方式其实主要侧重点是接入管理,如果我们做针对性的管理,比如系统管理,数据库管理,其实就可以做很多的细分了,这样一来,我们拼接出的工具就好比是一个乐高玩具,堆叠出很多的玩法来。

我设计的一个初步的demo是下面这样的。

说到这里一定要提一下原型设计的重要性,这个也是我走过的弯路之一。

这是我最近整理的一个运维开发的流程图。原型设计还是很重要的,如果原型设计没想明白就开始很具体的数据库设计,那么后面要返工的可能会非常高。

这个图建议大家好好理解一下,可能我的理解有偏差,希望你能够提出宝贵的建议来。

所以把之前的工作如果再做一层高度的提取,我觉得要做的应该会分为两大部分,一部分是通用平台,另一类是业务运维支持。

所以通用模块我的想法应该是能够普世很多业务场景,我们经过讨论,目前补充的会是下面的一些通用模块。

而从基础运维来说,比如数据库运维来说,就是一些具体的业务场景了,比如:

  1. 数据库一键部署
  2. 数据库备份模块
  3. 数据库恢复模块
  4. 一键搭建从库模块
  5. 服务开通模块

基础打牢了,后面可以做高可用,分布式,SQL审核等等。

这些工作有些已经做差不多了,有些还没有开始,所以要继续我开始说过的,我们需要“疯狗一般的执行效率”

所以这个里程碑里我计划要实现的就是这些基础的事情。如果这个时候我强调这是一个很重要的转折点,大家可能就理解了。

通用模块中我比较喜欢的是任务调度,我觉得如果做好,能做太多的事情了,甚至会激发出一些很亮点的功能,当然我现在想的很好,手底下不停使唤,所以我还是会做好规划,看看能做到什么程度。

这个月过去,小半年就过去了,如果还是在打口号,在提思想,我觉得就太失败了。有句话说得好,快就是慢,慢就是快,你太慢了所以觉得哪里都快,你太快了觉得哪里都慢,可能就是这个道理吧。我很喜欢做事情主动能拼的同学,我不喜欢追着别人做事情,要达到初步的预期,我觉得有两点分享下,一个是做事情需要有明确的目标和计划,比如这个月我要实现基础的功能,那么我来拆分,本周,下周,下下周要做的事情。第二就是deadline,做事情没有截止日期,结果简直没法提。

以上就是我的一些基本想法,很多事情听起来确实泛泛,需要不断的细化和梳理,要不时间花了,事情没成,我觉得太不值了。

我的分享就到这里。谢谢大家。

原文发布于微信公众号 - 杨建荣的学习笔记(jianrong-notes)

原文发表时间:2018-04-10

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

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏JAVA高级架构

如何成为架构师?7 个关键的思考、习惯和经验

工作了挺久,发现有个挺有意思的现象,从程序员、高级程序员,到现在挂着架构师、专家之类的头衔,伴随着技术和能力的提高,想不明白的事情反而越来越多了。这些疑问有些来...

3429
来自专栏ThoughtWorks

聚焦测试,驱动卓越 | 洞见

在经历了“七年之痒”后,蓝鲸项目进入第八个年头,项目的一切趋于稳定。团队倡导持续改进,这时大家的感觉是已经尽力做到最好,似乎没有什么可以改进的了。为了突破这个局...

1214
来自专栏AI科技评论

业界 | 在美国成年人群体中,语音助手Siri已经成了第二大移动搜索引擎

市场研究公司Fivesight最近的一份研究报告显示,今年一季度,在美国的移动搜索市场上,Google依然毋庸置疑地占据着霸主地位,但是一个有趣的现象是,在遇到...

2774
来自专栏编程

自动化测试到底是什么

偶然在群里有人问自动化测试到底是啥,搞不懂。qtp对象库好麻烦,jmeter怎么做测试。。。。一堆一堆的问题。其实说实话真心不知道该咋解答了,我的内心是累的~ ...

2219
来自专栏PPV课数据科学社区

【方法】电商数据分析方法:分拆,跟着用户走

在理解了要选择怎样的指标来衡量各项业务之后,我们可以对业务有一个客观和全面的把握,可是数字本身无法告诉我们发生了什么事情,怎样可以改进。为了得到更深入的信息,我...

3123
来自专栏鹅厂网事

腾讯DCI上线基于集中控制的SR-TE方案

"鹅厂网事"由深圳市腾讯计算机系统有限公司技术工程事业群网络平台部运营,我们希望与业界各位志同道合的伙伴交流切磋最新的网络、服务器行业动态信息,同时分享腾讯在网...

3236
来自专栏陈树义

10、互联网产品的交互设计

理解互联网产品交互设计的: – 交互设计之父 – 交互设计的定义 – 理清几个容易混淆的概念 1、交互设计之父——比尔.莫格里奇 • 比尔·莫格里奇、比尔·莫格...

3916
来自专栏耕耘实录

2018年Geeklp更新计划

版权声明:本文为耕耘实录原创文章,各大自媒体平台同步更新。欢迎转载,转载请注明出处,谢谢

1114
来自专栏DevOps时代的专栏

DevOps实施实战系列(一):实施框架总览

? 前言: 企业IT本身是个复杂的系统工程,这也是为什么DevOps的实施不是一个一蹴而就的过程,大多数企业需要至少2~3年的时间才能够逐步达成一个相对成熟的...

22910
来自专栏学一学大数据

网络爬虫的应用领域

4614

扫码关注云+社区

领取腾讯云代金券