DevOps到底是什么鬼?DevOps介绍及工具推荐

转载自 DevOps到底是什么鬼?DevOps介绍及工具推荐

 

什么是DevOps

DevOps是Development和Operations的组合,是一组过程、方法与系统的统称,用于促进开发(应用程序/软件工程)、技术运营和质量保障(QA)部门之间的沟通、协作与整合。它的出现是由于软件行业日益清晰地认识到:为了按时交付软件产品和服务,开发和运营工作必须紧密合作。

可以把DevOps看作开发(软件工程)、技术运营和质量保障(QA)三者的交集。

传统的软件组织将开发、IT运营和质量保障设为各自分离的部门。在这种环境下如何采用新的开发方法(例如敏捷软件开发),这是一个重要的课题:按照从前的工作方式,开发和部署不需要IT支持或者QA深入的、跨部门的支持,而却需要极其紧密的多部门协作。然而DevOps考虑的还不止是软件部署。它是一套针对这几个部门间沟通与协作问题的流程和方法。

DevOps工具

工欲善其事,必先利其器,现在大家在DevOps领域最关注的还是在工具层面。

下面是我跟这么多公司接触下来,大家使用比较多的工具:

1、监控工具

比较老牌的就是Zabbix,Nagios,用Zabbix的感觉是最多的。国内的有小米开源的OpenFalcon。这类监控工具一般是对服务器、服务(中间件,数据库)做一些常用指标的监控。

2、性能分析/APM工具

APM很多时候被认为是监控的一个细分领域。但在现代复杂分布式系统架构下,APM工具往往更能准确、直接的帮助用户定位到性能瓶颈,比如哪一个URL访问慢、哪一个方法执行慢、哪一个SQL执行慢。在以往要想拿到这些数据,往往得需要比较资深的架构师、DBA一起合作才能拿到这些数据,而定位瓶颈的效率往往还不太高。现在通过APM工具能让普通技能的运维人员,也很高效的定位到这些深层的问题。现在商用的APM工具不少,国外的有Newrelic,国内知名的就有听云、Oneapm、透视宝这些。开源的也有Pinpoint(naver开源)、Zipkin(twitter开源)、CAT(大众点评开源).

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 is cross-platform crash reporting built with love

5、持续集成/发布工具

我接触的人都是用Jenkins的,没有用其他的,可能跟我所在的技术圈子有关。集成打包的过程其实一般都比较简单,配好版本库和打包脚本就行。但发布的过程就比较复杂,有些是全量发布,但也有非常多的IT团队采用增量发布。这个方面如果想用工具,还是得先分析清楚现有的发布流程,手工情况下怎么做,哪些能通过自动化工具来完成。

6、IaaS集成

最近两年的公有云推广比较迅速,很多新的服务器采购都被导入到云上去了。现在主流的公有云都提供了比较完备的API,基于这些API也可以做一些针对基础资源的自动化操作,比如游戏行业的快速开服。

更多的可以看下知乎上的一篇关于DevOps的文章:<<你所在的公司是如何实施DevOps的?>>

https://www.zhihu.com/question/24413538/answer/116474416

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/330759.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

请求对象Request

1.概念 <1>请求&#xff1a;请求:获取资源。在BS架构中&#xff0c;就是客户端浏览器向服务器端发出询问。 <2>请求对象&#xff1a;就是在项目当中用于发送请求的对象。 <3>对象创建&#xff1a;需要实现ServletRequest和HttpservletRequest接口&#xff0…

Oracle-26-内连接(等值、不等值连接、自然连接)外连接(左外、右外、全连接)using子句

转自&#xff1a; http://blog.csdn.net/wy_0928/article/details/51155498 【总结】连接分类 【0】什么是数据库连接&#xff1f; 1&#xff09;当一次查询涉及到两个表时&#xff1a;就要使用连接查询了&#xff0c;其中join如果不带有其他标识&#xff0c;则默认是内连接 …

百度分布式配置管理平台-Disconf

转载自 【推荐】百度分布式配置管理平台-DisconfDisconf介绍 全称&#xff1a;Distributed Configuration Management Platform&#xff0c;即分布式配置管理平台。 Disconf专注于各种分布式系统配置管理的通用组件和通用平台, 提供统一的配置管理服务。主要目标&#xff1a; 部…

运算符优先级的问题

注意&#xff1a;逻辑非>逻辑与>逻辑或

数据库表连接总结:等值连接, 自然连接,左外连接,右外连接,内连接,全外连接;

【1】等值连接1&#xff09;连接&#xff1a;凡是查询涉及到两个以上的表&#xff0c;就需要将表连接&#xff1b;2&#xff09;就是用where子句做的连接查询&#xff1b;连接查询的列名可以不同&#xff1b;【2】自然连接&#xff1a;select * from a_tbl natual join b_tbl这…

网站性能测试指标(QPS,TPS,吞吐量,响应时间)详解

转载自 网站性能测试指标&#xff08;QPS&#xff0c;TPS&#xff0c;吞吐量&#xff0c;响应时间&#xff09;详解常用的网站性能测试指标有&#xff1a;吞吐量、并发数、响应时间、性能计数器等。 并发数 并发数是指系统同时能处理的请求数量&#xff0c;这个也是反应了系统的…

Request获取参数封装方式

浏览器请求界面 1.获取参数手动封装数据 WebServlet("/ServletDemo4") public class ServletDemo4 extends HttpServlet {Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {//根据参数名获取…

Access restriction: The type 'BASE64Encoder' is not API 的解决方法

转自&#xff1a; https://www.mkyong.com/java/access-restriction-the-type-base64encoder-is-not-accessible-due-to-restriction/ If you insist want to use sun.misc.BASE64Encoder, in Eclipse, right click on the project, properties -> Java compiler –> Err…

Mycat - 数据库分库分表中间件,国内最活跃的、性能最好的开源数据库中间件

转载自 Mycat - 数据库分库分表中间件&#xff0c;国内最活跃的、性能最好的开源数据库中间件Mycat是什么 Mycat - 数据库分库分表中间件&#xff0c;国内最活跃的、性能最好的开源数据库中间件&#xff01; 一个彻底开源的&#xff0c;面向企业应用开发的大数据库集群支持事务…

响应对象Response

1.概念【响应给浏览器】 响应∶回馈结果。在B/S架构中&#xff0c;就是服务器给客户端浏览器反馈结果。响应对象∶就是在项目中用于发送响应的对象。实现接口&#xff1a;ServletResponse和HttpServletResponse【浏览器访问服务器后&#xff0c;服务器给客户端响应的数据会封装…

调用toString()方法的注意事项

【1】荔枝&#xff1a;Object转为 String&#xff1b; response.setContentType("text/html;charsetUTF-8"); PrintWriter out response.getWriter();request.setCharacterEncoding("UTF-8"); HttpSession session request.getSession(); //设置session超…

Java内存泄漏介绍

转载自 Java内存泄漏介绍内存管理是Java最重要的优势之一&#xff0c;你只需创建对象&#xff0c;Java垃圾收集器会自动负责分配和释放内存。但是&#xff0c;情况并不那么简单&#xff0c;因为在Java应用程序中经常发生内存泄漏。本章会说明什么是内存泄漏&#xff0c;为什么发…

Servlet请求和响应总结

1.解决乱码问题 通过Request的设置编码表方法和Respose设置浏览器展示编码表解决 //设置请求字符编码,防止乱码 req.setCharacterEncoding("utf-8"); //设置浏览器响应编码[html类型的文本,字符集为utf-8] resp.setContentType("text/html;charsetutf-8"…

java虚拟机采用UTF-16编码格式对字符进行编码

转自&#xff1a; https://www.ibm.com/developerworks/cn/java/j-lo-chinesecoding/ 【UTF-16】 说到 UTF 必须要提到 Unicode&#xff08;Universal Code 统一码&#xff09;&#xff0c;ISO 试图想创建一个全新的超语言字典&#xff0c;世界上所有的语言都可以通过这本字典来…

服务高可用:幂等性设计

转载自 服务高可用&#xff1a;幂等性设计什么是幂等性&#xff1f; 一般在服务调用时&#xff0c;读服务如果调用失败了&#xff0c;会自动按配置次数转移到别的服务上去请求。而写服务就不能重复请求&#xff0c;如果因为超时或者网络故障等原因被调用服务并没有返回成功的响…

getParameterValues用法

<form name"checkform" method"post" action"getvalue.jsp"> 你希望学习哪些程式语言&#xff1a;<br> <input type"checkbox" name"langtype" value"JSP">JSP  <input type&q…

SQL分组取每组前一(或几)条记录(排名)

转自&#xff1a; https://www.cnblogs.com/netserver/p/4518995.html --按某一字段分组取最大(小)值所在行的数据 代码如下:/* 数据如下&#xff1a; name val memo a 2 a2(a的第二个值) a 1 a1--a的第一个值 a 3 a3:a的第三个值 b 1 b1--b的第一个值 b 3 b3:b的第三个…

会话技术Cookie

1.会话技术的概念 会话∶浏览器和服务器之间的多次请求和响应。为了实现一些功能&#xff0c;浏览器和服务器之间可能会产生多次的请求和响应&#xff0c;从浏览器访问服务器开始&#xff0c;到访问服务器结束(关闭浏览器、到了过期时间)。这期问产生的多次请求和响应加在一起…

终于搞懂了回车与换行的区别

转自&#xff1a; http://blog.csdn.net/fanwenbo/article/details/54848429 转载于&#xff1a;http://www.pythontab.com/html/2017/linuxkaiyuan_0115/1116.html 关于换行和回车其实平时我们不太在意&#xff0c;所以关于两者的区别也不太清楚&#xff0c;在平时开发时可能会…

分布式服务防雪崩熔断器,Hystrix理论+实战

转载自 分布式服务防雪崩熔断器&#xff0c;Hystrix理论实战Hystrix是什么&#xff1f; hystrix对应的中文名字是“豪猪”&#xff0c;豪猪周身长满了刺&#xff0c;能保护自己不受天敌的伤害&#xff0c;代表了一种防御机制&#xff0c;这与hystrix本身的功能不谋而合&#xf…