DevOps之一:DevOps概述

DevOps(Development和Operations的组合词),用于促进开发软件开发人员(Dev)、IT运维技术人员(Ops)、质量保障部门(QA)部门之间沟通、协作与整合的一组过程、方法与系统的统称。

一、概念

1、持续集成(Continuous Integration)
持续集成强调开发人员提交了新代码之后,立刻进行构建、(单元)测试。根据测试结果,我们可以确定新代码和原有代码能否正确地集成在一起。

2、持续交付(Continuous Delivery)
持续交付在持续集成的基础上,将集成后的代码部署到更贴近真实运行环境的「类生产环境」(production-like environments)中。比如,我们完成单元测试后,可以把代码部署到连接数据库的 Staging 环境中更多的测试。如果代码没有问题,可以继续手动部署到生产环境中。

3、持续部署(Continuous Deployment)
持续部署则是在持续交付的基础上,把部署到生产环境的过程自动化。

二、DevOps工具链

代码管理(SCM):GitHub、GitLab、BitBucket、SubVersion、CVS
代码质量检查:SonarQube
构建工具:Ant、Gradle、maven
镜像仓库:nexus
自动部署:Capistrano、CodeDeploy
持续集成(CI):Bamboo、Hudson、Jenkins
配置管理:Ansible、Chef、Puppet、SaltStack、ScriptRock GuardRail
容器:Docker、LXC、第三方厂商如AWS
编排:Kubernetes、Core、Apache Mesos、DC/OS
服务注册与发现:Zookeeper、etcd、Consul
脚本语言:python、ruby、shell
日志管理:ELK、Logentries
系统监控:Datadog、Graphite、Icinga、Nagios
性能监控:AppDynamics、New Relic、Splunk、grafana
压力测试:JMeter、Blaze Meter、loader.io
预警:PagerDuty、pingdom、厂商自带如AWS SNS
HTTP加速器:Varnish
消息总线:ActiveMQ、SQS
应用服务器:Tomcat、JBoss
Web服务器:Apache、Nginx、IIS
数据库:MySQL、Oracle、PostgreSQL等关系型数据库;cassandra、mongoDB、redis等NoSQL数据库
项目管理(PM):Jira、Asana、Taiga、Trello、Basecamp、Pivotal Tracker、禅道
在工具的选择上,需要结合公司业务需求和技术团队情况而定。

更多工具参考:51 Best DevOps Tools for #DevOps Engineers



原文地址:https://www.cnblogs.com/cac2020/p/9769539.html