暂无图片
暂无图片
1
暂无图片
暂无图片
暂无图片

一个运维产品的诞生【缘起】

新运维社区 2021-07-12
1082

本文缘起



如果你问一个工作了很多年的运维老兵,他们有什么梦想,你会惊奇的发现有超过50%的朋友想拥有一个自己的运维平台。所以在Github上可以看到各种各样的“运维平台”的项目,你要相信那都是一个一个有梦想的人,在默默的坚持!为你们点赞👍。


让运维更完美


在2019年的某天和两位老友在会议室谈起,如果你要做一个运维平台,你的口号是什么?我竟然脱口而出:Make Ops Perfect(让运维更完美),一个毫无商业气息,毫无宣传优势,毫无产品定位的口号,而且充满了“让我们一起为梦想而窒息”的画面感。这就是最初的梦想。


无论何时,不要放弃读书

开始做产品之后,我更加的发现读书对于技术类工程师尤其重要,因为,对于技术类工程师我们往往缺少的正是,我们“看不上”的那些“高大上”,“虚无缥缈”的理论知识。在熟读了一堆(《精益创业实战》,《定位》,《参与感》,《上瘾》,《让创意有点黏性》,《增长黑客》,《资本与商业模式顶层设计》)我认为可以帮助我做运维产品的书籍之后,我觉得要马上开始动手干!这一切都来自于《逆向管理》这本书的方法论:先行动,后思考。


事件驱动运维,数据决策运营

既然要做一个运维平台,首先就需要有一个合理的规划,在运维平台领域已经有非常多非常出名的产品,例如腾讯蓝鲸,不管是在产品上,还是在商业上均已经取得了优秀的成绩,值得我们学习和借鉴。那我把自己10多年的运维经验,总结成一句话:事件驱动运维,数据决策运营。于是【OpsAny】就诞生了。



OpsAny开发中心来自于bk-PaaS,https://github.com/Tencent/bk-PaaS,在我们开始编写代码两周后,一个电话改变了整体的架构,coffee在电话中说,来啊,一起改变运维行业,PaaS都开源了,你还想啥呢?于是我们全员从Flask转到了基于Django的bk-PaaS上来。


OpsAny的管控平台基于Ansible和SaltStack双通道,支持四种主机纳管模式:Agent、SSH、Agent+SSH(Agent优先)、SSH+Agent(SSH优先)。这样可以满足复杂的业务场景之外,也可以让运维工程师自由的选择编写Ansible Playbook还是SaltStack的SLS。


OpsAny的监控平台同时集成了Zabbix和Prometheus,有人问我,为什么不自研发Agent去做采集,我的回答是Zabbix已经22年,不管是从代码的稳定性和安全性,还是社区的普及程度,都是非常优秀的。毕竟是要安装到主机上的Agent,甚至说稳定性大于一切。更多的细节后期连载详述


事件驱动的自动化运维


在命令式和声明式,如日中天的时候,事件驱动被遗忘在角度,几乎无人问津,甚至连炒概念的文章都少之又少。我大约在2015年的时候使用过StackStorm(以下简称ST2),截止目前,我依然认为ST2是运维的利器,一路走来,可能大家都在默默的编写自己的Pack,分享也是比较少,对于ST2不了解的可以移步https://stackstorm.com/。你可能会突然间发现,故障自愈貌似并不难实现。简单的介绍:StackStorm是一个开源的基于事件驱动的平台,它提供了以事件为中心的开发框架。

有了ST2这个核心之后,下一步的目标就是,如何给ST2增加丰富的Action,也就是可以执行的原子操作,例如命令执行、文件分发、数据采集、API调用,工作流编排等等。然后如何主动或者被动的采集不同平台的事件,例如从工单系统、监控系统,甚至内部的OA系统等。最后,如何有效的设置规则能够把他们结合起来。


数据决策(辅助)运营


有人看到这里说,这也不难啊,无非就是一堆的if xxx;then xxx嘛,那这就要提到事件驱动运维的底层核心:数据。我们经常说自动化运维的发展:标准化、工具化、自动化、智能化,往往会缺少数据化,数据化是自动化和智能化的桥梁,没有完整的自动化工具,智能化就是没有机械臂的机器大脑。而没有完整的数据化建设,智能化就是空谈。就是只是应付领导的PPT,和那些几乎没有什么用而又晦涩难懂的算法公式。通过Pull/Push获取到数据中心所有的事件和数据之后,就可以使用机器学习的算法来进行相关的计算,例如利用IT事件之间的关联性就可以做告警去重和根因分析等。


源于开源,拥抱开源


关于开源其实有两个话题:


  1. 一个产品要完全自研还是要适当的集成开源?我相信这个话题观点很多,要回答这个问题就需要先理解开源的运营模式:社区大于代码。例如资源编排,如果让你在Terraform和salt-cloud之间做选择,答案非常明显,甚至很多人都没有用过SaltStack的salt-cloud,原因是社区不强大,甚至很多人可能都没有听说过。因为社区不强大,那么salt-cloud支持的云厂商远远低于Terraform。话说回来,使用开源工具的好处不仅仅是因为代码开源,而是因为你选择了和更多人一起携手前进。例如在产品设计中我们就使用了Terraform、Prometheus、ElasticSearch、Ansible、SaltStack、Kubernetes等开源产品。我更加倾向于拥抱开源。


  2. 自己开发的产品是否应该开源?开源本身也是一种商业模式,一个产品开源能够获得的热度或者市场宣传是远远大于闭源产品。如果你准备好了一切,那么我更加倾向于开源!准备什么?开源可并不单单是把代码提交到Github或者Gitee,让别人看到,开源软件有一整套商业和社区运作模式。是需要花相当大的精力和成本投入的。当然,如果当我准备好之后,OpsAny也会完全开源,源于开源,不止于此。


社区版内测:


目前OpsAny已经开放社区版内测,也就是在正式发布社区版之前,计划准备为期3个月的注册内测阶段,https://www.opsany.com/ 欢迎朋友们免费下载进行使用,并提出您的宝贵建议和意见。让我们一起:Make Ops Perfect。


(OpsAny社区版工作台截图)




友情提醒:


本文连载中,此篇为第一篇,【缘起】,下一篇为【再聊CMDB】


世间多少纷扰事,浮华落尽总随风。关注我们,一起默默成长。


END -


加入新运维社区,开启新征程!    

   



牛人并不可怕,可怕的是牛人比我们还努力!



商务合作请邮件:admin@unixhot.com


文章转载自新运维社区,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论