DevOps最佳工具集实践

栏目: 编程工具 · 发布时间: 5年前

内容简介:在列出DevOps 工具链之前,介绍一下什么是DevOps,虽然DevOps这个概念现在还没有标准的定义,但我们可以追溯一下其过去九年的历史发展过程(从2009年~2017年),列出几个相对明确又有所不同不同的定义,从而能够比较全面了解DevOps的内涵。【2009】 DevOps是一组过程、方法与系统的统称,用于促进开发、技术运营和QA部门之间的沟通、协作与整合;【2011】快速响应业务和客户的需求,通过行为科学改善IT各部门之间的沟通, 以加快IT组织交付满足快速生产软件产品和服务的目

在列出DevOps 工具链之前,介绍一下什么是DevOps,虽然DevOps这个概念现在还没有标准的定义,但我们可以追溯一下其过去九年的历史发展过程(从2009年~2017年),列出几个相对明确又有所不同不同的定义,从而能够比较全面了解DevOps的内涵。

【2009】 DevOps是一组过程、方法与系统的统称,用于促进开发、技术运营和QA部门之间的沟通、协作与整合;

【2011】快速响应业务和客户的需求,通过行为科学改善IT各部门之间的沟通, 以加快IT组织交付满足快速生产软件产品和服务的目

【2015】DevOps强调沟通、协作、集成、自动化和度量,以帮助组织快速开发软件产品,并提高操作性能和质量保证;强调自动化软件交付和基础设施变更的过程,以建立一种文化和环境,通过构建、测试和发布软件等方法,可以快速、频繁地、更可靠地发布软件。

【2016】 DevOps的目标是建立流水线式的准时制(JIT)的业务流程,以获得最大化业务成果,例如增加销售和利润率,提高业务速度、减少运营成本。

【2017】一个软件工程实践,旨在统一软件开发(Dev)和软件操作(Ops),与业务目标紧密结合,在软件构建、集成、测试、发布到部署和基础设施管理中大力提倡自动化和监控。DevOps的目标是缩短开发周期,增加部署频率,更可靠的发布。 

--2018-02-07 朱少民 软件质量报道

在很长一段时间开发和运维是一个硬币的两面,看起来双方分工清晰,需要较少的协同。然而现代的软件开发、部署运行越来越多的采用分布式架构、集群环境,这就要求开发人员同运维人员的技能出现了必要的交集,双方需要紧密协作才能确保应用的正常运行。随着越来越多的企业IT部门的团队在项目中采用敏捷过程进行应用的迭代开发,DevOps流程和 工具 集的集成应用将不仅帮助团队有效的提升产品代码质量,同时大大提高交付速度。

开发人员需求:

持续代码修订、快速修复缺陷

快速响应需求、加快特性交付

运维人员需求:

减少频繁更新、确保应用持续稳定运行

自动化基础设置配置管理,持续监控告警

提供可以自助的应用部署服务

不同的需求导致的冲突:

需要改变:软件开发就是一个变化的过程(新功能、Bug缺陷修复),业务要求快速变化迭代

惧怕改变:一旦软件部署到生产环境,确保其稳定运行,避免变动

DevOps最佳工具集实践

简单地说,DevOps是敏捷研发中持续构建(Continuous Build,CB)、持续集成(Continuous Integration,CI)、持续交付(Continuous Delivery,CD)的自然延伸,从研发周期向右扩展到部署、运维,不仅打通研发的“需求、开发与测试”各个环节,还打通“研发”与“运维”。DevOps 适合“软件即服务(SaaS)”或“平台即服务(PaaS)”这样的应用领域,其显著的特征就是:

覆盖了产品管理、项目管理、持续集成、自动部署、交付流水线、精益度量 6 个领域能力;

打通用户、PMO、需求、设计、开发(Dev)、测试、运维(Ops)等各上下游部门或不同角色;

打通业务、架构、代码、测试、部署、监控、安全、性能等各领域工具链;

有助于定义设计方法、开发方法、测试方法、安装方法、环境管理方法、配置管理方法、应用部署方法、反馈收集方法、代码改善方法和创新方法。

我们看到DevOps连接软件开发和运维,同时有效的减少了两个关键角色需求的冲突,搭建了双方协同的桥梁。DevOps不是一种方法学,也不是一种框架,而是一个打破封闭孤立,体现自动协同的原则。实施DevOps可以将其划分为如下的生命周期阶段:

DevOps最佳工具集实践

自动化是整个DevOps实现的核心,对应生命周期的每个阶段都可以选择开源工具框架或商业产品。

DevOps最佳工具集实践

DevOps最佳工具集实践

下面我们就展开DevOps的工具链:

DevOps最佳工具集实践

更完整的结构化描述: 

DevOps最佳工具集实践

DevOps常用工具集清单:

Operating Systems

Linux (RHEL, CentOS, Ubuntu,CoreOS)

Unix (Solaris, AIX, HP/UX, etc.)

Windows

Mac OS X

Infrastructure as a Service

Amazon Web Services

Azure

OpenStack

Aliyun

Virtualization Platforms

VMware

VirtualBox

Vagrant

Containerization Tools

Docker

Rocket

Kubernetes

Linux OS Installation

Kickstart

Cobbler

Stacki

Foreman

Configuration Management

Ansible

Puppet

Chef

Salstack

Compile and Build Systems

Gradle

Maven

Ant

Integration System

Jenkins

Hudson

Bamboo

Application Servers

JBoss

Tomcat

Jetty

Glassfish

Weblogic

Web Servers

Nginx

Apache

Queues, Caches

ActiveMQ

RabbitMQ

Memcache

Databases

Percona Server

MySQL

PostgreSQL

MongoDB

Cassandra

Redis

Oracle

MS SQL

Monitoring, Alerting, and Trending

Nagios

Graphite

Ganglia

Cacti

PagerDuty

Logging

PaperTrail

Logstash

Loggly

ELK

Splunk

Process Supervisors

Monit

Runit

Supervisor

God

Security

Snorby Threat Stack

Tripwire

Snort

Miscellaneous Tools

Multihost SSH Wrapper

Code Climate

DevOps最佳工具集实践


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

应用密码学:协议、算法与C源程序(原书第2版)

应用密码学:协议、算法与C源程序(原书第2版)

(美)Bruce Schneier / 吴世忠、祝世雄、张文政 等 / 机械工业出版社 / 2014-1 / 79.00

......我所读过的关于密码学最好的书......该书是美国国家安全局最不愿意见到出版的书...... —— 《Wired》 ......不朽的......令人着迷的......计算机程序员必读的密码学上决定性的著作...... —— 《Dr.Dobb's Journal》 ......该领域勿庸置疑的一本权威之作。 —— 《PC Magazine》 ..........一起来看看 《应用密码学:协议、算法与C源程序(原书第2版)》 这本书的介绍吧!

CSS 压缩/解压工具
CSS 压缩/解压工具

在线压缩/解压 CSS 代码

在线进制转换器
在线进制转换器

各进制数互转换器

URL 编码/解码
URL 编码/解码

URL 编码/解码