当前位置: 首页 > news >正文

运维开发的开源项目

640?wx_fmt=jpeg

    运维开发的开源项目很多,从很多人的理解中,开源就是把代码一开放就完事了,当然远远没有这么简单。其实如果在GitHub上观察多一些,那些顶级项目都是更新频繁,功能迭代很快的。

    顶级的开源项目谁都想模仿,但是实际上不用试都会发现完全跟不上步伐,等你模仿好,那边新的功能和亮点特性又出来了,几个人和一个团队肯定是没法比的,况且他们是训练有素,所以看项目的一把标尺就是看看star,基本能够感受到在社区的认可程度和专业程度。

    运维开发的项目说实话远没有这些开源项目这么火,也没有如此多的更新频率。只能说一些现状和情况情况有些相仿,那些能够活下来的项目,都是经历了一些苦闷的阶段。

    我之前的运维平台参考了OpsManage的内容,但是在后期实现的时候,初步的设想是定制一下,修改一些基本的页面满足功能,然后逐步接入业务。但是随着需求的明确和对比,发现和我们的需求还是有差别的,所以保留了已有的技术架构,但是需求从头开始完全独立来做。

    最开始修改几个按钮名字,几个标签,能够达到初步的视觉预期,还是很兴奋的,但是随着工作的逐步开展和深入,其实我能够看到很多不尽完美的地方,突然发现我要做的事情很多,同时不懂的事情也蛮多。所以这就容易陷入一个死循环,不懂就要学->学习很花费时间->学习周期长->学习的效率感觉就会很低->感觉好像没什么进展->别人也会认为你没做什么->开始纠结要不要学->开始怀疑当初为什么要开始学习->开始对学习的内容做一些取舍,有时候可能是不理性的->发现会的还是很少,决定继续恶补....然后开始第二个循环。。。

    我做了很多的尝试,也做了一些定制的功能,从技术的架构和权限管理上也下了很多的功夫。有一个事情对我触动很大,是前些天,有个同事对于系统里有几个小的需求,虽然说不上严重,但是这个会直接影响到他的正常使用,比如他要修改某个字段的值,要做一些权限上的管理,但是看不到那个按钮,看不到那个属性,这个操作他就完全做不了了。他从开始提到我解决,整个过程大概用了不到5分钟的时间,我在本地测试完成,然后快速发布到了线上,这个时候我感觉我对这个层面的需求可以做到快速响应了,通过这个对比就能够充分体会到敏捷运维里的一些便捷之处。

    所以现在我看到报错的页面,脑子里基本就会很快弹出思路来,在哪个层出的问题,怎么快速修复,就会有一种很自然的处理方式。

    晚上的时候,和同事聊起了OpsManage这个项目,从沟通中了解到最近确实更新了不少的东西。所以带着好奇心在GitHub上读了读源码,大概有以下的一些感受。

    1.修复了遗留的bug

      这个版本里面,我看修复的比较通用的问题就是分页了,原来用的是sb-admin2的模板,是自带分页方案,但是如果数据量达到一定程度,这种检索是不够优雅的。在这个版本里面,可以看到大量的标注都是修复了分页。这个对我目前的使用和改进就有很大便利性和参考价值了。

2.架构层面的调整和优化

    整个项目可以看到在功能的完善和需求越发丰富的情况下,作者也开始考虑对已有的项目做一个扩展,比如会开始分模块分目录的的重构文件结构,url和model通过app的形式可以做到扩展了,这对于已有的项目来说也是一个好事。

3.新的技术方案

    项目里引入了一些新的解决方案,比如channels,xterm等。还是比较有意思的,编辑器比如CkEditor,个人感觉ACE-Editor更轻量级一些。

4.新的功能点

里面有几个功能点不错,一个是SQL审核,一个是ansible的全套调用方案,还有一个webssh的都很不错,在这个基础上还补充了一个wiki的功能。

    大概看了下代码之后,也收获了不少的点子,后续做改进和补充确实能便捷不少,感谢这些无私的奉献者。

相关文章:

  • 关于运维开发,说说你的看法
  • Greenplum集群故障修复小记
  • 运维开发流程梳理和思考
  • MySQL 8.0初体验
  • Oracle Cloud初体验
  • MySQL权限开通的设计方案
  • Oracle Cloud for MySQL的初步测试
  • 技术分享活动的小结
  • 两道简单的数学题
  • 技术学习的一些建议
  • 我的女儿二三事(十一)
  • 一些技术认证的学习成本感想
  • 快高考了,写点东西给你们
  • 最近在读的三本书
  • 对于备份的敬畏
  • android 一些 utils
  • css选择器
  • electron原来这么简单----打包你的react、VUE桌面应用程序
  • EOS是什么
  • express如何解决request entity too large问题
  • java2019面试题北京
  • Linux Process Manage
  • OpenStack安装流程(juno版)- 添加网络服务(neutron)- controller节点
  • PHP 程序员也能做的 Java 开发 30分钟使用 netty 轻松打造一个高性能 websocket 服务...
  • PHP变量
  • Python打包系统简单入门
  • Service Worker
  • Spring Boot快速入门(一):Hello Spring Boot
  • spring cloud gateway 源码解析(4)跨域问题处理
  • webpack项目中使用grunt监听文件变动自动打包编译
  • 搞机器学习要哪些技能
  • 聚类分析——Kmeans
  • 每天一个设计模式之命令模式
  • 实战:基于Spring Boot快速开发RESTful风格API接口
  • 使用 5W1H 写出高可读的 Git Commit Message
  • 使用阿里云发布分布式网站,开发时候应该注意什么?
  • 树莓派 - 使用须知
  • ​ 轻量应用服务器:亚马逊云科技打造全球领先的云计算解决方案
  • ​LeetCode解法汇总2808. 使循环数组所有元素相等的最少秒数
  • #!/usr/bin/python与#!/usr/bin/env python的区别
  • #周末课堂# 【Linux + JVM + Mysql高级性能优化班】(火热报名中~~~)
  • (2)(2.4) TerraRanger Tower/Tower EVO(360度)
  • (动手学习深度学习)第13章 计算机视觉---图像增广与微调
  • (规划)24届春招和25届暑假实习路线准备规划
  • (免费领源码)Java#ssm#MySQL 创意商城03663-计算机毕业设计项目选题推荐
  • (提供数据集下载)基于大语言模型LangChain与ChatGLM3-6B本地知识库调优:数据集优化、参数调整、Prompt提示词优化实战
  • (转)h264中avc和flv数据的解析
  • (转)利用PHP的debug_backtrace函数,实现PHP文件权限管理、动态加载 【反射】...
  • (转载)hibernate缓存
  • .bat批处理(三):变量声明、设置、拼接、截取
  • .NET Core 项目指定SDK版本
  • .Net Redis的秒杀Dome和异步执行
  • //解决validator验证插件多个name相同只验证第一的问题
  • /boot 内存空间不够
  • ;号自动换行