文章采集组合工具(DevOpsDevOps开发(软件工程)、技术运营和质量保障(QA))
优采云 发布时间: 2021-10-08 10:31文章采集组合工具(DevOpsDevOps开发(软件工程)、技术运营和质量保障(QA))
能用的QQ少了,现在加入300+技术微信群,公众号回复“微信群”即可加入。
什么是 DevOps
DevOps 是开发和运维的结合。它是一组流程、方法和系统的统称,用于促进开发(应用程序/软件工程)、技术运营和质量保证 (QA) 部门之间的沟通、协作和集成。它的出现是由于软件行业越来越清楚地认识到:为了按时交付软件产品和服务,开发和运营必须密切配合。
将 DevOps 视为开发(软件工程)、技术运营和质量保证 (QA) 的交集。
传统的软件组织将开发、IT 运营和质量保证设置为单独的部门。如何在这种环境下采用新的开发方法(如敏捷软件开发)是一个重要的课题:按照以前的工作方法,开发和部署不需要IT支持或QA的深入、跨部门的支持,但非常需要多部门密切合作。然而,DevOps 考虑的不仅仅是软件部署。它是这几个部门之间进行沟通和协作的一套流程和方法。
开发运营工具
工人要想做好本职工作,首先要磨练自己的工具,现在大家最关心的是DevOps领域的工具层面。
以下是我接触了这么多公司的工具,大家都用了很多工具:
1、监控工具
比较成熟的品牌是Zabbix和Nagios,使用Zabbix的感觉是最多的。中国有小米的开源OpenFalcon。这类监控工具一般监控服务器和服务(中间件、数据库)的一些常用指标。
2、性能分析/APM工具
APM 通常被认为是监视的一个分支。但是,在现代复杂的分布式系统架构下,APM工具往往更准确、更直接地帮助用户定位性能瓶颈,比如哪些URL访问慢、哪些方法执行慢、哪些SQL执行慢。过去,为了获得这些数据,往往需要更多的资深架构师和DBA共同合作才能获得这些数据,定位瓶颈的效率往往不是很高。现在通过APM工具,普通技能的运维人员也可以高效定位这些深层次的问题。商用的APM工具有很多,国外有Newrelic,国内知名的有听云、Oneapm、星宝等。还有开源的Pinpoint(naver开源),
3、批量+自动化运维工具
这里还有很多,比较知名的有Puppet、Ansible、Chef、Saltstack等。网上也有比较多的资料,找新版的官方文档就行了。Puppet 和 Chef 是相对较早的工具,拥有大量受众。但是,这两个工具都是基于 ruby 的。现在要找到熟悉ruby的人来做这个二次开发并不容易。Ansible 和 saltstack 是相对较新的一代。用户群目前正在快速增长。基于python实现,比较容易找到做二次开发的人。
4、 集中式日志分析工具
在服务器较多的环境下,如何对日志进行集中管理、分析和查询成为了比较强烈的需求。想象一下,如果发生某个错误,你必须一个一个地去查看日志文件。是不是很痛苦?在这种需求的推动下,一些集中式日志分析工具应运而生。在开源领域,比较知名的一套工具是ELK,涵盖了日志采集、报表、搜索、展示等基本需求。现在比较大的企业用这个,网上的资料也很多。核心实现机制是使用一些日志采集代理(类似于Filebeat)抓取日志文件,将最新的部分提交到采集服务器,然后连接到后端的搜索引擎,可以支持非常快速准确的搜索。国内有一个鲜为人知的 Sentry 日志采集服务,比较轻量级。它由 Python 编写,与各种语言的日志框架有很好的集成。它可以轻松地集中采集异常日志并分配给相应的日志。开发商。它在github上有10000多个star,在DevOps相关软件中排名非常靠前。git 地址:GitHub-getsentry/sentry:Sentry 是用爱构建的跨平台崩溃报告
5、持续集成/发布工具
我接触的人都用Jenkins,我没用其他的。可能和我的技术圈有关。其实集成打包的过程一般比较简单,只要有一个好的版本库和打包脚本就可以了。但是发布过程比较复杂。有些是完整发布的,但也有许多 IT 团队使用增量发布。如果要使用这方面的工具,首先要分析现有的发布流程,如何手动进行,自动化工具可以做什么。
6、IaaS 集成
公有云这两年推广得很快,很多新购的服务器都导入了云。现在主流的公有云都提供了比较完善的API。基于这些API,你还可以对基础资源做一些自动化操作,比如游戏行业的快速服务器激活。
更多信息请查看知乎上一篇关于DevOps的文章:文章:
最近精选
分布式架构设计免费福利
进阶视频教程:Dubbo+Zookeeper+ActiveMQ+Redis等
Hadoop全套教程
阿里进阶Java面试题(第一期,70题,有详细解答)
2017年*敏*感*词*给阿里、京东、美团、滴滴带回的采访问答
春季面试题(70题,史上最全)