如何借助自动化工具落地DevOps|含低代码与DevOps应用实践
作者:Tiger Wang,云智慧研发负责人&开源项目 FlyFish PMC。
本篇文章将从5个方向详细讲解如何借助自动化工具落地DevOps。首先会介绍传统迭代方式的弊端以及为什么要推出DevOps;接下来将讲解DevOps迭代方式的优点,以及如何借助自动化工具落地DevOps;后面两章着重分享如何把控DevOps落地过程中的关键环节以及低代码技术与DevOps的一些新探索。
传统迭代方式的弊端
在日常工作迭代方式中,开发团队进行开发设计和整体系统的构建,因此需要系统不停的迭代更新;运维团队则是将开发团队测试后的code进行部署上线,即保障系统稳定、安全的运行。因而,两个团队通过传统迭代便会引发下列几个弊端:
团队独立:开发和运维团队的工作,是相互独立的。 彼此之前很少沟通,也不了解彼此的工作内容;
易突发问题:手动进行代码部署,容易出现人为错误,严重的可能会对生产环境造成破坏;
周期延长:开发和运维团队都有各自节奏,两个团队之间不同步,导致上线很难按时完。
接下来,我们将结合实际场景,展示在迭代过程中遇到的问题及痛点。
运维团队需要整理容器、集群等相关部署的文档工作,但由于不了解服务的架构、依赖情况,导致部署文档整理变得复杂;
由于运维同学对应用程序内部逻辑不清晰,导致无法独立判断应用程序的正常运行;
运维团队对开发团队的进展一无所知,运维团队根据自己的理解制定监控计划;
同样的一个产品、同样的一个环境,每次都需要进行手动部署,重复性工作太多;
明明简单的安装部署,服务更新,但还都需要人员投入。优秀人员不愿意干,一般人员不放心。没有成长空间。
DevOps迭代方式和优点
DevOps是促进开发和运维团队之间的协作,以自动化和可重复的方式更快地将代码部署到生产环境中,在日常迭代过程中,具体有以下几方面优点:
可预测性:DevOps大大降低了新版本的意外失败率;
可重现性:对所有内容进行版本化,以便可以随时恢复早期版本;
可维护性:在新版本崩溃或有问题的情况下,轻松回滚;
降低成本:DevOps在开发过程中提高了效率,降低了研发成本;
更高的质量:由于和运维团队紧密合作,产品问题尽早暴露;
降低风险:DevOps在环节上增加了风险控制方面的内容,降低项目研发风险。
借助自动化工具落地DevOps
常用自动化工具介绍
在日常工作中,常用的自动化工具有JIRA、Gitee、sonarQube、Jenkins、Docker、JFrog,此外低代码数据可视化平台FlyFish也是不可或缺的一部分。
JIRA : 主要应用于缺陷跟踪、客户服务、需求收集、流程审批、任务跟踪、项目跟踪和敏捷管理等工作领域;
Gitee: 用于仓库及分支管理,代码扫描、漏洞检查等;
sonarQube: 通过PMD、CheckStyle、Findbugs等代码规则检测工具规范代码编写;
Jenkins: 主要用于持续或自动地构建/测试软件项目,以及监控一些定时执行的任务;
FlyFish : 开源低代码可视化工具,可通过拖拉拽的形式形成可视化大屏,用于过程看板搭建;
Docker: 将运行环境和配置放在代码中并部署;
JFrog: 用于管理构建工具(如:maven、gradle)等所依赖的二进制仓库,以便管理第三方库和发布目标版本库,从而提高软件开发效率。
自动化工具落地DevOps工作流程
管理人员通过JIRA建立开发任务,并指定开发人员进行代码构建,以此进行任务追踪;开发人员将代码构建完成后推送至Gitee进行提交,提交完成后利用Gitee所对应的webhook推送至Jenkins;Jenkins接受到通知后可拉取分支代码,并通知对应的sonarQube进行代码扫描处理;扫描完成后,相关人员可看到代码扫描质量结果,与此同时可进行部分构建以及做出镜像;代码构建完成后会推送至Docker镜像,与此同时也可以放至JFrog中,开发人员后续便无需重复构建便可直接拉取。
自动化工具落地DevOps整体工作流程便是通过Jenkins通知服务器进行镜像拉取,拉取完成后进行构建,构建完成后通过FlyFish进行可视化。
如何把控关键环节
- 通过JIRA建立任务后,通过自带的仪表盘可查看指定开发人员的代码BUG数量,以此精准定位人员问题,进行管理改进;另一方面,可通过仪表盘中所展示的不同阶段下的BUG数量优化整体开发流程;此外,可通过任务数看板界面把控任务开发进度。
- 通过Gitee可查看拉取代码分支后的一些操作,包括代码是否及时merge、分支是否及时提交、扫描后的代码是否有漏洞或缺陷、构建后流水线的一些情况等,以此循环保证分支可健康运行。
- 通过Docker部署后可监控代码运行时的磁盘、内存消耗等情况,从而保证代码正常运行。
- 通过FlyFish创建的看板大屏监控各个工作流程的健康度。包括运营、监控、计划、开发、编译、测试、发布、部署等阶段。
低代码技术与DevOps探索
未来,低代码技术与DevOps会有更多的可能性。包括探通过低代码的方式把Jenkins关键指标进行把控;流程编排方面,包括事件触发、通知人员。抽象脚本、抽象对象、抽象action,把任务编排起来;数据打通方面,通过低代码打通DevOps过程应用,把过程中的指标轻易量化。
- 与JIRA结合创建任务质量看板。
- 与Gitee结合创建代码工程看板。
FlyFish开源福利
云智慧已开源数据可视化编排平台 FlyFish 。通过配置数据模型为用户提供上百种可视化图形组件,零编码即可实现符合自己业务需求的炫酷可视化大屏。 同时,飞鱼也提供了灵活的拓展能力,支持组件开发、自定义函数与全局事件等配置, 面向复杂需求场景能够保证高效开发与交付。
点击下方地址链接,欢迎大家给 FlyFish 点赞送 Star。参与组件开发,更有万元现金等你来拿。
GitHub 地址: https://github.com/CloudWise-OpenSource/FlyFish
Gitee 地址:https://gitee.com/CloudWise/fly-fish
超级体验官活动: http://bbs.aiops.cloudwise.com/d/712-flyfish
万元现金活动: http://bbs.aiops.cloudwise.com/t/Activity
微信扫描识别下方二维码,备注【飞鱼】加入AIOps社区飞鱼开发者交流群,与 FlyFish 项目 PMC 面对面交流~

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
6种方法帮你搞定SimpleDateFormat类不是线程安全的问题
摘要:本文主要讲述在高并发下SimpleDateFormat类为何会出现安全问题,以及如何解决SimpleDateFormat类的安全问题。 本文分享自华为云社区《【高并发】SimpleDateFormat类到底为啥不是线程安全的?》,作者:冰 河 。 首先问下大家:你使用的SimpleDateFormat类还安全吗?为什么说SimpleDateFormat类不是线程安全的?带着问题从本文中寻求答案。 提起SimpleDateFormat类,想必做过Java开发的童鞋都不会感到陌生。没错,它就是Java中提供的日期时间的转化类。这里,为什么说SimpleDateFormat类有线程安全问题呢?有些小伙伴可能会提出疑问:我们生产环境上一直在使用SimpleDateFormat类来解析和格式化日期和时间类型的数据,一直都没有问题啊!我的回答是:没错,那是因为你们的系统达不到SimpleDateFormat类出现问题的并发量,也就是说你们的系统没啥负载! 接下来,我们就一起看下在高并发下SimpleDateFormat类为何会出现安全问题,以及如何解决SimpleDateFormat类的安全...
- 下一篇
Categraf v0.2.5 版本发布,框架调优,扩展监控采集插件更加简单了
Categraf v0.2.5 更新内容 做了重大重构,把很多插件侧的代码提取到了框架层,写监控插件的代价更小了,代码看起来也更干净了 在框架侧做了一些通用的逻辑,比如: 所有的插件都支持配置labels,可以为时序数据附加一些自定义标签 所有插件都可以通过interval和interval_times配置,来控制执行频率 所有插件都支持metrics_drop和metrics_pass配置,通过黑白名单的方式来过滤监控指标,丢弃一些没用的指标 所有插件都支持metrics_name_prefix,可以为指标名字添加前缀 所有插件都支持processor_enum配置,可以做value映射,比如采集的数据如果是字符串枚举,可以转换为数字,这对prometheus生态是必须的,因为prometheus生态的时序库只能接收数值类型的数据 Categraf 是什么? Categraf 是一个监控采集 Agent,类似 Telegraf、Grafana-Agent、Datadog-Agent,希望对所有常见监控对象提供监控数据采集能力,采用 All-in-one 的设计,不但支持指标采集,也...
相关文章
文章评论
共有0条评论来说两句吧...